|
D.7.2.12 triang_solve
Procedure from library solve.lib (see solve_lib).
- Usage:
triang_solve(l,p [, d] ); l=list, p,d=integers,
l a list of finitely many triangular systems, such that the union of
their varieties equals the variety of the initial ideal.
p>0: gives precision of complex numbers in digits,
d>0: gives precision (1<d<p) for near-zero-determination,
(default: d=1/2*p).
- Assume:
the ground field has char 0;
l was computed using Algorithm of Lazard or Algorithm of Moeller
(see triang.lib).
- 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;
triang_solve(triangLfak(stdfglm(s)),10);
→ // name of new ring: rC
→ // list of roots: rlist
rlist;
→ [1]:
→ [1]:
→ -1
→ [2]:
→ 3
→ [2]:
→ [1]:
→ 1
→ [2]:
→ -3
→ [3]:
→ [1]:
→ 2.8284271247
→ [2]:
→ 1.4142135624
→ [4]:
→ [1]:
→ -2.8284271247
→ [2]:
→ -1.4142135624
|
|