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

D.15.25.30 multiDeg

Procedure from library multigrading.lib (see multigrading_lib).

Usage:
multiDeg(A); polynomial/vector/ideal/module A

Purpose:
compute multidegree

Example:
 
LIB "multigrading.lib";
ring r = 0,(x, y), dp;
intmat A[2][2] = 1, 0, 0, 1;
print(A);
==>      1     0
==>      0     1
intmat Ta[2][1] = 0, 3;
print(Ta);
==>      0
==>      3
//   attrib(A, "gradingGroup", Ta); // to think about
//  "poly:";
setBaseMultigrading(A);
multiDeg( x*x, A );
==> 2,0
multiDeg( y*y*y, A );
==> 0,3
setBaseMultigrading(A, Ta);
multiDeg( x*x*y );
==> 2,1
multiDeg( y*y*y*x );
==> 1,3
multiDeg( x*y + x + 1 );
==> 1,1
multiDegPartition(x*y + x + 1);
==> _[1]=xy
==> _[2]=x
==> _[3]=1
print ( multiDeg(0) );
==> 0,
==> 0 
poly zero = 0;
print ( multiDeg(zero) );
==> 0,
==> 0 
//  "ideal:";
ideal I = y*x*x, x*y*y*y;
print( multiDeg(I) );
==>      2     1
==>      1     3
print ( multiDeg(ideal(0)) );
==> 0,
==> 0 
print ( multiDeg(ideal(0,0,0)) );
==>      0     0     0
==>      0     0     0
//  "vectors:";
intmat B[2][2] = 0, 1, 1, 0;
print(B);
==>      0     1
==>      1     0
multiDeg( setModuleGrading(y*y*y*gen(2), B ));
==> 1,3
multiDeg( setModuleGrading(x*x*gen(1), B ));
==> 2,1
vector V = x*gen(1) + y*gen(2);
V = setModuleGrading(V, B);
multiDeg( V );
==> 1,1
vector v1 = setModuleGrading([0, 0, 0], B);
print( multiDeg( v1 ) );
==> 0,
==> 0 
vector v2 = setModuleGrading([0], B);
print( multiDeg( v2 ) );
==> 0,
==> 0 
//  "module:";
module D = x*gen(1), y*gen(2);
D;
==> D[1]=x*gen(1)
==> D[2]=y*gen(2)
D = setModuleGrading(D, B);
print( multiDeg( D ) );
==>      1     1
==>      1     1
module DD = [0, 0],[0, 0, 0];
DD = setModuleGrading(DD, B);
print( multiDeg( DD ) );
==>      0     0
==>      0     0
module DDD = [0, 0];
DDD = setModuleGrading(DDD, B);
print( multiDeg( DDD ) );
==> 0,
==> 0