GAP (homalg) - Chapter 3: Objects

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]

3 Objects
3.1 Objects: Category and Representations
3.1-1 IsHomalgObject
3.1-2 IsHomalgStaticObject
3.1-3 IsFinitelyPresentedObjectRep
3.1-4 IsStaticFinitelyPresentedObjectOrSubobjectRep
3.1-5 IsStaticFinitelyPresentedObjectRep
3.1-6 IsStaticFinitelyPresentedSubobjectRep
3.2 Objects: Constructors
3.2-1 Subobject
3.3 Objects: Properties
3.3-1 IsFree
3.3-2 IsStablyFree
3.3-3 IsProjective
3.3-4 IsProjectiveOfConstantRank
3.3-5 IsInjective
3.3-6 IsInjectiveCogenerator
3.3-7 FiniteFreeResolutionExists
3.3-8 IsReflexive
3.3-9 IsTorsionFree
3.3-10 IsArtinian
3.3-11 IsTorsion
3.3-12 IsPure
3.3-13 IsCohenMacaulay
3.3-14 IsGorenstein
3.3-15 IsKoszul
3.3-16 HasConstantRank
3.3-17 ConstructedAsAnIdeal
3.4 Objects: Attributes
3.4-1 TorsionSubobject
3.4-2 TheMorphismToZero
3.4-3 TheIdentityMorphism
3.4-4 FullSubobject
3.4-5 ZeroSubobject
3.4-6 EmbeddingInSuperObject
3.4-7 SuperObject
3.4-8 FactorObject
3.4-9 UnderlyingSubobject
3.4-10 NatTrIdToHomHom_R
3.4-11 Annihilator
3.4-12 EndomorphismRing
3.4-13 UnitObject
3.4-14 RankOfObject
3.4-15 ProjectiveDimension
3.4-16 DegreeOfTorsionFreeness
3.4-17 Grade
3.4-18 PurityFiltration
3.4-19 CodegreeOfPurity
3.4-20 HilbertPolynomial
3.4-21 AffineDimension
3.4-22 ProjectiveDegree
3.4-23 ConstantTermOfHilbertPolynomialn
3.4-24 ElementOfGrothendieckGroup
3.4-25 ChernPolynomial
3.4-26 ChernCharacter
3.5 Objects: Operations and Functions
3.5-1 CurrentResolution
3.5-2 UnderlyingObject
3.5-3 Saturate

### 3 Objects

#### 3.1 Objects: Category and Representations

##### 3.1-1 IsHomalgObject

`‣ IsHomalgObject`( F ) | ( category )

Returns: `true` or `false`

This is the super GAP-category which will include the GAP-categories `IsHomalgStaticObject` (3.1-2), `IsHomalgComplex` (6.1-1), `IsHomalgBicomplex` (8.1-1), `IsHomalgBigradedObject` (9.1-1), and `IsHomalgSpectralSequence` (10.1-1). We need this GAP-category to be able to build complexes with *objects* being objects of homalg categories or again complexes.

    DeclareCategory( "IsHomalgObject",
            IsHomalgObjectOrMorphism and
            IsStructureObjectOrObject and
            IsAdditiveElementWithZero );

##### 3.1-2 IsHomalgStaticObject

`‣ IsHomalgStaticObject`( F ) | ( category )

Returns: `true` or `false`

This is the super GAP-category which will include the GAP-categories `IsHomalgModule`, etc.

    DeclareCategory( "IsHomalgStaticObject",
            IsHomalgStaticObjectOrMorphism and
            IsHomalgObject );

##### 3.1-3 IsFinitelyPresentedObjectRep

`‣ IsFinitelyPresentedObjectRep`( M ) | ( representation )

Returns: `true` or `false`

The GAP representation of finitley presented homalg objects.

(It is a representation of the GAP category `IsHomalgObject` (3.1-1), which is a subrepresentation of the GAP representations `IsStructureObjectOrFinitelyPresentedObjectRep`.)

    DeclareRepresentation( "IsFinitelyPresentedObjectRep",
            IsHomalgObject and
            IsStructureObjectOrFinitelyPresentedObjectRep,
            [ ] );

