Top
Back: multigrading_lib
Forward: getVariableWeights
FastBack: monomialideal_lib
FastForward: paraplanecurves_lib
Up: multigrading_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.5.1 setBaseMultigrading

Procedure from library multigrading.lib (see multigrading_lib).

Usage:
setBaseMultigrading(M[, T]); M, T are integer matrices

Purpose:
attaches weights of variables and torsion to the basering.

Note:
M encodes the weights of variables column-wise.
The torsion is given by the lattice spanned by the columns of the integer matrix T in Z^nrows(M) over Z.

Return:
nothing

Example:
 
LIB "multigrading.lib";
ring R = 0, (x, y, z), dp;
// Weights of variables
intmat M[3][3] =
1, 0, 0,
0, 1, 0,
0, 0, 1;
// Torsion:
intmat L[3][2] =
1, 1,
1, 3,
1, 5;
// attaches M & L to R (==basering):
setBaseMultigrading(M, L); // Grading: Z^3/L
// Weights are accessible via "getVariableWeights()":
getVariableWeights();
==> 1,0,0,
==> 0,1,0,
==> 0,0,1 
// Test all possible usages:
(getVariableWeights() == M) && (getVariableWeights(R) == M) && (getVariableWeights(basering) == M);
==> 1
// Torsion is accessible via "getTorsion()":
getTorsion();
==> 1,1,
==> 1,3,
==> 1,5 
// Test all possible usages:
(getTorsion() == L) && (getTorsion(R) == L) && (getTorsion(basering) == L);
==> 1
// And its hermite NF via getTorsion("hermite"):
getTorsion("hermite");
==> 1,0,
==> 1,2,
==> 1,4 
// Test all possible usages:
intmat H = hermite(L);
(getTorsion("hermite") == H) && (getTorsion(R, "hermite") == H) && (getTorsion(basering, "hermite") == H);
==> 1
kill L, M;
// ----------- isomorphic multigrading -------- //
// Weights of variables
intmat M[2][3] =
1, -2, 1,
1,  1, 0;
// Torsion:
intmat L[2][1] =
0,
2;
// attaches M & L to R (==basering):
setBaseMultigrading(M, L); // Grading: Z + (Z/2Z)
// Weights are accessible via "getVariableWeights()":
getVariableWeights() == M;
==> 1
// Torsion is accessible via "getTorsion()":
getTorsion() == L;
==> 1
kill L, M;
// ----------- extreme case ------------ //
// Weights of variables
intmat M[1][3] =
1,  -1, 10;
// Torsion:
intmat L[1][1] =
0;
// attaches M & L to R (==basering):
setBaseMultigrading(M); // Grading: Z^3
// Weights are accessible via "getVariableWeights()":
getVariableWeights() == M;
==> 1
// Torsion is accessible via "getTorsion()":
getTorsion() == L;
==> 1


Top Back: multigrading_lib Forward: getVariableWeights FastBack: monomialideal_lib FastForward: paraplanecurves_lib Up: multigrading_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-1-2, Oct 2010, generated by texi2html.