Difference between revisions of "ApCoCoA-1:Bertini.BPCSSolve"
Line 1: | Line 1: | ||
<command> | <command> | ||
<title>Bertini.BPCSSolve</title> | <title>Bertini.BPCSSolve</title> | ||
− | <short_description>Sampling a positive dimensional homogeneous or non-homogeneous polynomial system. </short_description> | + | <short_description>Sampling a component for a positive dimensional homogeneous or non-homogeneous polynomial system. </short_description> |
<syntax> | <syntax> | ||
Bertini.BPCSSolve(P:LIST, SysTyp:STRING , ConfigSet:LIST):LIST | Bertini.BPCSSolve(P:LIST, SysTyp:STRING , ConfigSet:LIST):LIST | ||
</syntax> | </syntax> | ||
<description> | <description> | ||
− | |||
− | |||
<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. | ||
<par/> | <par/> | ||
− | <em>Please note:</em> | + | <em>Please note:</em> You need to write (or generate by using the function <ref>Bertini.BPCSolve</ref>) the witness date file. Then save this file with the name <quotes>witness_data</quotes> in ApCoCoA directory/Bertini, Otherwise you will get an error message. It is highly recommended to read about sampling before using this function. The best and comprehensive reference for this is chapter 15 of the book <quotes>The Numerical Solution of Systems of Polynomials</quotes> by A. J. Sommese and C. W. Wampler. |
− | + | <par/> | |
+ | The fundamental capability upon which all the membership tests depend is the ability to sample a component given a witness point on it. The witness points are the isolated points of intersection betwween an affine algebraic set and generic linear space. To sample a component, we simply move the linear space in continuous fashion. As long as the prescribed path avoids a proper algebraic subset of nongeneric linear spaces, the intersection with the component remains isolated and defines a real one dimensional path of points on the component. Sampling is just the process of setting up such paths and following the points of intersection. | ||
<itemize> | <itemize> | ||
<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> | ||
Line 17: | Line 16: | ||
<item>@param <em>SysTyp</em>: Type of polynomials in the system P. Homogeneous (<tt><quotes>hom</quotes></tt>) or nonhomogeneous (<tt><quotes>Nhom</quotes></tt>).</item> | <item>@param <em>SysTyp</em>: Type of polynomials in the system P. Homogeneous (<tt><quotes>hom</quotes></tt>) or nonhomogeneous (<tt><quotes>Nhom</quotes></tt>).</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 ConfigSet := [<quotes>TRACKTYPE: 2</quotes>]. If you want to provide specific configurations then simply add them to ConfigSet.For details about configuration settings see Bertini manual <tt>http://www.nd.edu/~sommese/bertini/BertiniUsersManual.pdf</tt>.</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 ConfigSet := [<quotes>TRACKTYPE: 2</quotes>]. If you want to provide specific configurations then simply add them to ConfigSet. Please note that ConfigSet must contain "TRACKTYPE: 2". For details about configuration settings see Bertini manual <tt>http://www.nd.edu/~sommese/bertini/BertiniUsersManual.pdf</tt>.</item> |
<item>@return A list of lists containing witness point supersets.</item> | <item>@return A list of lists containing witness point supersets.</item> | ||
</itemize> | </itemize> |
Revision as of 09:37, 14 May 2010
Bertini.BPCSSolve
Sampling a component for a positive dimensional homogeneous or non-homogeneous polynomial system.
Syntax
Bertini.BPCSSolve(P:LIST, SysTyp:STRING , ConfigSet:LIST):LIST
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 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 sampling 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.
The fundamental capability upon which all the membership tests depend is the ability to sample a component given a witness point on it. The witness points are the isolated points of intersection betwween an affine algebraic set and generic linear space. To sample a component, we simply move the linear space in continuous fashion. As long as the prescribed path avoids a proper algebraic subset of nongeneric linear spaces, the intersection with the component remains isolated and defines a real one dimensional path of points on the component. Sampling is just the process of setting up such paths and following the points of intersection.
@param P: List of polynomials of the given system.
@param SysTyp: Type of polynomials in the system P. Homogeneous ("hom") or nonhomogeneous ("Nhom").
@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: 2"]. If you want to provide specific configurations then simply add them to ConfigSet. Please note that ConfigSet must contain "TRACKTYPE: 2". 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
-- An example of sampling using default configurations -- We want to sample 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]; P := [(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 ApCoCoA directory/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 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 compute the sample points with Bertini.BPCSSolve(P,SysTyp,ConfigSet); --Then you need to interact with ApCoCoAServer. At this stage the ApCoCoAServer will look like this NOTE: You have requested to use adaptive path tracking. Please make sure that you have setup the following tolerances appropriately: COEFFBOUND: 1.060000000000e+02, DEGREEBOUND: 8.000000000000e+00 AMPSAFETYDIGITS1: 1, AMPSAFETYDIGITS2: 1, AMPMAXPREC: 1024 *************** Components to Sample **************** Dimension 2: 1 classified component ----------------------------------------------------- degree 2: 1 component Dimension 1: 4 classified components ----------------------------------------------------- degree 1: 3 components degree 3: 1 component Dimension 0: 1 classified component ----------------------------------------------------- degree 1: 1 component Please select a dimension to sample (-1 to quit): -- Now depending on the information in ApCoCoAServer you need to select a dimension to sample. Lets enter 2 (for dimension 2) -- At this stage you will have the following information in ApCoCoAServer Dimension 2: 1 classified component ----------------------------------------------------- degree 2: 1 component Please select a component to sample (-1 to quit): -- According to the information in ApCoCoASerer dimensioin 2 has 1 classified component -- Now enter 0 for first component (note that 0 means first component, 1 means second component and so on) -- At this stage you will get the following message in ApCoCoAServer. How many points you would like to find on component 0 of dimension 2(-1 to quit)? -- Lets say we need two components. Then we enter 2. -- Now you will have the following message in ApCoCoAServer. Enter 0 to write the sample points to a file or enter 1 to display the sample points to the screen: --Definitely we enter 0. Because we want sample points in a file. --The next message in ApCoCoAServer will be Enter the name of the file where to write the sample points (max of 255 characters): --Enter the name <quotes>witness_data</quotes> for the file. This is important. If you provide some other name --then you will get error message in ApCoCoA GUI. Now you are done and you can see your --required points as list of lists in ApCoCoA GUI. --------------------------------------------------------------- [ [ Vector(1757273644596243375574545953819515856489/100000000000000000000000000000000000, 8147772211058790989036635734369200777823/1000000000000000000000000000000000000), Vector(-431733868086111204913711309223667436531/250000000000000000000000000000000000, -37962521351941262128928875924787458113/2000000000000000000000000000000000), Vector(-1557380603151899455989605438122949238809/100000000000000000000000000000000000, 564916712400652233062432018034019557871/50000000000000000000000000000000000) ], [ Vector(-121943356274388147122353428227028494517/6250000000000000000000000000000000, 1360624366795248157000895588285686343567/100000000000000000000000000000000000), Vector(269101922754170957542913598304064433393/12500000000000000000000000000000000, 65533729956025537516221610150609783991/6250000000000000000000000000000000), Vector(-845765805387772422259623073262578114251/500000000000000000000000000000000000, -1174655199638212258677283490719018859963/50000000000000000000000000000000000) ] ] --For Bertini output files please refer to ApCoCoA directory/Bertini.
See also