##### 3.1-4 IsStaticFinitelyPresentedObjectOrSubobjectRep

`‣ IsStaticFinitelyPresentedObjectOrSubobjectRep`( M ) | ( representation )

Returns: `true` or `false`

The GAP representation of finitley presented homalg static objects.

(It is a representation of the GAP category `IsHomalgStaticObject` (3.1-2).)

    DeclareRepresentation( "IsStaticFinitelyPresentedObjectOrSubobjectRep",
            IsHomalgStaticObject,
            [ ] );

##### 3.1-5 IsStaticFinitelyPresentedObjectRep

`‣ IsStaticFinitelyPresentedObjectRep`( M ) | ( representation )

Returns: `true` or `false`

The GAP representation of finitley presented homalg static objects.

(It is a representation of the GAP category `IsHomalgStaticObject` (3.1-2), which is a subrepresentation of the GAP representations `IsStaticFinitelyPresentedObjectOrSubobjectRep` and `IsFinitelyPresentedObjectRep`.)

    DeclareRepresentation( "IsStaticFinitelyPresentedObjectRep",
            IsStaticFinitelyPresentedObjectOrSubobjectRep and
            IsFinitelyPresentedObjectRep,
            [ ] );

##### 3.1-6 IsStaticFinitelyPresentedSubobjectRep

`‣ IsStaticFinitelyPresentedSubobjectRep`( M ) | ( representation )

Returns: `true` or `false`

The GAP representation of finitley presented homalg subobjects of static objects.

(It is a representation of the GAP category `IsHomalgStaticObject` (3.1-2), which is a subrepresentation of the GAP representations `IsStaticFinitelyPresentedObjectOrSubobjectRep` and `IsFinitelyPresentedObjectRep`.)

    DeclareRepresentation( "IsStaticFinitelyPresentedSubobjectRep",
            IsStaticFinitelyPresentedObjectOrSubobjectRep and
            IsFinitelyPresentedObjectRep,
            [ ] );

#### 3.2 Objects: Constructors

##### 3.2-1 Subobject

`‣ Subobject`( phi ) | ( operation )

Returns: a homalg subobject

A synonym of `ImageSubobject` (4.4-7).

#### 3.3 Objects: Properties

##### 3.3-1 IsFree

`‣ IsFree`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is free.

##### 3.3-2 IsStablyFree

`‣ IsStablyFree`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is stably free.

##### 3.3-3 IsProjective

`‣ IsProjective`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is projective.

##### 3.3-4 IsProjectiveOfConstantRank

`‣ IsProjectiveOfConstantRank`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is projective of constant rank.

##### 3.3-5 IsInjective

`‣ IsInjective`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is (marked) injective.

##### 3.3-6 IsInjectiveCogenerator

`‣ IsInjectiveCogenerator`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is (marked) an injective cogenerator.

##### 3.3-7 FiniteFreeResolutionExists

`‣ FiniteFreeResolutionExists`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M allows a finite free resolution.
(no method installed)

##### 3.3-8 IsReflexive

`‣ IsReflexive`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is reflexive.

##### 3.3-9 IsTorsionFree

`‣ IsTorsionFree`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is torsion-free.

##### 3.3-10 IsArtinian

`‣ IsArtinian`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is artinian.

##### 3.3-11 IsTorsion

`‣ IsTorsion`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is torsion.

##### 3.3-12 IsPure

`‣ IsPure`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is pure.

##### 3.3-13 IsCohenMacaulay

`‣ IsCohenMacaulay`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is Cohen-Macaulay (depends on the specific Abelian category).

##### 3.3-14 IsGorenstein

`‣ IsGorenstein`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is Gorenstein (depends on the specific Abelian category).

##### 3.3-15 IsKoszul

`‣ IsKoszul`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M is Koszul (depends on the specific Abelian category).

##### 3.3-16 HasConstantRank

`‣ HasConstantRank`( M ) | ( property )

