GAP (homalg) - Chapter 5: Elements

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]

[MathJax on]

5 Elements
5.1 Elements: Category and Representations
5.1-1 IsHomalgElement
5.1-2 IsElementOfAnObjectGivenByAMorphismRep
5.2 Elements: Constructors
5.3 Elements: Properties
5.3-1 IsZero
5.3-2 IsCyclicGenerator
5.3-3 IsTorsion
5.4 Elements: Attributes
5.4-1 Annihilator
5.5 Elements: Operations and Functions
5.5-1 in

### 5 Elements

An element of an object M is internally represented by a morphism from the "structure object" to the object M. In particular, the data structure for object elements automatically profits from the intrinsic realization of morphisms in the homalg project.

#### 5.1 Elements: Category and Representations

##### 5.1-1 IsHomalgElement

`‣ IsHomalgElement`( M ) | ( category )

Returns: `true` or `false`

The GAP category of object elements.

##### 5.1-2 IsElementOfAnObjectGivenByAMorphismRep

`‣ IsElementOfAnObjectGivenByAMorphismRep`( M ) | ( representation )

Returns: `true` or `false`

The GAP representation of elements of finitley presented objects.

(It is a representation of the GAP category `IsHomalgElement` (5.1-1).)

#### 5.2 Elements: Constructors

#### 5.3 Elements: Properties

##### 5.3-1 IsZero

`‣ IsZero`( m ) | ( property )

Returns: `true` or `false`

Check if the object element m is zero.

##### 5.3-2 IsCyclicGenerator

`‣ IsCyclicGenerator`( m ) | ( property )

Returns: `true` or `false`

Check if the object element m is a cyclic generator.

##### 5.3-3 IsTorsion

`‣ IsTorsion`( m ) | ( property )

Returns: `true` or `false`

Check if the object element m is a torsion element.

#### 5.4 Elements: Attributes

##### 5.4-1 Annihilator

`‣ Annihilator`( e ) | ( attribute )

Returns: a homalg subobject

The annihilator of the object element e as a subobject of the structure object.

#### 5.5 Elements: Operations and Functions

##### 5.5-1 in

`‣ in`( m, N ) | ( attribute )

Returns: `true` or `false`

Is the element m of the object M included in the subobject N≤ M, i.e., does the morphism (with the unit object as source and M as target) underling the element m of M factor over the subobject morphism N-> M?

    gap> ZZ := HomalgRingOfIntegers( );
    Z
    gap> M := 2 * ZZ;
    <A free left module of rank 2 on free generators>
    gap> a := HomalgModuleElement( "[ 6, 0 ]", M );
    ( 6, 0 )
    gap> N := Subobject( HomalgMap( "[ 2, 0 ]", 1 * ZZ, M ) );
    <A free left submodule given by a cyclic generator>
    gap> K := Subobject( HomalgMap( "[ 4, 0 ]", 1 * ZZ, M ) );
    <A free left submodule given by a cyclic generator>
    gap> a in M;
    true
    gap> a in N;
    true
    gap> a in UnderlyingObject( N );
    true
    gap> a in K;
    false
    gap> a in UnderlyingObject( K );
    false
    gap> a in 3 * ZZ;
    false

    InstallMethod( \in,
            "for homalg elements",
            [ IsHomalgElement, IsStaticFinitelyPresentedSubobjectRep ],

      function( m, N )
        local phi, psi;

        phi := UnderlyingMorphism( m );

        psi := MorphismHavingSubobjectAsItsImage( N );

        if not IsIdenticalObj( Range( phi ), Range( psi ) ) then
            Error( "the super object of the subobject and the range ",
                   "of the morphism underlying the element do not coincide\n" );
        fi;

        return IsZero( PreCompose( phi, CokernelEpi( psi ) ) );

    end );

[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