|
D.11.2.10 genericity
Procedure from library control.lib (see control_lib).
- Usage:
- genericity(M); M is a matrix/module
- Return:
- list (of strings)
- Purpose:
- determine parametric expressions which have been assumed to be non-zero in the process of computing the Groebner basis
- Note:
- the output list consists of strings. The first string contains the variables only, whereas each further string contains
a single polynomial in parameters.
We strongly recommend to switch on the redSB and redTail options.
The procedure is effective with the lift procedure for modules with parameters
Example:
| LIB "control.lib";
// TwoPendula
ring r=(0,m1,m2,M,g,L1,L2),Dt,dp;
module RR =
[m1*L1*Dt^2, m2*L2*Dt^2, -1, (M+m1+m2)*Dt^2],
[m1*L1^2*Dt^2-m1*L1*g, 0, 0, m1*L1*Dt^2],
[0, m2*L2^2*Dt^2-m2*L2*g, 0, m2*L2*Dt^2];
module R = transpose(RR);
module SR = std(R);
matrix T = lift(R,SR);
genericity(T);
==> [1]:
==> m1,g,L1,L2
==> [2]:
==> L1-L2
//-- The result might be different when computing reduced bases:
matrix T2;
option(redSB);
option(redTail);
module SR2 = std(R);
T2 = lift(R,SR2);
genericity(T2);
==> [1]:
==> m1,g,L1,m2,L2
==> [2]:
==> L1-L2
|
|