Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  HomalgMorphism.gd   Sprache: unbekannt

 
# SPDX-License-Identifier: GPL-2.0-or-later
# homalg: A homological algebra meta-package for computable Abelian categories
#
# Declarations
#

##  Declarations for morphisms of (Abelian) categories.

##  <#GAPDoc Label="IsHomalgMorphism">
##  <ManSection>
##    <Filt Type="Category" Arg="phi" Name="IsHomalgMorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      This is the super &GAP;-category which will include the &GAP;-categories
##      <Ref Filt="IsHomalgStaticMorphism"/> and <Ref Filt="IsHomalgChainMorphism"/>.
##      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. <Br/>
##      CAUTION: Never let &homalg; morphisms (which are not endomorphisms)
##      be multiplicative elements!!
##    <Listing Type="Code"><![CDATA[
DeclareCategory( "IsHomalgMorphism",
        IsHomalgStaticObjectOrMorphism and
        IsAdditiveElementWithInverse );
##  ]]></Listing>
##    </Description>
##  </ManSection>
##  <#/GAPDoc>

##  <#GAPDoc Label="IsHomalgStaticMorphism">
##  <ManSection>
##    <Filt Type="Category" Arg="phi" Name="IsHomalgStaticMorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      This is the super &GAP;-category which will include the &GAP;-categories
##      <C>IsHomalgMap</C>, etc. <Br/>
##      CAUTION: Never let homalg morphisms (which are not endomorphisms)
##      be multiplicative elements!!
##    <Listing Type="Code"><![CDATA[
DeclareCategory( "IsHomalgStaticMorphism",
        IsHomalgMorphism );
##  ]]></Listing>
##    </Description>
##  </ManSection>
##  <#/GAPDoc>

##  <#GAPDoc Label="IsHomalgEndomorphism">
##  <ManSection>
##    <Filt Type="Category" Arg="phi" Name="IsHomalgEndomorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      This is the super &GAP;-category which will include the &GAP;-categories
##      <C>IsHomalgSelfMap</C>, <Ref Filt="IsHomalgChainEndomorphism"/>, etc.
##      be multiplicative elements!!
##    <Listing Type="Code"><![CDATA[
DeclareCategory( "IsHomalgEndomorphism",
        IsHomalgMorphism and
        IsMultiplicativeElementWithInverse );
##  ]]></Listing>
##    </Description>
##  </ManSection>
##  <#/GAPDoc>

####################################
#
# properties:
#
####################################

##  <#GAPDoc Label="IsMorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsMorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      <C>IsMorphism</C>=<C>true</C> means one of the following:
##      <List>
##        <Item>
##          The property method <C>IsMorphism</C>(<A>phi</A>) was explicitly invoked by the user
##          and it returned <C>true</C>, where prior to the invocation <C>HasIsMorphism</C>(<A>phi</A>) was <C>false</C>.
##          The method is meant to check the integrity of the data structure at the time of it invocation.
##          What this precisely means depends on the specific &homalg;-based package.
##        </Item>
##        <Item>
##          The user has explicitly <C>SetIsMorphism</C>(<A>phi</A>, <C>true</C>).
##        </Item>
##        <Item>
##          The morphism <A>phi</A> is output of a categorical procedure where <C>IsMorphism</C>
##          has become <C>true</C> for all morphisms in the input.
##        </Item>
##        <Item>
##          The morphism <A>phi</A> is output of a categorical procedure which gurantees the
##          integrity of the data structure of its output independent of its input.
##        </Item>
##      </List>
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsMorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsGeneralizedMorphismWithFullDomain">
##  <ManSection>
##    <Prop Arg="phi" Name="IsGeneralizedMorphismWithFullDomain"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if <A>phi</A> is a generalized morphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsGeneralizedMorphismWithFullDomain",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsGeneralizedEpimorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsGeneralizedEpimorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if <A>phi</A> is a generalized epimorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsGeneralizedEpimorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsGeneralizedMonomorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsGeneralizedMonomorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if <A>phi</A> is a generalized monomorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsGeneralizedMonomorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsGeneralizedIsomorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsGeneralizedIsomorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if <A>phi</A> is a generalized isomorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsGeneralizedIsomorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsOne">
##  <ManSection>
##    <Prop Arg="phi" Name="IsOne"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is the identity morphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsOne",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsMonomorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsMonomorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is a monomorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsMonomorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsEpimorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsEpimorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is an epimorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsEpimorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsSplitMonomorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsSplitMonomorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is a split monomorphism. <Br/>
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsSplitMonomorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsSplitEpimorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsSplitEpimorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is a split epimorphism. <Br/>
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsSplitEpimorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsIsomorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsIsomorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is an isomorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsIsomorphism",
        IsHomalgMorphism );