Returns: `true` or `false`

Check if the homalg object M has constant rank.
(no method installed)

##### 3.3-17 ConstructedAsAnIdeal

`‣ ConstructedAsAnIdeal`( J ) | ( property )

Returns: `true` or `false`

Check if the homalg subobject J was constructed as an ideal.
(no method installed)

#### 3.4 Objects: Attributes

##### 3.4-1 TorsionSubobject

`‣ TorsionSubobject`( M ) | ( attribute )

Returns: a homalg subobject

This constructor returns the finitely generated torsion subobject of the homalg object M.

##### 3.4-2 TheMorphismToZero

`‣ TheMorphismToZero`( M ) | ( attribute )

Returns: a homalg map

The zero morphism from the homalg object M to zero.

##### 3.4-3 TheIdentityMorphism

`‣ TheIdentityMorphism`( M ) | ( attribute )

Returns: a homalg map

The identity automorphism of the homalg object M.

##### 3.4-4 FullSubobject

`‣ FullSubobject`( M ) | ( attribute )

Returns: a homalg subobject

The homalg object M as a subobject of itself.

##### 3.4-5 ZeroSubobject

`‣ ZeroSubobject`( M ) | ( attribute )

Returns: a homalg subobject

The zero subobject of the homalg object M.

##### 3.4-6 EmbeddingInSuperObject

`‣ EmbeddingInSuperObject`( N ) | ( attribute )

Returns: a homalg map

In case N was defined as a subobject of some object L the embedding of N in L is returned.

##### 3.4-7 SuperObject

`‣ SuperObject`( M ) | ( attribute )

Returns: a homalg object

In case M was defined as a subobject of some object L the super object L is returned.

##### 3.4-8 FactorObject

`‣ FactorObject`( N ) | ( attribute )

Returns: a homalg object

In case N was defined as a subobject of some object L the factor object L/N is returned.

##### 3.4-9 UnderlyingSubobject

`‣ UnderlyingSubobject`( M ) | ( attribute )

Returns: a homalg subobject

In case M was defined as the object underlying a subobject L then L is returned.
(no method installed)

##### 3.4-10 NatTrIdToHomHom_R

`‣ NatTrIdToHomHom_R`( M ) | ( attribute )

Returns: a homalg morphism

The natural evaluation morphism from the homalg object M to its double dual `HomHom`(M).

##### 3.4-11 Annihilator

`‣ Annihilator`( M ) | ( attribute )

Returns: a homalg subobject

The annihilator of the object M as a subobject of the structure object.

##### 3.4-12 EndomorphismRing

`‣ EndomorphismRing`( M ) | ( attribute )

Returns: a homalg object

The endomorphism ring of the object M.

##### 3.4-13 UnitObject

`‣ UnitObject`( M ) | ( property )

Returns: a Chern character

M is a homalg object.

##### 3.4-14 RankOfObject

`‣ RankOfObject`( M ) | ( attribute )

Returns: a nonnegative integer

The projective rank of the homalg object M.

##### 3.4-15 ProjectiveDimension

`‣ ProjectiveDimension`( M ) | ( attribute )

Returns: a nonnegative integer

The projective dimension of the homalg object M.

##### 3.4-16 DegreeOfTorsionFreeness

`‣ DegreeOfTorsionFreeness`( M ) | ( attribute )

Returns: a nonnegative integer of infinity

Auslander's degree of torsion-freeness of the homalg object M. It is set to infinity only for M=0.

##### 3.4-17 Grade

`‣ Grade`( M ) | ( attribute )

Returns: a nonnegative integer of infinity

The grade of the homalg object M. It is set to infinity if M=0. Another name for this operation is `Depth`.

##### 3.4-18 PurityFiltration

`‣ PurityFiltration`( M ) | ( attribute )

Returns: a homalg filtration

The purity filtration of the homalg object M.

##### 3.4-19 CodegreeOfPurity

`‣ CodegreeOfPurity`( M ) | ( attribute )

Returns: a list of nonnegative integers

