Home Online Manual
Top
Back: nrRootsProbab
Forward: symsignature
FastBack:
FastForward:
Up: rootsmr_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.12.6.2 nrRootsDeterm

Procedure from library rootsmr.lib (see rootsmr_lib).

Return:
int: the number of real roots of the ideal I by a deterministic algorithm

Assume:
If I is not a Groebner basis, then a Groebner basis will be computed by using std. If I is already a Groebner basis (i.e. if attrib(I,"isSB"); returns 1) then this Groebner basis will be used, hence it must be one w.r.t. (any) global ordering. This may be useful if the ideal is known to be a Groebner basis or if it can be computed faster by a different method.

Note:
If printlevel>0 the number of complex solutions is displayed (default: printlevel=0). The procedure nrRootsProbab is usually faster.

Example:
 
LIB "rootsmr.lib";
ring r = 0,(x,y,z),lp;
ideal I = (x-1)*(x-2),(y-1),(z-1)*(z-2)*(z-3)^2;
nrRootsDeterm(I);       //no of real roots (using internally std)
==> 6
I = groebner(I);        //using the hilbert driven GB computation
int pr = printlevel;
printlevel = 2;
nrRootsDeterm(I);
==> //ideal has 8 complex solutions, counted with multiplicity
==> 6
printlevel = pr;
See also: nrRootsProbab; nrroots; solve; sturmquery.