/opt/AlgebraicLibs/SLV/
.> LIBPATH := "/opt/AlgebraicLibs/SLV/":
> read cat ( LIBPATH, "system.mpl" ):
> f := 3*x^3 - x^2 - 6*x + 2:
> sols := SLV:-solveUnivariate( f ):
> SLV:-display_1 ( sols );
< x^2-2, [ -93/64, -45/32], -1.414213568 >
< 3*x-1, [ 1/3, 1/3], 1/3 >
< x^2-2, [ 45/32, 93/64], 1.414213568 >
> LIBPATH := "/opt/AlgebraicLibs/SLV/":
> read cat ( LIBPATH, "system.mpl" ):
> f := 1+2*x+x^2*y-5*x*y+x^2:
> g := 2*x+y-3:
> bivsols := SLV:-solveGRID ( f, g ):
> SLV:-display_2 ( bivsols );
< 2*x^2-12*x+1, [ 3, 7], 5.915475965 > , < x^2+6*x-25, [ -2263/256, -35/4], -8.830718995 >
< x-1, [ 1, 1], 1 > , < x-1, [ 1, 1], 1 >
< 2*x^2-12*x+1, [ 3/64, 3/32], .8452400565e-1 > , < x^2+6*x-25, [ 23179/8192, 2899/1024], 2.830943108 >
> bivsols := SLV:-solveMRUR ( f, g ):
> bivsols := SLV:-solveGRUR ( f, g ):
display_float_1
and display_float_2
procedures. Hence, for the above examples we have:> SLV:-display_float_1 ( sols );
< -1.4142136 >
< 0.3333333 >
< 1.4142136 >
> SLV:-display_float_2 ( bivsols );
[ 5.9154759, -8.8309519, ]
[ 1.0000000, 1.0000000, ]
[ 0.0845241, 2.8309519, ]
sols
of Ralg numbers that was returned in the univariate case above; the following are examples onsignAt
function provided by our Filtered Kernel (Located in file: FK.mpl):> FK:-signAt( 2*x + 3, sols[1] );
1
> FK:-signAt( x^2*y + 2, sols[3], sols[1] );
-1
L := PRS:-StHa ( f, g, y ):
L := PRS:-StHaByDet ( f, g, y ):
L := PRS:-subresPRS ( f, g, y ):
L := PRS:-SubResByDet ( f, g, y ):
L := PRS:-euclidPRS( f, g, x ):
L := PRS:-primpartPRS( f, g, y):
PrintPRS
is used for viewing the PRS. For example, let f, g be those from the example on Bivariate Solving above:> L := PRS:-subresPRS ( f, g, y ):
> PRS:-PrintPRS( L );
/
2 \
2
\x - 5 x/ y + 1 + 2 x + x
y + 2 x - 3
3 2
2 x - 14 x + 13 x - 1
> G := PRS:-Eval ( L, 1, 0 );
G := [4, -1, 0]
> PRS:-var( G );
1
In order to compute the number of sign variations of an evaluated Sturm-Habicht sequence one can use the following:> PRS:-varStHa ( G );
> SLV:-computeShear( f, g );
0