Home Online Manual
Top
Back: center
Forward: sa_reduce
FastBack: bfun_lib
FastForward: dmod_lib
Up: central_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.3.0. centralizer
Procedure from library central.lib (see central_lib).

Usage:
centralizer(F, D[, N]); F poly/ideal, D int, N optional int

Return:
ideal, generated by computed elements

Purpose:
computes subalgebra generators of centralizer(F) up to degree D

Note:
In general, one cannot compute the whole centralizer(F).
Hence, one has to specify a termination condition via arguments D and/or N.
If D is positive, only centralizing elements up to degree D will be found.
If D is negative, the termination is determined by N only.
If N is given, the computation stops if at least N elements have been found.
Warning: if N is given and bigger than the actual number of generators,
the procedure may not terminate.
Current ordering must be a degree compatible well-ordering.

Example:
 
LIB "central.lib";
ring AA = 0,(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)
poly f = 4*x*y+z^2-2*z; // a central polynomial
f;
==> 4xy+z2-2z
// find generators of the centralizer of f of degree <= 2:
ideal c = centralizer(f, 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); // check the result
==> 1
// find at least two generators of the centralizer of f:
ideal cc = centralizer(f,-1,2);
cc;
==> cc[1]=z
==> cc[2]=y
==> cc[3]=x
inCentralizer(cc, f); // check the result
==> 1
poly g = z^2-2*z; // some non-central polynomial
// find generators of the centralizer of g of degree <= 2:
c = centralizer(g, 2);
c;
==> c[1]=z
==> c[2]=xy
inCentralizer(c, g); // check the result
==> 1
// find at least one generator of the centralizer of g:
centralizer(g,-1,1);
==> _[1]=z
// find at least two generators of the centralizer of g:
cc = centralizer(g,-1,2);
cc;
==> cc[1]=z
==> cc[2]=xy
inCentralizer(cc, g); // check the result
==> 1
See also: center; inCentralizer.