Difference between revisions of "ApCoCoA-1:Bertini.BPMCSolve"
m (insert version info) |
m (replaced <quotes> tag by real quotes) |
||
Line 12: | Line 12: | ||
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. | 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. | ||
<par/> | <par/> | ||
− | <em>Please note:</em> You need to write (or generate by using the function <ref>ApCoCoA-1:Bertini.BPCSolve|Bertini.BPCSolve</ref>) the witness data file. Then save this file with the name | + | <em>Please note:</em> You need to write (or generate by using the function <ref>ApCoCoA-1:Bertini.BPCSolve|Bertini.BPCSolve</ref>) the witness data file. Then save this file with the name "witness_data" in the <tt>Bertini</tt> directory within the ApCoCoA directory. 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. |
<par/> | <par/> | ||
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 <tt>W</tt>, for an affine algebraic set <tt>Z</tt>. Find the decomposition of <tt>W</tt> into a numerical irreducible decomposition for <tt>Z</tt>. | 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 <tt>W</tt>, for an affine algebraic set <tt>Z</tt>. Find the decomposition of <tt>W</tt> into a numerical irreducible decomposition for <tt>Z</tt>. | ||
Line 20: | Line 20: | ||
<item>@param <em>P</em>: List of polynomials of the given system.</item> | <item>@param <em>P</em>: List of polynomials of the given system.</item> | ||
− | <item>@param <em>SysTyp</em>: Type of polynomials in the system. Homogeneous (<tt> | + | <item>@param <em>SysTyp</em>: Type of polynomials in the system. Homogeneous (<tt>"hom"</tt>) or non-homogeneous (<tt>"Nhom"</tt>).</item> |
<item>@param <em>MPoints</em>: List of lists containing member points.</item> | <item>@param <em>MPoints</em>: List of lists containing member points.</item> | ||
− | <item>@param <em>ConfigSet</em>: 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 <tt>ConfigSet := [ | + | <item>@param <em>ConfigSet</em>: 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 <tt>ConfigSet := ["TRACKTYPE: 3"]</tt>. If you want to provide specific configurations then simply add them to <tt>ConfigSet</tt>. Please note that <tt>ConfigSet</tt> must contain "TRACKTYPE: 3". The use of configuration settings is little tricky but very useful. You can switch from one kind of solving to the other just by changing or adding some configurations. For details about configuration settings see Bertini manual <tt>http://www.nd.edu/~sommese/bertini/BertiniUsersManual.pdf</tt>.</item> |
</itemize> | </itemize> | ||
Line 35: | Line 35: | ||
Use S ::= QQ[x,y,z]; | 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)]; | P := [x^2+y^2+z^2-1,x^3+y^2+z^3-1,(y-x^2)*(z-x^3)(z-5)]; | ||
− | SysTyp := | + | SysTyp := "Nhom"; |
− | MPoints :=[ [ [ | + | MPoints :=[ [ ["1.0", "0.0"], ["0.0", "0.0"], ["0.0", "0.0" ] ], [ ["1.3650269", "-0.31430820"], |
− | [ | + | ["1.7645087", "-0.85807828"], ["2.1389007", "-1.7258994"] ] ]; |
− | ConfigSet := [ | + | ConfigSet := ["TRACKTYPE: 3"]; |
-- Save the file named witness_data in ApCoCoA directory/Bertini. In this example we can use the following file. | -- Save the file named witness_data in ApCoCoA directory/Bertini. In this example we can use the following file. | ||
Line 306: | Line 306: | ||
Use S ::= QQ[x,y,z]; | 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)]; | P := [x^2+y^2+z^2-1,x^3+y^2+z^3-1,(y-x^2)*(z-x^3)(z-5)]; | ||
− | SysTyp := | + | SysTyp := "Nhom"; |
− | MPoints :=[ [ [ | + | MPoints :=[ [ ["1.0", "0.0"], ["0.0", "0.0"], ["0.0", "0.0" ] ], [ ["1.3650269", "-0.31430820"], |
− | [ | + | ["1.7645087", "-0.85807828"], ["2.1389007", "-1.7258994"] ] ]; |
− | ConfigSet := [ | + | ConfigSet := ["TRACKTYPE: 3", "MPTYPE: 0"]; |
-- Save the file named witness_data in ApCoCoA directory/Bertini. Use the file of previous example. | -- Save the file named witness_data in ApCoCoA directory/Bertini. Use the file of previous example. | ||
Latest revision as of 13:28, 29 October 2020
This article is about a function from ApCoCoA-1. |
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
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: You need to write (or generate by using the function Bertini.BPCSolve) the witness data file. Then save this file with the name "witness_data" in the Bertini directory within the ApCoCoA directory. 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 decomposition for Z.
For membership, Bertini reads in information about the witness set corresponding to the target system in the input file from the witness_data file. It then reads in member points, all points that the user would like to test. Bertini moves the appropriate slices around and reports to the screen whether any of the points lie on the algebraic set (and, if so, on which component they reside).
@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 containing 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. Please note that ConfigSet must contain "TRACKTYPE: 3". The use of configuration settings is little tricky but very useful. You can switch from one kind of solving to the other just by changing or adding some configurations. 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 := "Nhom"; MPoints :=[ [ ["1.0", "0.0"], ["0.0", "0.0"], ["0.0", "0.0" ] ], [ ["1.3650269", "-0.31430820"], ["1.7645087", "-0.85807828"], ["2.1389007", "-1.7258994"] ] ]; ConfigSet := ["TRACKTYPE: 3"]; -- 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 membership 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. ---------------------------------------- Please refer to ApCoCoAServer for results of computation. --For Bertini output files please refer to ApCoCoA directory/Bertini.
Example
-- An example of Membership testing using user 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 := "Nhom"; MPoints :=[ [ ["1.0", "0.0"], ["0.0", "0.0"], ["0.0", "0.0" ] ], [ ["1.3650269", "-0.31430820"], ["1.7645087", "-0.85807828"], ["2.1389007", "-1.7258994"] ] ]; ConfigSet := ["TRACKTYPE: 3", "MPTYPE: 0"]; -- Save the file named witness_data in ApCoCoA directory/Bertini. Use the file of previous example. -- Then we test membership 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. ---------------------------------------- Please refer to ApCoCoAServer for results of computation. --For Bertini output files please refer to ApCoCoA directory/Bertini.
See also