Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346############################################################################# ## ## ResidueClassRing.gi MatricesForHomalg package Mohamed Barakat ## ## Copyright 2007-2009 Mohamed Barakat, Universität des Saarlandes ## ## Declaration stuff for homalg residue class rings. ## ############################################################################# #################################### # # properties: # #################################### ## <#GAPDoc Label="IsReducedModuloRingRelations"> ## <ManSection> ## <Prop Arg="A" Name="IsReducedModuloRingRelations"/> ## <Returns><C>true</C> or <C>false</C></Returns> ## <Description> ## <A>A</A> is a &homalg; matrix. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareProperty( "IsReducedModuloRingRelations", IsHomalgMatrix ); #################################### # # attributes: # #################################### ## <#GAPDoc Label="RingRelations"> ## <ManSection> ## <Attr Arg="R" Name="RingRelations"/> ## <Returns>a set of &homalg; relations on one generator</Returns> ## <Description> ## In case <A>R</A> was constructed as a residue class ring <M>S/I</M>, and only in this case, ## the generators of the ideal of relations <M>I</M> are returned as a ## set of &homalg; relations on one generator. It assumed that either <A>R</A> is commutative, ## or that the specified <C>Involution</C> in the <C>homalgTable</C> of <A>R</A> fixes the ideal <M>I</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareAttribute( "RingRelations", IsHomalgRing ); ## <#GAPDoc Label="DefiningIdeal"> ## <ManSection> ## <Attr Arg="R" Name="DefiningIdeal"/> ## <Returns>a set of &homalg; relations on one generator</Returns> ## <Description> ## In case <A>R</A> was constructed as a residue class ring <M>S/J</M>, and only in this case, ## the ideal <M>J</M>. It assumed that either <A>R</A> is commutative, or that the specified ## <C>Involution</C> in the <C>homalgTable</C> of <A>R</A> fixes the ideal <M>I</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareAttribute( "DefiningIdeal", IsHomalgRing ); ## <#GAPDoc Label="AmbientRing"> ## <ManSection> ## <Attr Arg="R" Name="AmbientRing"/> ## <Returns>a &homalg; ring</Returns> ## <Description> ## In case <A>R</A> was constructed as a residue class ring <M>S/I</M>, and only in this case, ## the &homalg; ring <M>S</M> is returned. ## </Description> ## </ManSection> ## <#/GAPDoc> ## DeclareAttribute( "AmbientRing", IsHomalgRing ); #################################### # # global functions and operations: # #################################### # constructors: DeclareOperation( "CreateHomalgTableForResidueClassRings", [ IsHomalgRing ] ); DeclareOperation( "/", [ IsHomalgRing, IsHomalgRingRelations ] ); ## also declares [ IsHomalgRing, IsHomalgMatrix ] DeclareOperation( "/", [ IsHomalgRing, IsRingElement ] ); #DeclareOperation( "/", # [ IsHomalgRing, IsHomalgMatrix ] ); DeclareOperation( "/", [ IsHomalgRing, IsList ] ); DeclareGlobalFunction( "HomalgResidueClassRingElement" ); DeclareOperation( "BlindlyCopyMatrixPropertiesToResidueClassMatrix", [ IsHomalgMatrix, IsHomalgMatrix ] ); DeclareGlobalFunction( "HomalgResidueClassMatrix" ); # basic operations: DeclareOperation( "UnionOfRows", [ IsHomalgMatrix, IsHomalgRingRelations ] ); DeclareOperation( "UnionOfRows", [ IsHomalgMatrix ] ); DeclareOperation( "UnionOfColumns", [ IsHomalgMatrix, IsHomalgRingRelations ] ); DeclareOperation( "UnionOfColumns", [ IsHomalgMatrix ] ); DeclareOperation( "DecideZero", [ IsRingElement, IsHomalgRing ] ); DeclareOperation( "DecideZero", [ IsHomalgRingElement ] );