| #### D.8.4.10 triangM_solve Procedure from library `solve.lib` (see solve_lib). Usage: triangM_solve(i [, p ] ); i=ideal, p=integer, p>0: gives precision of complex numbers in digits (default: p=30). Assume: the ground field has char 0; i zero-dimensional ideal Return: ring `R` with the same number of variables but with complex coefficients (and precision p). `R` comes with a list `rlist` of numbers, in which the complex roots of i are stored. Note: The procedure uses a triangular system (Moellers Algorithm) computed from a standard basis of input ideal i to determine recursively all complex roots with Laguerre's algorithm. 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;
    def R = triangM_solve(s,10);
    ==>
    ==> // 'triangM_solve' created a ring, in which a list rlist of numbers (the
    ==> // complex solutions) is stored.
    ==> // To access the list of complex solutions, type (if the name R was assig\
       ned
    ==> // to the return value):
    ==>         setring R; rlist;
    setring R; rlist;
    ==> [1]:
    ==>    [1]:
    ==> 1
    ==>    [2]:
    ==> -3
    ==> [2]:
    ==>    [1]:
    ==> -2.828427125
    ==>    [2]:
    ==> -1.414213562
    ==> [3]:
    ==>    [1]:
    ==> 2.828427125
    ==>    [2]:
    ==> 1.414213562
    ==> [4]:
    ==>    [1]:
    ==> -1
    ==>    [2]:
    ==> 3

User manual for Singular version 4.3.2, 2023, generated by texi2html.