# 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

Due to a Bug in Bertini.exe. Use of this function for doing sampling is not working at the moment. Sorry for inconvienience.

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/). In this exammple 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
367776963113838806789913639863469689666042004127890534331358050252873830198700721279622283995863430094586655501377125891678423453713159633392548160412666303543667272720012599330741068052835630832318376272145335745828387245671321317662470126913099291895835237599541835118691587795246832609469988435966065823807/2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 8578223665279742151361326368737964495481429885586733024952523250507105187175894649324772791527003398365625871945104514440679612642850795365862236601526403173846528578586927290181070233850565729774046736536839760601622799253770939136557801714923450537444840128828859082493612928968990829922403151759543542841631/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-3156090912479527573433846451504741265774063009481626835976509507499919331219172891113599520932451858424503293718934145657064496226401735535691987388793301590328470941623323080057386341744088172460615206050855653156656039358382766998516622578249947727963493789480861109232194828460603903906699125238116205838771/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1709003981313269302724946336419436930546854657442026928361092833620072614569462559019662439974369382957518127167566647576281687847964045248591623146658555086387755012716471503681381929303562788181425725658601257036763422588157233124659445875644453060129906897994669961932022154002832755518523686761612477741541/2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-6343437849349034487128137735612386802238803477586308359255598721105271668297992937683347311395424696206272754161245635824027081115041548461332705902835364680964724592166415760442695636102659855218333907934844401325905767636183527358286344240683329481015782557969386409179089801264507001695918598996214914241383/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 7097898382882505909009456911140379569538132215548215168276166037207613316070547272526870043258900179177953078558345446416960141357312860397696505274984267593080825300449228570730092152122804573743184426299659275627342669179207304214674711506711985058323046530875891937432605239700643944340768074605397355895121/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-1062195817457063452707732357280174376843150236396451063668059379723929356787936675665810640802285629355228260344934211432102987624776726231486768094296195257483372044860833733691630089410682990992119340172285861647214975258549262650688728923349242144827461504022254005796848081108547671355642966644299478152699/1250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -1843816928966250298691231806449063721489661950000665871688675108797885339357784743191727848399462585055816749926154950566730709805841923685960045755443529021548524536586734134436672576373552654360565027906290886554877014615274852703303463411399113699627385283090287139894557149079096976621079812085546834359533/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-968243920182752810821779675191937154181031805553599430760410790893393893116405891108811023162549190408504578231574853416140063932385133202033817346803324682775169132309096484271235910471095711063763245650830821405478244198574325425961287208139587864887965330899175198233062394106659663769049862725252463065901/1250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 7311448006747174192903870686080986201603570634181979069042325989088674754451674166686186153777478629857231244380836956378319003348458183094017826098813908997856092067894677751943051826703606646559539104827622717887029715132051365308596372917022150210107188206428051608136372281535503688906342433904643616771527/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
8225965631495818775625604910822632178889629607931467802581947799486865970077010226487396195763221013502040298686845864405840403610330101152920253551663127354153216776446447748535275609487417477159902638344038748257483232527836356100084543225641891923114013960712341497180676457438814924630583696883652159074123/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3369921357675189344659646312345926612831407625020030534484287891380530023226836051480703461860785294504499598322039429175881460045201833218572483567855581868080227490775833842860583254529488427317780230576466793391749753981469292188739508381453460825704097837801518452437000083304745293511930362039084834252987/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
232158692234705969863178349878869682130097388119397993217736923628997951975127650576848741299303066381313770472863711521697556590041124146015026603229420094379251542050700685149623499395448194216802106837909073870817470276368718598169434915709791002548321938990226020383110420489172597636258771807152227750831/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 6742049621581060768570795102301818619945013198716810315965896562741644361965513342766635573935906290152161192613320474655417191722140631496601150426730928936630576344967792336799127815998977632465648952394503041555709418492943678226159880699988137439074449732543485377608361369797698590336128974559591038586627/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
7921378104275272870884228085501960605190566842222830914021073489806145133437726580507316027770895262159309477282025747538029253421216755381610040358657703607571289229427837402727465072761288976988752291301784480709516089189769951524046692059540321875602293662280512977357138717130028926249453565862522286450963/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 2621186393629176256455025002725546705748359086252815266486799636524328387484388619941196114168224017572862907686667931374973233203031063734677994150031175572107866633678109080187097699259059101709171768835463138982419283161487734312114108898803653521684084808234702174440049286517767880932623388068448805148713/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

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
-968243920182752810821779675191937154181031805553599430760410790893393893116405891108811023162549190408504578231574853416140063932385133202033817346803324682775169132309096484271235910471095711063763245650830821405478244198574325425961287208139587864887965330899175198233062394106659663769049862725252463065901/1250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 7311448006747174192903870686080986201603570634181979069042325989088674754451674166686186153777478629857231244380836956378319003348458183094017826098813908997856092067894677751943051826703606646559539104827622717887029715132051365308596372917022150210107188206428051608136372281535503688906342433904643616771527/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
8225965631495818775625604910822632178889629607931467802581947799486865970077010226487396195763221013502040298686845864405840403610330101152920253551663127354153216776446447748535275609487417477159902638344038748257483232527836356100084543225641891923114013960712341497180676457438814924630583696883652159074123/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 3369921357675189344659646312345926612831407625020030534484287891380530023226836051480703461860785294504499598322039429175881460045201833218572483567855581868080227490775833842860583254529488427317780230576466793391749753981469292188739508381453460825704097837801518452437000083304745293511930362039084834252987/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
232158692234705969863178349878869682130097388119397993217736923628997951975127650576848741299303066381313770472863711521697556590041124146015026603229420094379251542050700685149623499395448194216802106837909073870817470276368718598169434915709791002548321938990226020383110420489172597636258771807152227750831/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 6742049621581060768570795102301818619945013198716810315965896562741644361965513342766635573935906290152161192613320474655417191722140631496601150426730928936630576344967792336799127815998977632465648952394503041555709418492943678226159880699988137439074449732543485377608361369797698590336128974559591038586627/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
7921378104275272870884228085501960605190566842222830914021073489806145133437726580507316027770895262159309477282025747538029253421216755381610040358657703607571289229427837402727465072761288976988752291301784480709516089189769951524046692059540321875602293662280512977357138717130028926249453565862522286450963/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 2621186393629176256455025002725546705748359086252815266486799636524328387484388619941196114168224017572862907686667931374973233203031063734677994150031175572107866633678109080187097699259059101709171768835463138982419283161487734312114108898803653521684084808234702174440049286517767880932623388068448805148713/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

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 compute the solution with
\$Bertini.BPCSolve(M,SysTyp,ConfigSet);

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