##  <#GAPDoc Label="IsAutomorphism">
##  <ManSection>
##    <Prop Arg="phi" Name="IsAutomorphism"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is an automorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsAutomorphism", ## do not make an ``and''-filter out of this property (I hope the other GAP packages respect this)
        IsHomalgMorphism );

##  <#GAPDoc Label="IsIdempotent">
##  <ManSection>
##    <Prop Arg="phi" Name="IsIdempotent"/>
##    <Returns><C>true</C> or <C>false</C></Returns>
##    <Description>
##      Check if the &homalg; morphism <A>phi</A> is an automorphism.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareProperty( "IsIdempotent", ## do not make an ``and''-filter out of this property (I hope the other GAP packages respect this)
        IsHomalgMorphism );

####################################
#
# attributes:
#
####################################

DeclareAttribute( "Genesis",
        IsHomalgStaticMorphism, "mutable" );

##  <#GAPDoc Label="Source">
##  <ManSection>
##    <Attr Arg="phi" Name="Source"/>
##    <Returns>a &homalg; object</Returns>
##    <Description>
##      The source of the &homalg; morphism <A>phi</A>.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareAttribute( "Source",
        IsHomalgMorphism );

##  <#GAPDoc Label="Range">
##  <ManSection>
##    <Attr Arg="phi" Name="Range"/>
##    <Returns>a &homalg; object</Returns>
##    <Description>
##      The target (range) of the &homalg; morphism <A>phi</A>.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareAttribute( "Range",
        IsHomalgMorphism );

##  <#GAPDoc Label="ImageSubobject">
##  <ManSection>
##    <Attr Arg="phi" Name="ImageSubobject"/>
##    <Returns>a &homalg; subobject</Returns>
##    <Description>
##      This constructor returns the finitely generated image of the &homalg; morphism <A>phi</A>
##      as a subobject of the &homalg; object <C>Range</C>(<A>phi</A>) with generators given by <A>phi</A>
##      applied to the generators of its source object.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareAttribute( "ImageSubobject",
        IsHomalgMorphism );

##  <#GAPDoc Label="KernelSubobject">
##  <ManSection>
##    <Attr Arg="phi" Name="KernelSubobject"/>
##    <Returns>a &homalg; subobject</Returns>
##    <Description>
##      This constructor returns the finitely generated kernel of the &homalg; morphism <A>phi</A>
##      as a subobject of the &homalg; object <C>Source</C>(<A>phi</A>) with generators given by
##      the syzygies of <A>phi</A>.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareAttribute( "KernelSubobject",
        IsHomalgMorphism );

##  <#GAPDoc Label="MorphismAid">
##  <ManSection>
##    <Attr Arg="phi" Name="MorphismAid"/>
##    <Returns>a &homalg; morphism</Returns>
##    <Description>
##      The morphism aid map of a true generalized map. <Br/>
##      (no method installed)
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
##
DeclareOperation( "GetMorphismAid",
        [ IsHomalgMorphism ] );
DeclareAttributeWithCustomGetter( "MorphismAid",
        IsHomalgMorphism,
        GetMorphismAid );

##  <#GAPDoc Label="InverseOfGeneralizedMorphismWithFullDomain">
##  <ManSection>
##    <Attr Arg="phi" Name="InverseOfGeneralizedMorphismWithFullDomain"/>
##    <Returns>a &homalg; morphism</Returns>
##    <Description>
##      The generalized inverse of the epimorphism <A>phi</A> (cf. <Cite Key="BaSF" Where="Cor. 4.8"/>)).
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
##
DeclareAttribute( "InverseOfGeneralizedMorphismWithFullDomain",
        IsHomalgMorphism );

