Difference between revisions of "ApCoCoA-1:Hom.HSolve"

From ApCoCoAWiki
(New page: <command> <title>Hom.HSolve</title> <short_description>Solves a zero dimensional homogeneous or non-homogeneous polynomial system of equations.</short_description> <syntax> Hom.HSolve(P:LI...)
 
Line 21: Line 21:
 
Use S ::= QQ[x,y];               
 
Use S ::= QQ[x,y];               
 
P := [x^2+y^2-5, xy-2];
 
P := [x^2+y^2-5, xy-2];
SysTyp := <quotes>Nhom</quotes>;
 
  
 
-- Then we compute the solution with
 
-- Then we compute the solution with
Bertini.BSolve(P,SysTyp);
+
Hom.HSolve(P);
 +
 
 +
-- Now you have to interact with ApCoCoAServer
 +
-- Enter 1 for the polyhedral homotopy and 2 for the classical linear homotopy.
 +
-- If we enter 1 then the all finite solutions are:
  
-- And we achieve a list of lists containing all finite solutions.
 
 
----------------------------------------
 
----------------------------------------
 
[
 
[
[
+
[[2, 0], [1, 0]],
Vector(400000000000003/200000000000000, -3416759775755413/500000000000000000000000000000),  
+
[[-1, 0], [-2, 0]],
Vector(9999999999999927/10000000000000000, 8966048861359829/1000000000000000000000000000000)
+
[[-2, 0], [-1, 0]],
],
+
[[1, 0], [2, 0]]
[
 
Vector(2499999999999963/2500000000000000, 5007041073746771/100000000000000000000000000000),
 
Vector(249999999999999/125000000000000, -1089183184148021/25000000000000000000000000000)
 
],
 
[
 
Vector(-9999999999999969/10000000000000000, 191792591213411/125000000000000000000000000000),
 
Vector(-1999999999999999/1000000000000000, 2443331461729629/2500000000000000000000000000000)
 
],
 
[
 
Vector(-250000000000001/125000000000000, 4347064  850996171/1000000000000000000000000000000),
 
Vector(-9999999999999943/10000000000000000, -2154842536286333/500000000000000000000000000000)
 
]
 
 
]
 
]
  
--The elements of lists are vectors. Each vector represents a complex number. For example Vector(5000/1000,-4150/1000)
+
 
--represents the complex number 5000/1000-4150/1000i.
+
 
--For Bertini output files please refer to ApCoCoA directory/Bertini.
+
-- The smallest list represents a complex number. For example above system has 4 solutions the first solution is [[2, 0], [1, 0]]
 +
-- and we read it as  x=2+0i, y=1+0i
 +
 
 
</example>
 
</example>
 
<example>
 
<example>

Revision as of 09:59, 22 July 2010

Hom.HSolve

Solves a zero dimensional homogeneous or non-homogeneous polynomial system of equations.

Syntax

Hom.HSolve(P: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.

This function uses total degree homotopy to find all isolated solutions of a zero dimensional system of polynomial equations. It uses default configurations provided by Bertini. The system of polynomials may be homogeneous or nonhomogeneous. For homogeneous polynomial system the output will be the list of all real solutions and for nonhomogeneous system the output will be the list of all finite solutions.

  • @param P: List of polynomials of the given system.

  • @return A list of lists containing the finite solutions of the system P.


Example

-- An example of zero dimensional Non-Homogeneous Solving.
-- We want to solve zero dimensional non-homogeneous system x^2+y^2-5=0, xy-2=0. 

Use S ::= QQ[x,y];              
P := [x^2+y^2-5, xy-2];

-- Then we compute the solution with
Hom.HSolve(P);

-- Now you have to interact with ApCoCoAServer
-- Enter 1 for the polyhedral homotopy and 2 for the classical linear homotopy.
-- If we enter 1 then the all finite solutions are:

----------------------------------------
[
[[2, 0], [1, 0]],
 [[-1, 0], [-2, 0]],
 [[-2, 0], [-1, 0]],
 [[1, 0], [2, 0]]
]



-- The smallest list represents a complex number. For example above system has 4 solutions the first solution is [[2, 0], [1, 0]] 
-- and we read it as  x=2+0i, y=1+0i 

Example

-- An example of zero dimensional Homogeneous Solving
-- We want to solve zero dimensional homogeneous system x^2-z^2=0, xy-z^2=0.

Use S ::= QQ[x,y,z];            
M := [x^2-z^2, xy-z^2];
SysTyp := <quotes>hom</quotes>;

-- Then we compute the solution with
Bertini.BSolve(M,SysTyp);

-- And we achieve a list of lists containing all real solutions.
----------------------------------------
[
[2190685167348543/5000000000000000, 2190685167348543/5000000000000000, 2190685167348543/5000000000000000],
[1237092982347763/5000000000000000, 1237092982347763/5000000000000000, -1237092982347763/5000000000000000],
[3235177805819999/100000000000000000000000000000, 9932123317905381/10000000000000000,621807549382663/5000000000000000000000000000], 
[3006769352985381/100000000000000000000000000000,1241515414738241/1250000000000000, 555981798431817/5000000000000000000000000000]
]

--These are the real solutions of the system
--For Bertini output files please refer to ApCoCoA directory/Bertini.
------------------------------------



See also

Introduction to CoCoAServer

Hom.LRSolve

Hom.SRSolve