# ApCoCoA-1:Bertini.BPCSolve

## Bertini.BPCSolve

Solves, by finding witness point supersets, a positive dimensional homogeneous or non-homogeneous polynomial systems with user defined configurations. You can also use this function for sampling.

### Syntax

```Bertini.BPCSolve(M:LIST, SysTyp:STRING ,  ConfigSet: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.

Please note: For sampling you need to write (or generate by a positive dimensional run) the witness data file and save it with the name "witness_data" in Bertini directory (.../ApCoCoA-1.2/Bertini/), Otherwise you will get an error message.

• @param M: List of polynomials in the system.

• @param SysTyp: Type of polynomials in the system. Homogeneous (hom) or nonhomogeneous (Nhom).

• @param ConfigSet: List of strings representing Configurations to be used by Bertini. For details about configuration settings see Bertini manual http://www.nd.edu/~sommese/bertini/BertiniUsersManual.pdf.

• @return A list of lists containing witness point supersets.

#### Example

```-- Homogenous positive dimensional solving with User Configurations.
-- We want to solve positive dimensional homogenous system x^2-wy=0, x^3-zw^2=0, for fixed higher precision.

Use S ::= QQ[x,y,z,w];             --  Define appropriate ring
M := [x^2-wy, x^3-zw^2];
SysTyp := <quotes>hom</quotes>;
ConfigSet := [<quotes>TRACKTYPE: 1</quotes>, <quotes>MPTYPE: 1</quotes>, <quotes>PRECISION: 128</quotes>];

-- Then we compute the solution with
\$Bertini.BPCSolve(M,SysTyp,ConfigSet);

-- And we achieve a list of lists containing witness point supersets:
----------------------------------------
[[Vector(-3789467495454911613823851164626681463651/10000000000000000000000000000000000000000,
1200734725407166211921788902942849185503/1000000000000000000000000000000000000000),
Vector(-246001393466366309986866914393676541221/125000000000000000000000000000000000000,
-279722792064708736248520972068122497257/500000000000000000000000000000000000000),
Vector(4083988954899604873030242779673433634501/5000000000000000000000000000000000000000,
-1611351492565067582850937617799756261201/500000000000000000000000000000000000000),
Vector(7319342772891341731507480575523588267957/10000000000000000000000000000000000000000,
19870617690036348352514491511362841819/78125000000000000000000000000000000000)],
[Vector(3048866987455758258878751406208402973051/10000000000000000000000000000000000000000,
-2898035102105205140344370335032912017083/5000000000000000000000000000000000000000),
Vector(-5539460172405722710678127397246600460333/10000000000000000000000000000000000000000,
626442207647239461619975960511872586713/5000000000000000000000000000000000000000),
Vector(986380263365471019267174885767305829617/2500000000000000000000000000000000000000,
736987741407866469670001545005869554379/2500000000000000000000000000000000000000),
Vector(1400107689781321399920833229898425820819/5000000000000000000000000000000000000000,
2191732091470400698700321524968735909/3125000000000000000000000000000000000)],
[Vector(354996962262331142136973979259558150991/400000000000000000000000000000000000000,
1816598489416934847206968307485748462499/1000000000000000000000000000000000000000),
Vector(1967511413109990263685197237623604100867/1000000000000000000000000000000000000000,
1727412577136936817572423873769337954923/1000000000000000000000000000000000000000),
Vector(803360350133974614907008034061208613233/250000000000000000000000000000000000000,
1081558694105850161535777129438751374871/1000000000000000000000000000000000000000),
Vector(9143301947447558293770285751969676840889/100000000000000000000000000000000000000000,
155856385824660750993297595625859090071/100000000000000000000000000000000000000)],
[Vector(-825065032224960020386592540685453030181/50000000000000000000000000000000000000000000000000000000000000000000000000,
-870815934189224420445215323683468742119/50000000000000000000000000000000000000000000000000000000000000000000000000),
Vector(-2670487187708557160891411850766573823343/1000000000000000000000000000000000000000,
2412331000084757896737353053811227631099/2500000000000000000000000000000000000000),
Vector(-2260897026243730139776564722393608088003/1000000000000000000000000000000000000000,
-5881973549623185468407939053314195499303/10000000000000000000000000000000000000000),
Vector(-6276316819449156764984023481918376370437/1000000000000000000000000000000000000000000000000000000000000000000000000000,
-457717591175786069863350181676761297761/25000000000000000000000000000000000000000000000000000000000000000000000000)]]

--For other Bertini output files please refer to Bertini directory (.../ApCoCoA-1.2/Bertini/).
```

#### Example

```-- Sampling example
-- We want to solve positive dimensional homogenous system (y-x^2)*(x^2+y^2+z^2-1)*(x-5), (z-x^3)*(x^2+y^2+z^2-1)*(y-5),
-- (y-x^2)*(z-x^3)*(x^2+y^2+z^2-1)*(z-5).

Use S ::= QQ[x,y,z];             --  Define appropriate ring
M := [(y-x^2)*(x^2+y^2+z^2-1)*(x-5), (z-x^3)*(x^2+y^2+z^2-1)*(y-5),(y-x^2)*(z-x^3)*(x^2+y^2+z^2-1)*(z-5)];
SysTyp := <quotes>Nhom</quotes>;
ConfigSet := [<quotes>TRACKTYPE: 2</quotes>];
-- Save the file witness_data in Bertini directory (.../ApCoCoA-1.2/Bertini/).

-- Then we compute the solution with
\$Bertini.BPCSolve(M,SysTyp,ConfigSet);

--For other Bertini output files please refer to Bertini directory (.../ApCoCoA-1.2/Bertini/).
```