|
7.7.17.0. perron
Procedure from library perron.lib (see perron_lib).
- Usage:
- perron( L [, D] )
- Return:
- commutative ring with ideal `Relations`
- Purpose:
- computes polynomial relations ('Relations') between pairwise
commuting polynomials of L [, up to a given degree bound D]
- Note:
- the implementation was partially inspired by the Perron's theorem.
Example:
| LIB "perron.lib";
int p = 3;
ring AA = p,(x,y,z),dp;
matrix D[3][3]=0;
D[1,2]=-z; D[1,3]=2*x; D[2,3]=-2*y;
def A = nc_algebra(1,D); setring A; // this algebra is U(sl_2)
ideal I = x^p, y^p, z^p-z, 4*x*y+z^2-2*z; // the center
def RA = perron( I, p );
setring RA;
RA;
==> // coefficients: ZZ/3
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names F(1) F(2) F(3) F(4)
==> // block 2 : ordering C
Relations; // it was exported from perron to be in the returned ring.
==> Relations[1]=F(4)^3-F(1)*F(2)-F(3)^2+F(4)^2
// perron can be also used in a commutative case, for example:
ring B = 0,(x,y,z),dp;
ideal J = xy+z2, z2+y2, x2y2-2xy3+y4;
def RB = perron(J);
setring RB;
Relations;
==> Relations[1]=F(1)^2-2*F(1)*F(2)+F(2)^2-F(3)
// one more test:
setring A;
map T=RA,I;
T(Relations); // should be zero
==> _[1]=0
|
|