The codegree of purity of the homalg object M.

##### 3.4-20 HilbertPolynomial

`‣ HilbertPolynomial`( M ) | ( attribute )

Returns: a univariate polynomial with rational coefficients

M is a homalg object.

##### 3.4-21 AffineDimension

`‣ AffineDimension`( M ) | ( attribute )

Returns: a nonnegative integer

M is a homalg object.

##### 3.4-22 ProjectiveDegree

`‣ ProjectiveDegree`( M ) | ( attribute )

Returns: a nonnegative integer

M is a homalg object.

##### 3.4-23 ConstantTermOfHilbertPolynomialn

`‣ ConstantTermOfHilbertPolynomialn`( M ) | ( attribute )

Returns: an integer

M is a homalg object.

##### 3.4-24 ElementOfGrothendieckGroup

`‣ ElementOfGrothendieckGroup`( M ) | ( property )

Returns: an element of the Grothendieck group of a projective space

M is a homalg object.

##### 3.4-25 ChernPolynomial

`‣ ChernPolynomial`( M ) | ( property )

Returns: a Chern polynomial with rank

M is a homalg object.

##### 3.4-26 ChernCharacter

`‣ ChernCharacter`( M ) | ( property )

Returns: a Chern character

M is a homalg object.

#### 3.5 Objects: Operations and Functions

##### 3.5-1 CurrentResolution

`‣ CurrentResolution`( M ) | ( attribute )

Returns: a homalg complex

The computed (part of a) resolution of the static object M.

##### 3.5-2 UnderlyingObject

`‣ UnderlyingObject`( M ) | ( operation )

Returns: a homalg object

In case M was defined as a subobject of some object L the object underlying the subobject M is returned.

##### 3.5-3 Saturate

`‣ Saturate`( K, J ) | ( operation )

Returns: a homalg ideal

Compute the saturation ideal K:J^∞ of the ideals K and J.

    gap> ZZ := HomalgRingOfIntegers( );
    Z
    gap> Display( ZZ );
    <An internal ring>
    gap> m := LeftSubmodule( "2", ZZ );
    <A principal (left) ideal given by a cyclic generator>
    gap> Display( m );
    [ [  2 ] ]

    A (left) ideal generated by the entry of the above matrix
    gap> J := LeftSubmodule( "3", ZZ );
    <A principal (left) ideal given by a cyclic generator>
    gap> Display( J );
    [ [  3 ] ]

    A (left) ideal generated by the entry of the above matrix
    gap> I := Intersect( J, m^3 );
    <A principal (left) ideal given by a cyclic generator>
    gap> Display( I );
    [ [  -24 ] ]

    A (left) ideal generated by the entry of the above matrix
    gap> Im := SubobjectQuotient( I, m );
    <A principal (left) ideal of rank 1 on a free generator>
    gap> Display( Im );
    [ [  -12 ] ]

    A (left) ideal generated by the entry of the above matrix
    gap> I_m := Saturate( I, m );
    <A principal (left) ideal of rank 1 on a free generator>
    gap> Display( I_m );
    [ [  -3 ] ]

    A (left) ideal generated by the entry of the above matrix
    gap> I_m = J;
    true

    InstallMethod( Saturate,
            "for homalg subobjects of static objects",
            [ IsStaticFinitelyPresentedSubobjectRep, IsStaticFinitelyPresentedSubobjectRep ],

      function( K, J )
        local quotient_last, quotient;

        quotient_last := SubobjectQuotient( K, J );

        quotient := SubobjectQuotient( quotient_last, J );

        while not IsSubset( quotient_last, quotient ) do
            quotient_last := quotient;
            quotient := SubobjectQuotient( quotient_last, J );
        od;

        return quotient_last;

    end );

    InstallMethod( \-,	## a geometrically motivated definition
            "for homalg subobjects of static objects",
            [ IsStaticFinitelyPresentedSubobjectRep, IsStaticFinitelyPresentedSubobjectRep ],

      function( K, J )

        return Saturate( K, J );

    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