Objects
Functionality
Libraries
Availability
Examples
Contributors
Symbolic Numerical Polynomial Solving
Solving polynomial systems using Gröbner bases and
triangular sets:
Input: |
Zero-dimensional system f1,...,
fk in
K[x1,..., xn ]
|
Output: |
Complex roots of
f1 = ... = fk = 0
|
The algorithm proceeds in 3 steps:
Step 1: |
Compute a reduced lexicographical Gröbner basis of the
ideal I.
|
Step 2: |
Compute a triangular system T1,...,
Ts . ( V(I) is the union
of the V(Ti ). )
|
Step 3: |
Use a numerical solver (e.g. Laguerre's method) to find all zeros of
Ti , i=1,..., s .
|
LIB "triang.lib";
ring r=0,(x,y,z),lp;
ideal i=x2+y+z-1,x+y2+z-1,x+y+z2-1;
option(redSB);
ideal j = groebner(i);
triangMH(j,2);
==> [1]: | |
[2]: | |
[3]: | |
[4]: | |
|
_[1]=z | |
_[1]=z | |
_[1]=z2+2z-1 | |
_[1]=z-1
|
|
_[2]=y | |
_[2]=y-1 | |
_[2]=y-z | |
_[2]=y
|
|
_[3]=x-1 | |
_[3]=x | |
_[3]=x-z | |
_[3]=x
|
LIB"solve.lib";
triang_solve(triangMH(j,2),30); // accuracy of 30 digits
rlist;
Returns a list of 5 solutions.
|
|