# Difference between revisions of "ApCoCoA-1:CharP.IMBBasisF2"

Line 1: | Line 1: | ||

<command> | <command> | ||

<title>CharP.IMBBasis</title> | <title>CharP.IMBBasis</title> | ||

− | <short_description> | + | <short_description>Computes a Border Basis of a given ideal over <tt>F_2</tt>. </short_description> |

<syntax> | <syntax> | ||

CharP.IMBBasisF2(F:LIST):LIST | CharP.IMBBasisF2(F:LIST):LIST | ||

Line 116: | Line 116: | ||

</types> | </types> | ||

− | <key>charP. | + | <key>charP.imbbasisf2</key> |

− | <key> | + | <key>imbbasisf2</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:03, 3 May 2011

## CharP.IMBBasis

Computes a Border Basis of a given ideal over `F_2`.

### Syntax

CharP.IMBBasisF2(F:LIST):LIST CharP.IMBBasisF2(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 improved 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.IMBBasisF2(F); The size of Matrix is: No. of Rows=4 No. of Columns=11 The size of Matrix is: No. of Rows=4 No. of Columns=11 Total No. of Mutants are = 0 The size of Matrix is: No. of Rows=12 No. of Columns=15 Total No. of Mutants are = 2 The No. of Mutants of Minimum degree (Mutants used) are = 1 The size of Matrix is: No. of Rows=14 No. of Columns=15 Total No. of Mutants are = 2 The No. of Mutants of Minimum degree (Mutants used) are = 1 The size of Matrix is: No. of Rows=16 No. of Columns=15 Total No. of Mutants are = 2 The No. of Mutants of Minimum degree (Mutants used) are = 1 The size of Matrix is: No. of Rows=17 No. of Columns=15 Total No. of Mutants are = 1 The No. of Mutants of Minimum degree (Mutants used) are = 1 The size of Matrix is: No. of Rows=17 No. of Columns=15 Total No. of Mutants are = 2 The No. of Mutants of Minimum degree (Mutants used) are = 2 The size of Matrix is: No. of Rows=18 No. of Columns=15 Total No. of Mutants are = 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.IMBBasisF2(F,NSol); The size of Matrix is: No. of Rows=4 No. of Columns=9 The size of Matrix is: No. of Rows=7 No. of Columns=14 Total No. of Mutants are = 0 The size of Matrix is: No. of Rows=14 No. of Columns=14 The size of Matrix is: No. of Rows=11 No. of Columns=14 [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

Introduction to Groebner Basis in CoCoA