Top
Back: autGradAlg
Forward: stabilizer
FastBack:
FastForward:
Up: autgradalg_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.2.3 autGenWeights

Procedure from library autgradalg.lib (see autgradalg_lib).

Usage:
autGenWeights(Q): Q is an intmat (columns must contain a lattice basis).

Assume:
the cone over Q must be pointed and the columns of Q contain a lattice basis; there must be no 0-columns in Q. We assume that, in the torsion case, the torsion rows of Q are reduced (for example, a row of Q standing for entries in ZZ/5ZZ must not contain elements > 5 or < 0).

Purpose:
computes generators for the subgroup aut(Omega_S) of GL(n, \ZZ) that consists of all invertible integer kxk matrices which fix the set Omega_S of degrees of the variables of the basering S. The set of columns of Q equals Omega_S.

Reference:
Remark 3.1.

Return:
a list of integral matrices A with |det A| = 1 such that A*{columns of Q} = {columns of Q}.

Example:
 
LIB "autgradalg.lib";
==> // ** redefining fullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining fullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining origin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining origin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining positiveOrthant (  LIB "gfan.lib";) gitfan.lib::mod_init\
   :86
==> // ** redefining positiveOrthant (  LIB "gfan.lib";) gitfan.lib::mod_init\
   :86
==> // ** redefining intmatToGfanVectorConfiguration (  LIB "gfan.lib";) gitf\
   an.lib::mod_init:86
==> // ** redefining secondaryFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining secondaryFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining ambientDimension (  LIB "gfan.lib";) gitfan.lib::mod_ini\
   t:86
==> // ** redefining ambientDimension (  LIB "gfan.lib";) gitfan.lib::mod_ini\
   t:86
==> // ** redefining canonicalizeCone (  LIB "gfan.lib";) gitfan.lib::mod_ini\
   t:86
==> // ** redefining canonicalizeCone (  LIB "gfan.lib";) gitfan.lib::mod_ini\
   t:86
==> // ** redefining codimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining codimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining coneViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_init:8\
   6
==> // ** redefining coneViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_init:8\
   6
==> // ** redefining coneViaInequalities (  LIB "gfan.lib";) gitfan.lib::mod_\
   init:86
==> // ** redefining coneViaInequalities (  LIB "gfan.lib";) gitfan.lib::mod_\
   init:86
==> // ** redefining coneLink (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining coneLink (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining containsAsFace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining containsAsFace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining containsRelatively (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining containsRelatively (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining containsInSupport (  LIB "gfan.lib";) gitfan.lib::mod_in\
   it:86
==> // ** redefining containsInSupport (  LIB "gfan.lib";) gitfan.lib::mod_in\
   it:86
==> // ** redefining containsPositiveVector (  LIB "gfan.lib";) gitfan.lib::m\
   od_init:86
==> // ** redefining containsPositiveVector (  LIB "gfan.lib";) gitfan.lib::m\
   od_init:86
==> // ** redefining convexHull (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining convexHull (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining convexIntersection (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining convexIntersection (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining dimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining dimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining dualCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining dualCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining equations (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining equations (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining faceContaining (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining faceContaining (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining facets (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining facets (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining generatorsOfLinealitySpace (  LIB "gfan.lib";) gitfan.li\
   b::mod_init:86
==> // ** redefining generatorsOfLinealitySpace (  LIB "gfan.lib";) gitfan.li\
   b::mod_init:86
==> // ** redefining generatorsOfSpan (  LIB "gfan.lib";) gitfan.lib::mod_ini\
   t:86
==> // ** redefining generatorsOfSpan (  LIB "gfan.lib";) gitfan.lib::mod_ini\
   t:86
==> // ** redefining getLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining getLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining getMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
   :86
==> // ** redefining getMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
   :86
==> // ** redefining inequalities (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining inequalities (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isFullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isFullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isOrigin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isOrigin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isSimplicial (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isSimplicial (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining linealityDimension (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining linealityDimension (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining linealitySpace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining linealitySpace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining negatedCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining negatedCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining quotientLatticeBasis (  LIB "gfan.lib";) gitfan.lib::mod\
   _init:86
==> // ** redefining quotientLatticeBasis (  LIB "gfan.lib";) gitfan.lib::mod\
   _init:86
