##### 7.5.20.0. weightedRing

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

Usage:
  weightedRing(r); r a ring

Return:
  ring

Purpose:
  equip the variables of the given ring with weights such that the relations of new ring (with weighted variables) satisfies the ordering condition for G-algebras: e.g. \forall\;i<j\;\;lm_w(d_{ij})<_w x_i x_j.

Note:
  activate this ring with the "setring" command

Example:

    LIB "nctools.lib";
    ring r = (0,q),(a,b,c,d),lp;
    matrix C[4][4];
    C[1,2]=q; C[1,3]=q; C[1,4]=1; C[2,3]=1; C[2,4]=q; C[3,4]=q;
    matrix D[4][4];
    D[1,4]=(q-1/q)*b*c;
    def S = nc_algebra(C,D); setring S; S;
    ==> // coefficients: QQ(q) considered as a field
    ==> // number of vars : 4
    ==> //        block   1 : ordering lp
    ==> //                  : names    a b c d
    ==> //        block   2 : ordering C
    ==> // noncommutative relations:
    ==> //    ba=(q)*ab
    ==> //    ca=(q)*ac
    ==> //    da=ad+(q2-1)/(q)*bc
    ==> //    db=(q)*bd
    ==> //    dc=(q)*cd
    def t=weightedRing(S);
    setring t; t;
    ==> // coefficients: QQ(q) considered as a field
    ==> // number of vars : 4
    ==> //        block   1 : ordering M
    ==> //                  : names    a b c d
    ==> //                  : weights  2 1 1 1
    ==> //                  : weights  0 0 0 1
    ==> //                  : weights  0 0 1 0
    ==> //                  : weights  0 1 0 0
    ==> //        block   2 : ordering C
    ==> // noncommutative relations:
    ==> //    ba=(q)*ab
    ==> //    ca=(q)*ac
    ==> //    da=ad+(q2-1)/(q)*bc
    ==> //    db=(q)*bd
    ==> //    dc=(q)*cd

See also: Gweights.

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