Difference between revisions of "ApCoCoA-1:CharP.MBBasisF2"

From ApCoCoAWiki
Line 1: Line 1:
 
<command>
 
<command>
 
     <title>CharP.MBBasis</title>
 
     <title>CharP.MBBasis</title>
     <short_description>Computing a Border Basis of a given ideal over <tt>F_2</tt>. </short_description>
+
     <short_description>Computes a Border Basis of a given ideal over <tt>F_2</tt>. </short_description>
 
<syntax>
 
<syntax>
 
CharP.MBBasisF2(F:LIST):LIST
 
CharP.MBBasisF2(F:LIST):LIST
Line 96: Line 96:
 
     </types>
 
     </types>
  
     <key>charP.mxlsolve</key>
+
     <key>charP.mbbasisf2</key>
     <key>mxlsolve</key>
+
     <key>mbbasisf2</key>
 
     <key>finite field</key>
 
     <key>finite field</key>
 
     <wiki-category>Package_charP</wiki-category>
 
     <wiki-category>Package_charP</wiki-category>
 
   </command>
 
   </command>

Revision as of 14:04, 3 May 2011

CharP.MBBasis

Computes a Border Basis of a given ideal over F_2.

Syntax

CharP.MBBasisF2(F:LIST):LIST
CharP.MBBasisF2(F:LIST, NSol: INT):LIST

Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

Let f_1, ... , f_m is a set of polynomials which generate a zero-dimensional ideal. This function computes a Border Basis of the zero-dimensional radical ideal generated by f_1, ... , f_m and the field polynomials. Furthermore, it uses mutant strategy to compute a U-stable span. If you want to use the second version with the parameter NSol, you need to provide the exact number of F_2 rational solutions. The first version is safe to use if you do not know the exact number of F_2 rational solutions.

  • @param F: List of polynomials.

  • @param NSol: Number of F_2 rational solutions.

  • @return A Border Basis of the zero-dimensional radical ideal generated by the polynomials in F and the field polynomials.

Example

Use Z/(2)[x[1..4]];
F:=[
    x[1]x[2] + x[2]x[3] + x[2]x[4] + x[3]x[4] + x[1] + x[3] + 1, 
    x[1]x[2] + x[1]x[3] + x[1]x[4] + x[3]x[4] + x[2] + x[3] + 1, 
    x[1]x[2] + x[1]x[3] + x[2]x[3] + x[3]x[4] + x[1] + x[4] + 1, 
    x[1]x[3] + x[2]x[3] + x[1]x[4] + x[2]x[4] + 1
    ];

-- Then we compute a Border Basis with
CharP.MBBasisF2(F);

    The size of Matrix is:
    	No. of Rows=4
    	No. of Columns=11
    The size of Matrix is:
    	No. of Rows=8
    	No. of Columns=11
    No. of mutants found =1
    The size of Matrix is:
    	No. of Rows=11
    	No. of Columns=11
    No. of mutants found =2
    The size of Matrix is:
    	No. of Rows=16
    	No. of Columns=11
    No. of mutants found =0
    The size of Matrix is:
    	No. of Rows=31
    	No. of Columns=15
    No. of mutants found =0

[x[4] + 1, x[3], x[2] + 1, x[1]]


Example

Use Z/(2)[x[1..4]];
F:=[ 
    x[2]x[3] + x[1]x[4] + x[2]x[4] + x[3]x[4] + x[1] + x[2] + x[3] + x[4], 
    x[2]x[3] + x[2]x[4] + x[3]x[4] + x[2] + x[3] + x[4],  
    x[1]x[2] + x[2]x[3] + x[2]x[4] + x[3]x[4] + x[1] + x[2],  
    x[1]x[2] + x[2]x[3] + x[2]x[4] + x[3]x[4] + x[1] + x[2]
   ];

NSol:=3;

-- Solution is not unique i.e. [0, 1, 1, 1], [0, 0, 0, 0], and [1, 1, 1, 1] are solutions 
-- Compute the solution with
CharP.MBBasisF2(F,NSol);

    The size of Matrix is:
    	No. of Rows=4
    	No. of Columns=9
    The size of Matrix is:
    	No. of Rows=14
    	No. of Columns=14
    The size of Matrix is:
    	No. of Rows=16
    	No. of Columns=15
[x[3]x[4] + x[4], x[1]x[4] + x[1], x[1]x[3] + x[1], x[1]x[2] + x[1], x[2]x[3]x[4] + x[4], x[1]x[2]x[4] + x[1]]


See also

CharP.MXLSolve

Introduction to CoCoAServer

Introduction to Groebner Basis in CoCoA

CharP.IMNLASolve

CharP.IMBBasisF2