==> // ** redefining randomPoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining randomPoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining rays (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining rays (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining relativeInteriorPoint (  LIB "gfan.lib";) gitfan.lib::mo\
   d_init:86
==> // ** redefining relativeInteriorPoint (  LIB "gfan.lib";) gitfan.lib::mo\
   d_init:86
==> // ** redefining semigroupGenerator (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining semigroupGenerator (  LIB "gfan.lib";) gitfan.lib::mod_i\
   nit:86
==> // ** redefining setLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining setLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining setMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
   :86
==> // ** redefining setMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
   :86
==> // ** redefining span (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining span (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining uniquePoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining uniquePoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining containsInCollection (  LIB "gfan.lib";) gitfan.lib::mod\
   _init:86
==> // ** redefining containsInCollection (  LIB "gfan.lib";) gitfan.lib::mod\
   _init:86
==> // ** redefining emptyFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining emptyFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining fanViaCones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining fanViaCones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining fullFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining fullFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining fVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining fVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining getCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining getCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining insertCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining insertCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isCompatible (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isCompatible (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isPure (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining isPure (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining nmaxcones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining nmaxcones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining ncones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining ncones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining numberOfConesOfDimension (  LIB "gfan.lib";) gitfan.lib:\
   :mod_init:86
==> // ** redefining numberOfConesOfDimension (  LIB "gfan.lib";) gitfan.lib:\
   :mod_init:86
==> // ** redefining removeCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining removeCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining dualPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining dualPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining newtonPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining newtonPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:\
   86
==> // ** redefining polytopeViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_in\
   it:86
==> // ** redefining polytopeViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_in\
   it:86
==> // ** redefining polytopeViaInequalities (  LIB "gfan.lib";) gitfan.lib::\
   mod_init:86
==> // ** redefining polytopeViaInequalities (  LIB "gfan.lib";) gitfan.lib::\
   mod_init:86
==> // ** redefining vertices (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining vertices (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining onesVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining onesVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
==> // ** redefining mod_init (  LIB "gfan.lib";) gitfan.lib::mod_init:86
// torsion example
// ZZ + ZZ/5ZZ:
intmat Q[2][5] =
1,1,1,1,1,
2,3,1,4,0;
list TOR = 5;
autGenWeights(Q, TOR);
==> [1]:
==>    1,0,
==>    0,1 
==> [2]:
==>    1,0,
==>    0,2 
==> [3]:
==>    1,0,
==>    0,3 
==> [4]:
==>    1,0,
==>    0,4 
==> [5]:
==>    1,0,
==>    1,1 
==> [6]:
==>    1,0,
==>    1,2 
==> [7]:
==>    1,0,
==>    1,3 
==> [8]:
==>    1,0,
==>    1,4 
==> [9]:
==>    1,0,
==>    2,1 
==> [10]:
==>    1,0,
==>    2,2 
==> [11]:
==>    1,0,
==>    2,3 
==> [12]:
==>    1,0,
==>    2,4 
==> [13]:
==>    1,0,
==>    3,1 
==> [14]:
==>    1,0,
==>    3,2 
==> [15]:
==>    1,0,
==>    3,3 
==> [16]:
==>    1,0,
==>    3,4 
==> [17]:
==>    1,0,
==>    4,1 
==> [18]:
==>    1,0,
==>    4,2 
==> [19]:
==>    1,0,
==>    4,3 
==> [20]:
==>    1,0,
==>    4,4 
kill Q, TOR;
// another free example
intmat Q[2][6] =
-2,2,-1,1,-1,1,
1,1,1,1,1,1;
autGenWeights(Q);
==> [1]:
==>    1,0,
==>    0,1 
==> [2]:
==>    -1,0,
==>    0,1 
kill Q;
//----------------
// 2nd free example
intmat Q[2][4] =
1,0,1,1,
0,1,1,1;
autGenWeights(Q);
==> [1]:
==>    1,0,
==>    0,1 
==> [2]:
==>    0,1,
==>    1,0 
kill Q;


Top Back: autGradAlg Forward: stabilizer FastBack: FastForward: Up: autgradalg_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 4.4.1, 2025, generated by texi2html.