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

D.15.17.5 createGroup

Procedure from library multigrading.lib (see multigrading_lib).

Usage:
createGroup(S, L); S, L are integer matrices

Purpose:
create the group of the form (S+L)/L, i.e.
S specifies generators, L specifies relations.

Return:
group

Example:
 
LIB "multigrading.lib";
intmat S[3][3] =
1, 0, 0,
0, 1, 0,
0, 0, 1;
intmat L[3][2] =
1, 1,
1, 3,
1, 5;
def G = createGroup(S, L); // (S+L)/L
printGroup(G);
==> Generators: 
==>      1     0     0
==>      0     1     0
==>      0     0     1
==> Relations: 
==>      1     1
==>      1     3
==>      1     5
kill S, L, G;
/////////////////////////////////////////////////
intmat S[2][3] =
1, -2, 1,
1,  1, 0;
intmat L[2][1] =
0,
2;
def G = createGroup(S, L); // (S+L)/L
printGroup(G);
==> Generators: 
==>      1    -2     1
==>      1     1     0
==> Relations: 
==>      0
==>      2
kill S, L, G;
// ----------- extreme case ------------ //
intmat S[1][3] =
1,  -1, 10;
// Torsion:
intmat L[1][1] =
0;
def G = createGroup(S, L); // (S+L)/L
printGroup(G);
==> Generators: 
==>      1    -1    10
==> Relations: 
==>      0