##### 7.5.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.

User manual for Singular version 4.4.1, 2025, generated by texi2html.