### 7.3.24 ringlist (plural)

`Syntax:`
  `ringlist (` ring_expression `)`
  `ringlist (` qring_expression `)`
`Type:`
  list
`Purpose:`
  decomposes a ring/qring into a list of 6 (or 4 in the commutative case) components.
  The first 4 components are common both for the commutative and for the non-commutative cases, the 5th and the 6th appear only in the non-commutative case.

  1. upper triangle square matrix with nonzero upper triangle, containing structural coefficients of a G-algebra (this corresponds to the matrix C from the definition of G-algebras)
  2. square matrix, containing structural polynomials of a G-algebra (this corresponds to the matrix D from the definition of G-algebras)
`Note:`
  After modifying a list acquired with `ringlist`, one can construct a corresponding ring with `ring(list)`.
`Example:`

      // consider the quantized Weyl algebra
      ring r = (0,q),(x,d),Dp;
      def RS=nc_algebra(q,1);
      setring RS; RS;
      ==> // coefficients: QQ(q) considered as a field
      ==> // number of vars : 2
      ==> //        block   1 : ordering Dp
      ==> //                  : names    x d
      ==> //        block   2 : ordering C
      ==> // noncommutative relations:
      ==> //    dx=(q)*xd+1
      list l = ringlist(RS);
      l;
      ==> [1]:
      ==>    [1]:
      ==>       0
      ==>    [2]:
      ==>       [1]:
      ==>          q
      ==>    [3]:
      ==>       [1]:
      ==>          [1]:
      ==>             lp
      ==>          [2]:
      ==>             1
      ==>    [4]:
      ==>       _[1]=0
      ==> [2]:
      ==>    [1]:
      ==>       x
      ==>    [2]:
      ==>       d
      ==> [3]:
      ==>    [1]:
      ==>       [1]:
      ==>          Dp
      ==>       [2]:
      ==>          1,1
      ==>    [2]:
      ==>       [1]:
      ==>          C
      ==>       [2]:
      ==>          0
      ==> [4]:
      ==>    _[1]=0
      ==> [5]:
      ==>    _[1,1]=0
      ==>    _[1,2]=(q)
      ==>    _[2,1]=0
      ==>    _[2,2]=0
      ==> [6]:
      ==>    _[1,1]=0
      ==>    _[1,2]=1
      ==>    _[2,1]=0
      ==>    _[2,2]=0
      // now, change the relation d*x = q*x*d +1
      // into the relation d*x=(q2+1)*x*d + q*d + 1
      matrix S = l[5]; // matrix of coefficients
      S[1,2] = q^2+1;
      l[5] = S;
      matrix T = l[6]; // matrix of polynomials
      T[1,2] = q*d+1;
      l[6] = T;
      def rr = ring(l);
      setring rr; rr;
      ==> // coefficients: QQ(q) considered as a field
      ==> // number of vars : 2
      ==> //        block   1 : ordering Dp
      ==> //                  : names    x d
      ==> //        block   2 : ordering C
      ==> // noncommutative relations:
      ==> //    dx=(q2+1)*xd+(q)*d+1

See also ring (plural); ringlist.

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