##  <#GAPDoc Label="DirectSummands">
##  <ManSection>
##    <Attr Arg="phi" Name="DirectSummands"/>
##    <Returns>a list of &homalg; morphisms</Returns>
##    <Description>
##      In case <A>phi</A> was created using DiagonalMorphism
##      is then set to the direct factor morphisms.
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
##
DeclareAttribute( "DirectSummands",
        IsHomalgMorphism );

DeclareAttribute( "DegreeOfMorphism",
        IsStructureObjectMorphism );

##  <#GAPDoc Label="DegreeOfMorphism">
##  <ManSection>
##    <Attr Arg="phi" Name="DegreeOfMorphism"/>
##    <Returns>an integer</Returns>
##    <Description>
##      The degree of the morphism <A>phi</A> between graded objects. <Br/>
##      (no method installed)
##    </Description>
##  </ManSection>
##  <#/GAPDoc>
DeclareAttribute( "DegreeOfMorphism",
        IsHomalgMorphism );

####################################
#
# global functions and operations:
#
####################################

# constructors:

DeclareOperation( "RemoveMorphismAid",
        [ IsHomalgMorphism ] );

DeclareOperation( "GeneralizedMorphism",
        [ IsHomalgMorphism, IsObject ] );

DeclareOperation( "AddToMorphismAid",
        [ IsHomalgMorphism, IsObject ] );

DeclareOperation( "AssociatedMorphismOfGeneralizedMorphismWithFullDomain",
        [ IsHomalgMorphism ] );

DeclareOperation( "AnIsomorphism",
        [ IsHomalgObject ] );

DeclareOperation( "Subobject",
        [ IsHomalgMorphism ] );

DeclareOperation( "Pullback",
        [ IsStructureObjectMorphism, IsHomalgMorphism ] );

DeclareOperation( "*",
        [ IsStructureObject, IsHomalgMorphism ] );

DeclareOperation( "*",
        [ IsHomalgMorphism, IsStructureObject ] );

DeclareGlobalFunction( "INSTALL_TODO_LIST_ENTRIES_FOR_MORPHISMS_AND_IMAGE_EMBEDDINGS" );

# basic operations:

DeclareOperation( "PairOfPositionsOfTheDefaultPresentations",
        [ IsHomalgMorphism ] );

DeclareOperation( "AreComparableMorphisms",
        [ IsHomalgMorphism, IsHomalgMorphism ] );

DeclareOperation( "AreComposableMorphisms",
        [ IsHomalgMorphism, IsHomalgMorphism ] );

DeclareOperation( "*",                            ## this must remain, since an element in IsHomalgMorphism
        [ IsHomalgMorphism, IsHomalgMorphism ] ); ## is not a priori IsMultiplicativeElement

DeclareOperation( "^",                 ## this must remain, since an element in IsHomalgMorphism
        [ IsHomalgMorphism, IsInt ] ); ## is not a priori IsMultiplicativeElement

DeclareOperation( "PreInverse",
        [ IsHomalgMorphism ] );

DeclareOperation( "PostInverse",
        [ IsHomalgMorphism ] );

DeclareOperation( "CompleteImageSquare",
        [ IsHomalgMorphism, IsHomalgMorphism, IsHomalgMorphism ] );

DeclareOperation( "CompleteKernelSquare",
        [ IsHomalgMorphism, IsHomalgMorphism, IsHomalgMorphism ] );

DeclareOperation( "DiagonalMorphismOp",
        [ IsHomalgMorphism, IsHomalgMorphism ] );

DeclareOperation( "DiagonalMorphismOp",
        [ IsList, IsHomalgMorphism ] );

DeclareGlobalFunction( "DiagonalMorphism" );

DeclareOperation( "UpdateObjectsByMorphism",
        [ IsHomalgMorphism ] );

DeclareOperation( "SetPropertiesOfGeneralizedMorphism",
        [ IsHomalgMorphism, IsHomalgMorphism ] );

DeclareOperation( "/",
        [ IsHomalgMorphism, IsHomalgStaticObject ] );

[ Dauer der Verarbeitung: 0.34 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge