|
D.7.2.9 lex_solve
Procedure from library solve.lib (see solve_lib).
- Usage:
- lex_solve( i,p [, d, l] ); i=ideal, p,d,l=integers,
p>0 : precision of complex numbers in digits,
d>0 : precision (1<d<p) for near-zero-determination
l : debug level (-1: no output,..., 3: lots of output)
(default: d,l=1/2*p,0)
- Assume:
- the ground field has char 0;
i is a reduced lexicographical Groebner bases of a zero-dimensional
ideal (i), sorted by increasing leading terms.
- Return:
- nothing
- Create:
- The procedure creates a ring rC with the same number of variables but
with complex coefficients (and precision p).
In rC a list rlist of numbers is created, in which the complex
roots of i are stored.
Example:
| LIB "solve.lib";
ring r = 0,(x,y),lp;
// compute the intersection points of two curves
ideal s= x2 + y2 - 10, x2 + xy + 2y2 - 16;
lex_solve(stdfglm(s),10);
==> // name of new ring: rC
==> // list of roots: rlist
rlist;
==> [1]:
==> [1]:
==> 2.8284271247
==> [2]:
==> 1.4142135624
==> [2]:
==> [1]:
==> -2.8284271247
==> [2]:
==> -1.4142135624
==> [3]:
==> [1]:
==> 1
==> [2]:
==> -3
==> [4]:
==> [1]:
==> -1
==> [2]:
==> 3
|
|