Home Online Manual
Top
Back: multiDeg
Forward: multiDegPartition
FastBack:
FastForward:
Up: multigrading_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.25.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