Difference between revisions of "ApCoCoA-1:Bertini.BPCSolve"

From ApCoCoAWiki
Line 7: Line 7:
 
<description>
 
<description>
 
<em>Please note:</em>  
 
<em>Please note:</em>  
Due to a Bug in Bertini.exe. This membership testing is not working at the moment. Sorry for inconvienience.
+
Due to a Bug in Bertini.exe. Use of this function for doing sampling is not working at the moment. Sorry for inconvienience.
  
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.  
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.  

Revision as of 08:42, 13 July 2009

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:

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
-1.166785212950430e+00 1.521789971835142e-01
-1.616047890597813e+00 1.058268838764849e-01
-5.961030659888400e-01 6.609460744279395e-01
3.402820445975955e-01 1.138623375499443e+00
52
-1.166785212944050e+00 1.521789971872898e-01
-1.616047890591587e+00 1.058268838859361e-01
-5.961030659786296e-01 6.609460744240216e-01
3.402820446021391e-01 1.138623375496336e+00
5.764108382960922e+03
0
1.734873693485822e-04
0.000000000000000e+00
10
1
0
52
-2.422854345162644e-01 -1.189872674924210e-01
-6.745869645545158e-01 4.545110360915127e-01
-6.872956163015966e-01 -6.172579436315559e-01
-1.569926571552054e-01 5.656479633802807e-01
52
-2.422854345172500e-01 -1.189872674937000e-01
-6.745869645535314e-01 4.545110360909158e-01
-6.872956163019345e-01 -6.172579436303723e-01
-1.569926571547650e-01 5.656479633810877e-01
1.561095057524474e+05
0
6.405759823400904e-06
0.000000000000000e+00
10
1
0
2
6
52
-7.038373231068352e-01 -2.162403904228003e-01
-4.976881440210303e-01 -1.529050464343886e-01
-3.519186615534176e-01 -1.081201952114001e-01
5.627895823455601e-01 8.041159177275276e-01
52
-7.038373231065269e-01 -2.162403904229307e-01
-4.976881440201402e-01 -1.529050464337667e-01
-3.519186615528762e-01 -1.081201952108912e-01
5.627895823462294e-01 8.041159177281618e-01
4.075142019924497e+02
0
2.453902207851219e-03
0.000000000000000e+00
10
1
0
52
1.898610234488268e-03 -4.421408852386620e-01
9.493051172441339e-04 -2.210704426193310e-01
-5.673332706884610e-01 -1.493349283113407e+00
2.373262793110350e-04 -5.526761065483275e-02
52
1.898610251798937e-03 -4.421408852387619e-01
9.493051304679831e-04 -2.210704426222535e-01
-5.673332706830064e-01 -1.493349283123950e+00
2.373262902925282e-04 -5.526761065449492e-02
3.066398663477320e+05
0
3.261154565160135e-06
0.000000000000000e+00
10
1
1
52
-6.229761033007827e-01 1.684523738679329e-02
-4.093008530287287e-01 -6.343477292447345e-01
3.992596856489433e-01 -8.227482667376285e-01
1.102900748495981e+00 -1.041829167553521e-01
52
-6.229761033006948e-01 1.684523738675710e-02
-4.093008530286687e-01 -6.343477292447014e-01
3.992596856489427e-01 -8.227482667376440e-01
1.102900748496019e+00 -1.041829167553287e-01
5.398183516037490e+02
0
1.852474998356568e-03
0.000000000000000e+00
10
1
3
52
-1.210461314997017e-01 -3.029584497165400e-01
1.783329221395743e-01 4.132877364865193e-01
-2.614892499199324e-01 -5.632996349913678e-01
3.818161428538239e-01 7.670690694284454e-01
52
-1.210461315029504e-01 -3.029584497152346e-01
1.783329221414592e-01 4.132877364863901e-01
-2.614892499195960e-01 -5.632996349922157e-01
3.818161428506615e-01 7.670690694281941e-01
1.246778576804046e+04
0
8.020670378884510e-05
0.000000000000000e+00
10
1
3
52
-3.488298126628631e-01 -3.555966140542573e-01
2.466599260139435e-01 2.514447771647409e-01
-1.744149063314315e-01 -1.777983070271286e-01
6.675888411742337e-01 1.040403031139058e+00
52
-3.488298126620772e-01 -3.555966140539323e-01
2.466599260128961e-01 2.514447771647634e-01
-1.744149063304533e-01 -1.777983070276539e-01
6.675888411754393e-01 1.040403031137790e+00
7.460719265569734e+02
0
1.340353341821709e-03
0.000000000000000e+00
10
1
2
52
-1.246393339637452e+00 3.759487591629001e-02
-1.280605664944876e+00 8.733576046642775e-01
-7.572318527678505e-01 1.771820567662229e+00
3.922399057550089e-01 2.362884789456477e+00
52
-1.246393339644282e+00 3.759487589431224e-02
-1.280605664952683e+00 8.733576046530384e-01
-7.572318527736278e-01 1.771820567660859e+00
3.922399057593087e-01 2.362884789437572e+00
1.983696430855635e+06
0
8.849647529365448e-07
0.000000000000000e+00
10
1
3
3
1
52
-2.376008243350482e+00 -8.540549413998020e-01
-1.188004121675241e+00 -4.270274706999010e-01
-1.188004121675241e+00 -4.270274706999010e-01
-1.188004121675241e+00 -4.270274706999010e-01
52
-2.376008243349693e+00 -8.540549413986449e-01
-1.188004121675527e+00 -4.270274706993148e-01
-1.188004121674908e+00 -4.270274706996682e-01
-1.188004121674938e+00 -4.270274706990106e-01
7.992947434695146e+02
0
1.251102935644591e-03
0.000000000000000e+00
10
1
0
-1

