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:
Due to a Bug in Bertini.exe. This membership testing 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