41.11 Operations for Row Modules

Here we mention only those facts about operations that have to be told in addition to those for row spaces (see Operations for Row Spaces).

Comparisons of Modules

M1 = M2
M1 < M2

Equality and ordering of (quotients of) row modules are defined as equality Operations for Row Spaces).

This means that equal modules may be inequivalent as modules, and even the acting rings may be different. For testing equivalence of modules, see IsEquivalent for Row Modules.

    gap> s:= Submodule( nat, [ [ 1, 1, 1 ] * Z(2) ] );
    Submodule( nat, [ [ Z(2)^0, Z(2)^0, Z(2)^0 ] ] )
    gap> s2:= Submodule( nat, [ [ 1, 1, 0 ] * Z(2) ] );
    Submodule( nat, [ [ Z(2)^0, Z(2)^0, 0*Z(2) ] ] )
    gap> s = s2;
    false
    gap> s < s2;
    true 

Arithmetic Operations of Modules

M1 + M2 :

returns the sum of the two modules M1 and M2, that is, the smallest module containing both M1 and M2. Note that the same ring must act on M1 and M2.

M1 / M2 :

returns the factor module of the module M1 by its submodule M2. Note that the same ring must act on M1 and M2.
    gap> s1:= Submodule( nat, [ [ 1, 1, 1 ] * Z(2) ] );
    Submodule( nat, [ [ Z(2)^0, Z(2)^0, Z(2)^0 ] ] )
    gap> q:= nat / s1;
    nat / [ [ Z(2)^0, Z(2)^0, Z(2)^0 ] ]
    gap> s2:= Submodule( nat, [ [ 1, 1, 0 ] * Z(2) ] );
    Submodule( nat, [ [ Z(2)^0, Z(2)^0, 0*Z(2) ] ] )
    gap> s3:= s1 + s2;
    Submodule( nat,
    [ [ Z(2)^0, Z(2)^0, Z(2)^0 ], [ 0*Z(2), 0*Z(2), Z(2)^0 ] ] )
    gap> s3 = nat;
    true 

Operations for Row Spaces.

Previous Up Top Next
Index

GAP 3.4.4
April 1997