| #### D.15.14.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

User manual for Singular version 4.4.1, 2025, generated by texi2html.