Several polynomial solvers are provided. They differ from the coefficient type used during the borderbasis computation.
solver_bb_rational: coefficients in
solver_bb_mod: coefficients in with .
The polynomial solver can be used as follows:
solver_bb_rational exp1l
where expl is a file containing the polynomials, of the form:
3*x0^2*x1-1;
2*x0^3+x1^2-1;
The polynomials are separated by a ; The variables are x0, x1, ... The output result is the dimension of the quotient space:
Number of solutions (with multiplicity): 7
You can also use it with additional arguments to store the solution:
solver_bb_rational expl quotient
The monomial basis and the table of multiplications are then stored in the file quotient:
basis:=[1,x0,x1,x0^2,x0*x1,x1^2,x0*x1^2];
m0:=[
[0,0,0,1/2,1/3,0,0], [1,0,0,0,0,0,0], [0,0,0,0,0,0,1/3],
[0,1,0,0,0,0,0], [0,0,1,0,0,0,0], [0,0,0,-1/2,0,0,0], [0,0,0,0,0,1,0]
];
m1:=[
[0,0,0,1/3,0,0,0], [0,0,0,0,0,-2/3,0], [1,0,0,0,0,1,0],
[0,0,0,0,0,0,-2/3], [0,1,0,0,0,0,1], [0,0,1,0,0,0,0], [0,0,0,0,1,0,0]
];
If an additional file argument sol is given,
solver_bb_rational expl quotient sol
then numerical approximations of the complex roots are computed and stored in the file sol:
sol:=[
[0.0428035262163119+(-0.5580279186159117)*I,-1.0517405084461988+(0.1623024230495026)*I],
[0.0428035262163119+(0.5580279186159117)*I,-1.0517405084461988+(-0.1623024230495026)*I],
[-0.5392836762227580+(-0.0000000000000000)*I,1.1461572238101630+(0.0000000000000000)*I],
[0.6794478081883069+(-0.1011278450437246)*I,0.6757807989652637+(0.2057214199313530)*I],
[0.6794478081883069+(0.1011278450437246)*I,0.6757807989652637+(-0.2057214199313530)*I],
[-0.4526094962932398+(0.7015185419968863)*I,-0.1971189024241464+(0.4357389800666190)*I],
[-0.4526094962932398+(-0.7015185419968863)*I,-0.1971189024241464+(-0.4357389800666190)*I]
];