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

## Bertini.BPMCSolve

Membership testing for a positive dimensional homogeneous or non-homogeneous polynomial system.

### Syntax

```Bertini.BPMCSolve(P:LIST, SysTyp:STRING , MPoints:LIST, ConfigSet:LIST):Output in ApCoCoAServer
```

### Description

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: You need to write (or generate by using the function Bertini.BPCSolve) the witness date file. Then save this file with the name "witness_data" in ApCoCoA directory/Bertini, Otherwise you will get an error message. It is highly recommended to read about membership testing before using this function. The best and comprehensive reference for this is chapter 15 of the book "The Numerical Solution of Systems of Polynomials" by A. J. Sommese and C. W. Wampler.

In numerical algebraic geometry an affine algebraic set Z is the solution set of some system of polynomials. By membership testing we mean the following: Given a witness superset W, for an affine algebraic set Z. Find the decomposition of W into a numerical irreducible decompositioin for Z.

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

• @param SysTyp: Type of polynomials in the system. Homogeneous ("hom") or non-homogeneous ("Nhom").

• @param MPoints: List of lists containig member points.

• @param ConfigSet: List of strings representing configurations to be used. Bertini uses multiple configuration settings. These configurations should be provided by the user. If you want to use default configurations then set ConfigSet := ["TRACKTYPE: 3"]. If you want to provide specific configurations then simply add them to ConfigSet. For details about configuration settings see Bertini manual http://www.nd.edu/~sommese/bertini/BertiniUsersManual.pdf.

#### Example

