|
D.15.1.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";
// 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;
|
|