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

Line 3: | Line 3: | ||

<short_description>Solves a zero dimensional square homogeneous or non-homogeneous polynomial system of equations.</short_description> | <short_description>Solves a zero dimensional square homogeneous or non-homogeneous polynomial system of equations.</short_description> | ||

<syntax> | <syntax> | ||

− | Hom.HSolve(P:LIST) | + | Hom.HSolve(P:LIST,HomTyp:INT):LIST |

</syntax> | </syntax> | ||

<description> | <description> | ||

Line 11: | Line 11: | ||

<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> | ||

+ | <item>@param <em>HomTyp</em>: set it to 1 for polyhedral homotopy and to 2 for classical linear homotopy.</item> | ||

<item>@return A list of lists containing the finite solutions of the system P.</item> | <item>@return A list of lists containing the finite solutions of the system P.</item> | ||

Line 21: | Line 22: | ||

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]; | ||

+ | HomTyp:=1; | ||

-- Then we compute the solution with | -- Then we compute the solution with | ||

− | Hom.HSolve(P); | + | Hom.HSolve(P,HomTyp); |

-- Now you have to interact with ApCoCoAServer | -- Now you have to interact with ApCoCoAServer | ||

Line 49: | Line 51: | ||

Use S ::= QQ[x,y]; | Use S ::= QQ[x,y]; | ||

M := [x^2-y^2, xy-y^2]; | M := [x^2-y^2, xy-y^2]; | ||

+ | HomTyp:=1; | ||

-- Then we compute the solution with | -- Then we compute the solution with | ||

− | Hom.HSolve(M); | + | Hom.HSolve(M,HomTyp); |

-- Now you have to interact with ApCoCoAServer | -- Now you have to interact with ApCoCoAServer |

## Revision as of 08:41, 18 August 2011

## Hom.HSolve

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

### Syntax

Hom.HSolve(P:LIST,HomTyp:INT):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 can do two kinds of different computations depending on the input that you provide in ApCoCoAServer during execution. After passing the command `Hom.HSolve(P)` in ApCoCoA you need to interact with ApCoCoAServer. At this stage ApCoCoAServer asks you to enter 1 for the polyhedral homotopy and to enter 2 for the classical linear homotopy. As a result this function provides all isolated solutions of a zero dimensional system of polynomial equations. The system of polynomials may be homogeneous or non-homogeneous.

@param

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

*HomTyp*: set it to 1 for polyhedral homotopy and to 2 for classical linear homotopy.@return A list of lists containing the finite solutions of the system P.

#### Example

-- An example of zero dimensional Non-Homogeneous Solving using the polyhedral homotopy. -- 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]; HomTyp:=1; -- Then we compute the solution with Hom.HSolve(P,HomTyp); -- 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 using the classical linear homotopy. -- We want to solve zero dimensional homogeneous system x^2-y^2=0, xy-y^2=0. Use S ::= QQ[x,y]; M := [x^2-y^2, xy-y^2]; HomTyp:=1; -- Then we compute the solution with Hom.HSolve(M,HomTyp); -- Now you have to interact with ApCoCoAServer -- Enter 1 for the polyhedral homotopy and 2 for the classical linear homotopy. -- If we enter 2 then the all finite solutions are: ---------------------------------------- [ [[20597740658111043/500000000000000000000000, -74403123210058537/1000000000000000000000000], [20597740658111043/500000000000000000000000, -74403123210058537/1000000000000000000000000]], [[0, 0], [0, 0]], [[0, 0], [0, 0]], [[-60689558229793541/10000000000000000000000000, 245542879738863/2000000000000000000000], [-3034482281801981/500000000000000000000000, 3069286290270979/25000000000000000000000]] ] -- The smallest list represents a complex number. For example above system has 4 solutions the first solution is -- [[20597740658111043/500000000000000000000000, -74403123210058537/1000000000000000000000000], -- [20597740658111043/500000000000000000000000, -74403123210058537/1000000000000000000000000]] -- and we read it as x=20597740658111043/500000000000000000000000 - 74403123210058537/1000000000000000000000000i, -- y = 20597740658111043/500000000000000000000000 - 74403123210058537/1000000000000000000000000i ------------------------------------

#### Example

-- An example of zero dimensional Non-Homogeneous Solving using the polyhedral homotopy. -- We want to solve zero dimensional non-homogeneous system x[1]^2-1=0, x[1]x[2]-1=0. Use QQ[x[1..2]]; P := [x[1]^2-1, x[1]x[2]-1]; -- 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. -- We enter 1 because we want to use polyhedral homotopy. -- The all finite solutions are: ---------------------------------------- [ [[1, 0], [1, 0]], [[-1, 0], [-1, 0]] ] -- The smallest list represents a complex number. For example above system has 2 solutions the first solution is [[1, 0], [1, 0]] -- and we read it as x[1]=1+0i, x[2]=1+0i

### See also