Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 A B C D E F Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

4 Morphisms
 4.1 Morphisms: Categories and Representations
 4.2 Morphisms: Constructors
 4.3 Morphisms: Properties
 4.4 Morphisms: Attributes
 4.5 Morphisms: Operations and Functions

4 Morphisms

4.1 Morphisms: Categories and Representations

4.1-1 IsHomalgMorphism
‣ IsHomalgMorphism( phi )( category )

Returns: true or false

This is the super GAP-category which will include the GAP-categories IsHomalgStaticMorphism (4.1-2) and IsHomalgChainMorphism (7.1-1). We need this GAP-category to be able to build complexes with *objects* being objects of homalg categories or again complexes. We need this GAP-category to be able to build chain morphisms with *morphisms* being morphisms of homalg categories or again chain morphisms.
CAUTION: Never let homalg morphisms (which are not endomorphisms) be multiplicative elements!!

DeclareCategory( "IsHomalgMorphism",
        IsHomalgStaticObjectOrMorphism and
        IsAdditiveElementWithInverse );

4.1-2 IsHomalgStaticMorphism
‣ IsHomalgStaticMorphism( phi )( category )

Returns: true or false

This is the super GAP-category which will include the GAP-categories IsHomalgMap, etc.
CAUTION: Never let homalg morphisms (which are not endomorphisms) be multiplicative elements!!

DeclareCategory( "IsHomalgStaticMorphism",
        IsHomalgMorphism );

4.1-3 IsHomalgEndomorphism
‣ IsHomalgEndomorphism( phi )( category )

Returns: true or false

This is the super GAP-category which will include the GAP-categories IsHomalgSelfMap, IsHomalgChainEndomorphism (7.1-2), etc. be multiplicative elements!!

DeclareCategory( "IsHomalgEndomorphism",
        IsHomalgMorphism and
        IsMultiplicativeElementWithInverse );

4.1-4 IsMorphismOfFinitelyGeneratedObjectsRep
‣ IsMorphismOfFinitelyGeneratedObjectsRep( phi )( representation )

Returns: true or false

The GAP representation of morphisms of finitley generated homalg objects.

(It is a representation of the GAP category IsHomalgMorphism (4.1-1).)

DeclareRepresentation( "IsMorphismOfFinitelyGeneratedObjectsRep",
        IsHomalgMorphism,
        [ ] );

4.1-5 IsStaticMorphismOfFinitelyGeneratedObjectsRep
‣ IsStaticMorphismOfFinitelyGeneratedObjectsRep( phi )( representation )

Returns: true or false

The GAP representation of static morphisms of finitley generated homalg static objects.

(It is a representation of the GAP category IsHomalgStaticMorphism (4.1-2), which is a subrepresentation of the GAP representation IsMorphismOfFinitelyGeneratedObjectsRep (4.1-4).)

DeclareRepresentation( "IsStaticMorphismOfFinitelyGeneratedObjectsRep",
        IsHomalgStaticMorphism and
        IsMorphismOfFinitelyGeneratedObjectsRep,
        [ ] );

4.2 Morphisms: Constructors

4.3 Morphisms: Properties

4.3-1 IsMorphism
‣ IsMorphism( phi )( property )

Returns: true or false

IsMorphism=true means one of the following:

4.3-2 IsGeneralizedMorphismWithFullDomain
‣ IsGeneralizedMorphismWithFullDomain( phi )( property )

Returns: true or false

Check if phi is a generalized morphism.

4.3-3 IsGeneralizedEpimorphism
‣ IsGeneralizedEpimorphism( phi )( property )

Returns: true or false

Check if phi is a generalized epimorphism.

4.3-4 IsGeneralizedMonomorphism
‣ IsGeneralizedMonomorphism( phi )( property )

Returns: true or false

Check if phi is a generalized monomorphism.

4.3-5 IsGeneralizedIsomorphism
‣ IsGeneralizedIsomorphism( phi )( property )

Returns: true or false

Check if phi is a generalized isomorphism.

4.3-6 IsOne
‣ IsOne( phi )( property )

Returns: true or false

Check if the homalg morphism phi is the identity morphism.

4.3-7 IsIdempotent
‣ IsIdempotent( phi )( property )

Returns: true or false

Check if the homalg morphism phi is an automorphism.

4.3-8 IsMonomorphism
‣ IsMonomorphism( phi )( property )

Returns: true or false

Check if the homalg morphism phi is a monomorphism.

4.3-9 IsEpimorphism
‣ IsEpimorphism( phi )( property )

Returns: true or false

Check if the homalg morphism phi is an epimorphism.

4.3-10 IsSplitMonomorphism
‣ IsSplitMonomorphism( phi )( property )

Returns: true or false

Check if the homalg morphism phi is a split monomorphism.

4.3-11 IsSplitEpimorphism
‣ IsSplitEpimorphism( phi )( property )

Returns: true or false

Check if the homalg morphism phi is a split epimorphism.

4.3-12 IsIsomorphism
‣ IsIsomorphism( phi )( property )

Returns: true or false

Check if the homalg morphism phi is an isomorphism.

