|
7.5.1.0. centerRed
Procedure from library central.lib (see central_lib).
- Usage:
- centerRed( D[, N] ); D int, N optional int
- Return:
- ideal, generated by computed elements
- Purpose:
- computes subalgebra generators of the center up to degree D
- Note:
- In general, one cannot compute the whole center.
Hence, one has to specify a termination condition via arguments D and/or N.
If D is positive, only central 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 A = 0,(x,y,z),dp;
matrix D[3][3]=0;
D[1,2]=z;
nc_algebra(1,D); // it is a Heisenberg algebra
==> // characteristic : 0
==> // number of vars : 3
==> // block 1 : ordering dp
==> // : names x y z
==> // block 2 : ordering C
==> // noncommutative relations: ...
// find a basis of the vector space of
// central elements of degree <= 3:
ideal VSZ = centerVS(3);
// There should be 3 degrees of z.
VSZ;
==> VSZ[1]=x
==> VSZ[2]=y
==> VSZ[3]=z
==> VSZ[4]=z2
==> VSZ[5]=yz
==> VSZ[6]=y2
==> VSZ[7]=xz
==> VSZ[8]=xy
==> VSZ[9]=x2
==> VSZ[10]=z3
==> VSZ[11]=yz2
==> VSZ[12]=y2z
==> VSZ[13]=y3
==> VSZ[14]=xz2
==> VSZ[15]=xyz
==> VSZ[16]=xy2
==> VSZ[17]=x2z
==> VSZ[18]=x2y
==> VSZ[19]=x3
inCenter(VSZ); // check the result
==> 1
// find "minimal" central elements of degree <= 3
ideal SAZ = centerRed(3);
// Only 'z' must be computed
SAZ;
==> SAZ[1]=z
==> SAZ[2]=y
==> SAZ[3]=x
inCenter(SAZ); // check the result
==> 1
| centralizerRed, centerVS, center, inCenter
|