```-- An example of Membership testing using default configurations.
-- We want to test membership for the points [ [ [1.0, 0.0], [0.0, 0.0], [0.0, 0.0 ]  ], [ [1.3650269, -0.31430820],
-- [1.7645087, -0.85807828], [2.1389007, -1.7258994] ] ], where the polynomial system is
--  x^2+y^2+z^2-1=0, x^3+y^2+z^3-1=0, (y-x^2)*(z-x^3)(z-5)=0.

Use S ::= QQ[x,y,z];
P := [x^2+y^2+z^2-1,x^3+y^2+z^3-1,(y-x^2)*(z-x^3)(z-5)];
SysTyp := <quotes>Nhom</quotes>;
MPoints :=[ [ [<quotes>1.0</quotes>, <quotes>0.0</quotes>], [<quotes>0.0</quotes>, <quotes>0.0</quotes>], [<quotes>0.0</quotes>, <quotes>0.0</quotes> ] ],  [ [<quotes>1.3650269</quotes>, <quotes>-0.31430820</quotes>],
[<quotes>1.7645087</quotes>, <quotes>-0.85807828</quotes>], [<quotes>2.1389007</quotes>, <quotes>-1.7258994</quotes>] ] ];
ConfigSet := [<quotes>TRACKTYPE: 3</quotes>];
-- Save the file named witness_data in ApCoCoA directory/Bertini. In this example we can use the following file.

4
3
1
2
52
5.565526640875543e-01 3.486877417858003e-01
3.500659632917004e-01 -6.132734154671150e-01
-5.721270410075433e-01 2.012168578122028e-03
6.863472388783394e-01 5.972202311132409e-01
52
5.565526640873006e-01 3.486877417858785e-01
3.500659632926851e-01 -6.132734154660159e-01
-5.721270410085784e-01 2.012168576850362e-03
6.863472388783461e-01 5.972202311130588e-01
1.000000000000000e+00
0
3.319220103162024e-03
0.000000000000000e+00
10
1
0
0
52
5.036510877340633e-01 1.454616573815811e-01
-5.531197782767149e-01 1.264217225328824e-01
4.692782265207243e-01 -7.716455726951312e-01
8.298040333939428e-01 6.089446696116878e-01
52
5.036510877340730e-01 1.454616573815189e-01
-5.531197782770511e-01 1.264217225329790e-01
4.692782265211026e-01 -7.716455726952207e-01
8.298040333939808e-01 6.089446696117080e-01
1.000000000000000e+00
0
1.494343809475570e-03
0.000000000000000e+00
10
1
0
0
2
6
52
1.777791036661873e+00 -5.879389926987107e-01
8.371810169339621e-01 -5.381722763592328e-01
3.596166136115721e-01 -3.879323179323894e-01
1.337065929459078e-01 -2.473259991477609e-01
52
1.777791036661789e+00 -5.879389926985648e-01
8.371810169340158e-01 -5.381722763590965e-01
3.596166136114090e-01 -3.879323179324481e-01
1.337065929459972e-01 -2.473259991477353e-01
9.239465819894503e+00
0
2.311369308586180e-02
0.000000000000000e+00
10
1
3
0
52
2.801078874321721e-01 5.815307461738819e-01
3.602184484724343e-01 -6.856646564513529e-01
-9.183171422752723e-01 1.429861040336559e-01
7.942652024873893e-01 7.828205287876466e-01
52
2.801078874345398e-01 5.815307461783135e-01
3.602184484733199e-01 -6.856646564552420e-01
-9.183171422767007e-01 1.429861040419545e-01
7.942652024894031e-01 7.828205287870957e-01
9.903193701737050e+01
0
6.113734060564361e-04
0.000000000000000e+00
10
1
3
0
52
7.794026532326790e-01 6.438486770366723e-01
-5.511209013756149e-01 -4.552697655906182e-01
3.897013266163394e-01 3.219243385183361e-01
1.054343379801123e+00 5.809168127219385e-01
52
7.794026532326920e-01 6.438486770366824e-01
-5.511209013756679e-01 -4.552697655905938e-01
3.897013266164013e-01 3.219243385183344e-01
1.054343379801143e+00 5.809168127219345e-01
4.374295962959485e+00
0
2.286082168348384e-01
0.000000000000000e+00
10
1
0
0
52
2.480644358066108e-01 2.812814217076330e-01
-5.317945942111184e-01 1.336818293531960e-01
1.829122341866813e-01 -7.805728420468510e-01
8.915030044886882e-01 7.610652719830333e-01
52
2.480644358050654e-01 2.812814217073318e-01
-5.317945942103757e-01 1.336818293522557e-01
1.829122341846779e-01 -7.805728420469515e-01
8.915030044881618e-01 7.610652719839810e-01
6.015239676438355e+02
0
5.166904527784629e-05
0.000000000000000e+00
10
1
3
0
52
1.429155740109253e+00 -5.743679627312509e-01
7.145778700546264e-01 -2.871839813656256e-01
2.279525891501262e-01 -7.528357666690323e-01
1.786444675136565e-01 -7.179599534140634e-02
52
1.429155740109399e+00 -5.743679627313251e-01
7.145778700546536e-01 -2.871839813657727e-01
2.279525891502284e-01 -7.528357666688903e-01
1.786444675135966e-01 -7.179599534147321e-02
1.651321081771953e+01
0
8.707915499833527e-03
0.000000000000000e+00
10
1
1
0
52
7.185714193516700e-01 -2.226007471289887e+00
5.081067233904082e-01 -1.574024977920998e+00
3.592857096758350e-01 -1.113003735644943e+00
-9.638142491390969e-01 5.075337374339561e-01
52
7.185714193515241e-01 -2.226007471290154e+00
5.081067233903571e-01 -1.574024977921150e+00
3.592857096758574e-01 -1.113003735645067e+00
-9.638142491392726e-01 5.075337374340601e-01
3.841442764800970e+01
0
2.603188596646477e-02
0.000000000000000e+00
10
1
2
0
3
1
52
1.299580404330397e+00 -6.044565403080021e-01
6.497902021651987e-01 -3.022282701540011e-01
6.497902021651987e-01 -3.022282701540011e-01
6.497902021651987e-01 -3.022282701540011e-01
52
1.299580404330128e+00 -6.044565403085679e-01
6.497902021653607e-01 -3.022282701541981e-01
6.497902021650848e-01 -3.022282701542752e-01
6.497902021649185e-01 -3.022282701538901e-01
6.896280458897404e+00
0
4.394857579432204e-03
0.000000000000000e+00
10
1
0
0
-1

2
1 2
108723397967774785/1152921504606846976 -1276921637840786251/73786976294838206464
-1830867849111980429/36893488147419103232 -4584732275555858575/4611686018427387904

2
3
4
1 0
0 0
0 0
0 0

0 0
2 4
367776963113838806789/20000000000000000 8578223665279742151/100000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000

4
4028259749117460225/18446744073709551616 -4330798452886879565/36893488147419103232
11914445949293424397/73786976294838206464 10011862545781538653/18446744073709551616
2033170931026697119/18446744073709551616 4595823280080588459/9223372036854775808
10271323522064441169/18446744073709551616 -16068244986954793375/73786976294838206464

2 1
-5527276071396270107/73786976294838206464 6119401794520521373/18446744073709551616
5101220359790769903/36893488147419103232 -8579339317661386167/9223372036854775808

3
1
4
1 0
0 0
0 0
0 0

0 0
1 4
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000
-3156090912479527573/100000000000000000 4338464515047412657/2000000000000000000000

4
4028259749117460225/18446744073709551616 -4330798452886879565/36893488147419103232
11914445949293424397/73786976294838206464 10011862545781538653/18446744073709551616
2033170931026697119/18446744073709551616 4595823280080588459/9223372036854775808
10271323522064441169/18446744073709551616 -16068244986954793375/73786976294838206464

3 0

4
1 0
0 0
0 0
0 0

0 0
0 4

4
4028259749117460225/18446744073709551616 -4330798452886879565/36893488147419103232
11914445949293424397/73786976294838206464 10011862545781538653/18446744073709551616
2033170931026697119/18446744073709551616 4595823280080588459/9223372036854775808
10271323522064441169/18446744073709551616 -16068244986954793375/73786976294838206464

-- Then we test sampling with
Bertini.BPMCSolve(P,SysTyp,MPoints,ConfigSet);

-- And we can see the related information in ApCoCoAServer. Please note that
-- you will get only the following message in ApCoCoA GUI.
----------------------------------------

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