4.3-13 IsAutomorphism
‣ IsAutomorphism( phi )( property )

Returns: true or false

Check if the homalg morphism phi is an automorphism.

4.4 Morphisms: Attributes

4.4-1 Source
‣ Source( phi )( attribute )

Returns: a homalg object

The source of the homalg morphism phi.

4.4-2 Range
‣ Range( phi )( attribute )

Returns: a homalg object

The target (range) of the homalg morphism phi.

4.4-3 CokernelEpi
‣ CokernelEpi( phi )( attribute )

Returns: a homalg morphism

The natural epimorphism from the Range(phi) onto the Cokernel(phi).

4.4-4 CokernelNaturalGeneralizedIsomorphism
‣ CokernelNaturalGeneralizedIsomorphism( phi )( attribute )

Returns: a homalg morphism

The natural generalized isomorphism from the Cokernel(phi) onto the Range(phi).

4.4-5 KernelSubobject
‣ KernelSubobject( phi )( attribute )

Returns: a homalg subobject

This constructor returns the finitely generated kernel of the homalg morphism phi as a subobject of the homalg object Source(phi) with generators given by the syzygies of phi.

4.4-6 KernelEmb
‣ KernelEmb( phi )( attribute )

Returns: a homalg morphism

The natural embedding of the Kernel(phi) into the Source(phi).

4.4-7 ImageSubobject
‣ ImageSubobject( phi )( attribute )

Returns: a homalg subobject

This constructor returns the finitely generated image of the homalg morphism phi as a subobject of the homalg object Range(phi) with generators given by phi applied to the generators of its source object.

4.4-8 ImageObjectEmb
‣ ImageObjectEmb( phi )( attribute )

Returns: a homalg morphism

The natural embedding of the ImageObject(phi) into the Range(phi).

4.4-9 ImageObjectEpi
‣ ImageObjectEpi( phi )( attribute )

Returns: a homalg morphism

The natural epimorphism from the Source(phi) onto the ImageObject(phi).

4.4-10 MorphismAid
‣ MorphismAid( phi )( attribute )

Returns: a homalg morphism

The morphism aid map of a true generalized map.
(no method installed)

4.4-11 InverseOfGeneralizedMorphismWithFullDomain
‣ InverseOfGeneralizedMorphismWithFullDomain( phi )( attribute )

Returns: a homalg morphism

The generalized inverse of the epimorphism phi (cf. [Bar, Cor. 4.8])).

4.4-12 DegreeOfMorphism
‣ DegreeOfMorphism( phi )( attribute )

Returns: an integer

The degree of the morphism phi between graded objects.
(no method installed)

4.5 Morphisms: Operations and Functions

4.5-1 ByASmallerPresentation
‣ ByASmallerPresentation( phi )( method )

Returns: a homalg map

It invokes ByASmallerPresentation for homalg (static) objects.

InstallMethod( ByASmallerPresentation,
        "for homalg morphisms",
        [ IsStaticMorphismOfFinitelyGeneratedObjectsRep ],
        
  function( phi )
    
    ByASmallerPresentation( Source( phi ) );
    ByASmallerPresentation( Range( phi ) );
    
    return DecideZero( phi );
    
end );

This method performs side effects on its argument phi and returns it.

gap> ZZ := HomalgRingOfIntegers( );
Z
gap> M := HomalgMatrix( "[ 2, 3, 4,   5, 6, 7 ]", 2, 3, ZZ );
<A 2 x 3 matrix over an internal ring>
gap> M := LeftPresentation( M );
<A non-torsion left module presented by 2 relations for 3 generators>
gap> N := HomalgMatrix( "[ 2, 3, 4, 5,   6, 7, 8, 9 ]", 2, 4, ZZ );
<A 2 x 4 matrix over an internal ring>
gap> N := LeftPresentation( N );
<A non-torsion left module presented by 2 relations for 4 generators>
gap> mat := HomalgMatrix( "[ \
> 1, 0, -2, -4, \
> 0, 1,  4,  7, \
> 1, 0, -2, -4  \
> ]", 3, 4, ZZ );
<A 3 x 4 matrix over an internal ring>
gap> phi := HomalgMap( mat, M, N );
<A "homomorphism" of left modules>
gap> IsMorphism( phi );
true
gap> phi;
<A homomorphism of left modules>
gap> Display( phi );
[ [   1,   0,  -2,  -4 ],
  [   0,   1,   4,   7 ],
  [   1,   0,  -2,  -4 ] ]

the map is currently represented by the above 3 x 4 matrix
gap> ByASmallerPresentation( phi );
<A non-zero homomorphism of left modules>
gap> Display( phi );
[ [   0,   0,   0 ],
  [   1,  -1,  -2 ] ]

the map is currently represented by the above 2 x 3 matrix
gap> M;
<A rank 1 left module presented by 1 relation for 2 generators>
gap> Display( M );
Z/< 3 > + Z^(1 x 1)
gap> N;
<A rank 2 left module presented by 1 relation for 3 generators>
gap> Display( N );
Z/< 4 > + Z^(1 x 2)
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 A B C D E F Bib Ind

generated by GAPDoc2HTML