##### 7.5.20.0. isCentral

Procedure from library `nctools.lib` (see nctools_lib).

Usage:
  isCentral(p); p poly

Return:
  int, 1 if p commutes with all variables and 0 otherwise

Purpose:
  check whether p is central in a basering (that is, commutes with every generator of the ring)

Note:
  if `printlevel` > 0, the procedure displays intermediate information (by default, `printlevel`=0 )

Example:

    LIB "nctools.lib";
    ring r=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 S = nc_algebra(1,D); setring S;
    S; // this is U(sl_2)
    ==> // coefficients: QQ considered as a field
    ==> // number of vars : 3
    ==> //        block   1 : ordering dp
    ==> //                  : names    x y z
    ==> //        block   2 : ordering C
    ==> // noncommutative relations:
    ==> //    yx=xy-z
    ==> //    zx=xz+2x
    ==> //    zy=yz-2y
    poly c = 4*x*y+z^2-2*z;
    printlevel = 0;
    isCentral(c);
    ==> 1
    poly h = x*c;
    printlevel = 1;
    isCentral(h);
    ==> Non-central at: y
    ==> Non-central at: z
    ==> 0

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