# Difference between revisions of "ApCoCoA-1:Bertini.BMSolve"

## Bertini.BMSolve

Solves a zero dimensional non-homogeneous polynomial system using multi-homogenization and default configurations.

### Syntax

```Bertini.BMSolve(P:LIST):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.

This function solves a polynomial system of equations using multihomogeneous homotopy. The polynomial system of equations must be quadratic. If the system has N variables then multihomogeneous homotopy will introduce N homogeneous variables to solve the system. It uses total degree homotopy to find all isolated solutions and default configurations provided by Bertini. The system of polynomials should be non-homogeneous. The output will be the list of all finite solutions.

• @param P: List of polynomials of the given system.

• @return A list of lists containing the finite solutions of the polynomial system P.

#### Example

```-- We want to solve the non-homogenous polynomial system x[1]^2+x[2]^2-5=0, x[1]x[2]-2=0, using multi-homogenization.

Use S ::= QQ[x[1..2]];
P := [x[1]^2+x[2]^2-5, x[1]x[2]-2];

-- Then we compute the solution with
Bertini.BMSolve(P);

-- And we achieve a list of lists containing finite solutions.
----------------------------------------
[
[
Vector(1000000000000001/1000000000000000, -2305082859180703/100000000000000000000000000000),
Vector(1999999999999971/1000000000000000, 4135565953005217/100000000000000000000000000000)
],
[
Vector(1000000000000003/500000000000000, 2604577577014449/50000000000000000000000000000),
Vector(500000000000001/500000000000000, -619892334722183/25000000000000000000000000000)
],
[
Vector(-2, 1724810333092189/1000000000000000000000000000000),
Vector(-500000000000001/500000000000000, -355984244774691/200000000000000000000000000000)
],
[
Vector(-9999999999999971/10000000000000000, -4053926086793577/1000000000000000000000000000000),
Vector(-1999999999999999/1000000000000000, -3669041992638223/5000000000000000000000000000000)
]
]

--For Bertini output files refer to ApCoCoA directory/Bertini.
------------------------------------------
```

#### Example

```-- We want to solve the non-homogenous polynomial system (29/16)z[1]^3 - 2z[1]z[2], z[2] - z[1]^2, using multi-homogenization.

Use S ::= QQ[z[1..2]];
P := [(29/16)z[1]^3 - 2z[1]z[2], z[2] - z[1]^2];

-- Then we compute the solution with
Bertini.BMSolve(P);

-- And we achieve a list of lists containing finite solutions.
----------------------------------------
[
[
Vector(-1754775022937541/1000000000000000000000000000, -6761671559595563/10000000000000000000000000000),
Vector(947843957587963/25000000000000000000000000000, 623113227620389/5000000000000000000000000000)
],
[
Vector(-85573832182963743719/50000000000000000000000000000000, -89829012439528360233/250000000000000000000000000000000),
Vector(-230164951873451072943/2500000000000000000000000000000000, 298328875801698252183/10000000000000000000000000000000000)
],
[
Vector(-1479267029218781/1000000000000000000000000000, -5565180110034249/10000000000000000000000000000),
Vector(-4881416330105221/50000000000000000000000000000, 856957743028027/5000000000000000000000000000)
]
]

--For Bertini output files refer to ApCoCoA directory/Bertini.
------------------------------------------
```