From ApCoCoAWiki
Revision as of 09:26, 7 July 2009 by Stadler (talk | contribs)


Solves zero dimensional non-homogeneous polynomial system by user defined homotopy.


Bertini.BUHSolve(M:LIST, SSys:LIST, Gamma:STRING, SSol:LIST, ConfigSet:LIST)


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.

  • @param M: List of polynomials in the system.

  • @param SSys: List of polynomials in the start system for homotopy.

  • @param Gamma: Complex number in the form "a+b*I" ( e.g. "0.8 - 1.2*I" ).

  • @param SSol: List of lists containing the start solution for the homotopy. Further, the elements of Lists are strings.

  • @param ConfigSet: List of strings representing configurations to be used by Bertini. Note that if you want to use default configrations then the ConfigSet := ["USERHOMOTOPY: 1"], otherwise add more configurations in ConfigSet accordingly. For details about configuration settings see Bertini manual http://www.nd.edu/~sommese/bertini/BertiniUsersManual.pdf.

  • @return A list of lists containing real solutions.


-- We want to solve the system x^2-1=0, y^2-1=0, where Gamma=0.8-1.2I. 
-- The two start solutions for the homotopy are [[-1.0, 0.0 ],[-1.0,0.0]] and [[1.0, 0.0],[1.0,0.0]].
-- The start system for the homotopy is x^2=0, y^2=0. 

Use S ::= QQ[x,y];             --  Define appropriate ring 
M := [x^2-1, y^2-1];
SSys := [x^2,y^2];
Gamma := <quotes>0.8 - 1.2*I</quotes>;
SSol := [[[<quotes>-1.0</quotes>, <quotes>0.0</quotes>], [<quotes>-1.0</quotes>,<quotes>0.0</quotes>]],[[<quotes>1.0</quotes>, <quotes>0.0</quotes>],[<quotes>1.0</quotes>,<quotes>0.0</quotes>]]];
ConfigSet := [<quotes>USERHOMOTOPY: 1</quotes>];

-- Then we compute the solution with
Bertini.BUHSolve(M, SSys, Gamma, SSol, ConfigSet);

-- And we achieve a list of lists containing real solutions:
[[-1000000000000043/1000000000000000, -1000000000000043/1000000000000000],
 [1000000000000043/1000000000000000, 1000000000000043/1000000000000000]]

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

See also

Introduction to CoCoAServer