0
1 2
3.135235355709609e-02 -1.108624821570082e-03
3.352628225992291e-01 -9.416021668731618e-01

2
3
4
1.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00

0.000000000000000e+00 0.000000000000000e+00
2 4
6.253261093686115e-01 5.160281388948399e-01
-3.897348247733157e-01 -1.443827461944881e-02
-7.153755062550494e-02 -1.821527150953511e-01
3.770447321019952e-01 1.006009772497220e-01
-2.164735341429737e-01 -2.310557712216083e-01
-1.922887028565794e-01 2.652232248569078e-01
-4.076286604189574e-01 2.069686434332095e-01
3.248357459173907e-01 6.913166635962354e-01

4
-4.050217717838341e-01 1.446567392472682e-01
-1.883638511032934e-01 -2.641793382250678e-01
-1.087274806186790e-01 6.398810283673082e-01
3.617000633187840e-01 -3.970690087541858e-01

2 1
-6.864117874802172e-03 2.043854826670122e-02
-9.696616879246138e-01 -2.434981737133552e-01

3
1
4
1.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00

0.000000000000000e+00 0.000000000000000e+00
1 4
6.253261093686115e-01 5.160281388948399e-01
-3.897348247733157e-01 -1.443827461944881e-02
-7.153755062550494e-02 -1.821527150953511e-01
3.770447321019952e-01 1.006009772497220e-01

4
-4.050217717838341e-01 1.446567392472682e-01
-1.883638511032934e-01 -2.641793382250678e-01
-1.087274806186790e-01 6.398810283673082e-01
3.617000633187840e-01 -3.970690087541858e-01

3 0

4
1.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00
0.000000000000000e+00 0.000000000000000e+00

0.000000000000000e+00 0.000000000000000e+00
0 4

4
-4.050217717838341e-01 1.446567392472682e-01
-1.883638511032934e-01 -2.641793382250678e-01
-1.087274806186790e-01 6.398810283673082e-01
3.617000633187840e-01 -3.970690087541858e-01

-- 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/).



See also

Introduction to CoCoAServer

Bertini.BSolve

Bertini.BPMCSolve