#### D.15.13.31 multiDegBasis

Procedure from library `multigrading.lib` (see multigrading_lib).

Usage:
  multiDegBasis(d), multidegree: intvec d

Assume:
  current ring is multigraded, monomial ordering is global

Purpose:
  compute all monomials of multidegree d

Example:

    LIB "multigrading.lib";
    ring R = 0, (x, y), dp;
    intmat g1[2][2]=1,0,0,1;
    intmat l[2][1]=2,0;
    intmat g2[2][2]=1,1,1,1;
    intvec v1=4,0;
    intvec v2=4,4;
    intmat g3[1][2]=1,1;
    setBaseMultigrading(g3);
    intvec v3=4:1;
    v3;
    ==> 4
    multiDegBasis(v3);
    ==> _[1]=x4
    ==> _[2]=y4
    ==> _[3]=xy3
    ==> _[4]=x2y2
    ==> _[5]=x3y
    setBaseMultigrading(g1,l);
    multiDegBasis(v1);
    ==> _[1]=1
    setBaseMultigrading(g2);
    multiDegBasis(v2);
    ==> _[1]=y4
    ==> _[2]=x4
    ==> _[3]=x3y
    ==> _[4]=x2y2
    ==> _[5]=xy3
    intmat M[2][2] = 1, -1, -1, 1;
    intvec d = -2, 2;
    setBaseMultigrading(M);
    multiDegBasis(d);
    ==> _[1]=y2
    attrib(_, "ZeroPart");
    ==> _[1]=xy
    kill R, M, d;
    ring R = 0, (x, y, z), dp;
    intmat M[2][3] = 1, -2, 1,     1, 1, 0;
    intmat L[2][1] = 0, 2;
    intvec d = 4, 1;
    setBaseMultigrading(M, L);
    multiDegBasis(d);
    ==> _[1]=x3z
    ==> _[2]=x6y
    ==> _[3]=yz6
    ==> _[4]=xz3
    attrib(_, "ZeroPart");
    ==> _[1]=xyz
    ==> _[2]=x4y2
    ==> _[3]=y2z4
    kill R, M, d;
    ring R = 0, (x, y, z), dp;
    qring Q = std(ideal( y^6+ x*y^3*z-x^2*z^2 ));
    intmat M[2][3] = 1, 1, 2,     2, 1, 1;
    //  intmat T[2][1] = 0, 2;
    setBaseMultigrading(M); // BUG????
    intvec d = 6, 6;
    multiDegBasis(d);
    ==> _[1]=x2z2
    ==> _[2]=xy3z
    attrib(_, "ZeroPart");
    ==> _[1]=0
    kill R, Q, M, d;
    ring R = 0, (x, y, z), dp;
    qring Q = std(ideal( x*z^3 - y *z^6, x*y*z  - x^4*y^2 ));
    intmat M[2][3] = 1, -2, 1,     1, 1, 0;
    intmat T[2][1] = 0, 2;
    intvec d = 4, 1;
    setBaseMultigrading(M, T); // BUG????
    multiDegBasis(d);
    ==> _[1]=x3z
    ==> _[2]=x6y
    ==> _[3]=xz3
    attrib(_, "ZeroPart");
    ==> _[1]=xyz
    ==> _[2]=y2z4

User manual for Singular version 4-0-3, 2016, generated by texi2html.