# ApCoCoA-1:BB.BBasis

## BB.BBasis

Computes the border basis of a zero-dimensional ideal.

### Syntax

```BB.BBasis(I:IDEAL):LIST of POLY
BB.BBasis(I:IDEAL, Method:STRING):LIST of POLY
```

### 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 sigma be a degree compatible term ordering. The function BBasis calls the ApCoCoAServer to compute the O_sigma(I)-border basis of the zero-dimensional input ideal I and returns it as a list of polynomials.

You may specify a method parameter which indicates which variation of the Border Basis Algorithm should be used for the computation of the border basis. Possible method values are StandardBBA, MatrixBBA (polynomial reduction via transformation to matrices and row echelon form computation), and HeuristicBBA (uses a heuristic strategy for the computing universe enlargements). The default method is StandardBBA.

The return value will be the computed border basis.

• @param I A zero-dimensional ideal of which to compute a border basis.

• @return A list of border basis polynomials.

The following parameter is optional.

• @param Method A string that specifies which variation of the Border Basis Algorithm to use. Possible method values are "StandardBBA" (default), "MatrixBBA", and "HeuristicBBA".

#### Example

```Use QQ[x, y], DegLex;
I := Ideal([x^2, xy + y^2]);
BB := BB.BBasis(I);
BB;

-------------------------------
[xy + y^2, x^2, y^3, xy^2]
-------------------------------
```

#### Example

```Use QQ[x, y, z];
I := Ideal([x^2, y^2, z^2]);
BB := BB.BBasis(I, "MatrixBBA");
BB;

-------------------------------
[z^2, y^2, x^2, yz^2, xz^2, y^2z, x^2z, xy^2, x^2y, xyz^2, xy^2z, x^2yz]
-------------------------------
```