# Singular

### 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 aquired 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; ==> // characteristic : 0 ==> // 1 parameter : q ==> // minpoly : 0 ==> // 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; ==> // characteristic : 0 ==> // 1 parameter : q ==> // minpoly : 0 ==> // 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.