|
7.5.1.0. centralizer
Procedure from library center.lib (see center_lib).
- Usage:
- centralizer(F, MaxDeg[, N]); poly F, int MaxDeg, int N
- Return:
- ideal, generated by elements of degree <= MaxDeg
- Purpose:
- computes a minimal set of elements centralizer(F) up to degree MaxDeg.
- Note:
- In general, one cannot predict the number or the heighest degree of
centralizing elements. Hence, one has to specify a termination condition via arguments MaxDeg and/or N.
If MaxDeg is positive, the computation stops after all centralizing elements of degree at most MaxDeg has been found.
If MaxDeg is negative, the termination is determined by N only.
If N is given, the computation stops if at least N centralizing elements has been found.
Warning: if N is given and bigger than the real number of generators, the procedure may not terminate.
Example:
| LIB "center.lib";
ring A = 0,(x,y,z),dp;
matrix D[3][3]=0;
D[1,2]=-z; D[1,3]=2*x; D[2,3]=-2*y;
ncalgebra(1,D); // this algebra is U(sl_2)
poly f = 4*x*y+z^2-2*z; // a central polynomial
f;
==> 4xy+z2-2z
ideal c = centralizer(f, 2); // find all elements of the centralizer of f
// of degree <= 2
c; // since f is central, the answer consists of generators of A
==> c[1]=z
==> c[2]=y
==> c[3]=x
inCentralizer(c, f);
==> 1
ideal cc = centralizer(f,-1,2); // find at least two elements of the centralizer of f
cc;
==> cc[1]=z
==> cc[2]=y
==> cc[3]=x
inCentralizer(cc, f);
==> 1
poly g = z^2-2*z; // some non-central polynomial
c = centralizer(g, 2); // find all elements of the centralizer of g
// of degree <= 2
c;
==> c[1]=z
==> c[2]=xy
inCentralizer(c, g);
==> 1
centralizer(g,-1,1); // find the element of the lowest degree in the centralizer
==> _[1]=z
cc = centralizer(g,-1,2); // find at least two elements of the centralizer of g
cc;
==> cc[1]=z
==> cc[2]=xy
inCentralizer(cc, g);
==> 1
| center, inCentralizer
|