‣ IsCapCategoryShortSequence ( seq_obj ) | ( filter ) |
Returns: true
or false
The GAP category of short sequences.
‣ IsCapCategoryMorphismOfShortSequences ( seq_mor ) | ( filter ) |
Returns: true
or false
The GAP category of morphisms of short sequences.
‣ IsCapCategoryShortExactSequence ( seq_obj ) | ( filter ) |
Returns: true
or false
The GAP category of short exact sequences.
‣ IsCapCategoryConflation ( seq_obj ) | ( filter ) |
Returns: true
or false
The GAP category of conflations. If a short sequence is a conflation, then it is a short exact sequence.
‣ IsExactCategory ( C ) | ( property ) |
Returns: true
or false
The input is a CAP category. The output is true
if \(\CC\) is an exact category with respect to some class \(\EE\) of short exact sequences.
‣ IsInflation ( iota ) | ( attribute ) |
Returns: a boolian
The argument is a morphism \(\iota:A\to B\) in \(\CC\). The output is whether or not \(\iota\) is an inflation.
‣ IsDeflation ( pi ) | ( attribute ) |
Returns: a boolian
The argument is a morphism \(\pi:B\to C\) in \(\CC\). The output is whether or not \(\pi\) is a deflation.
‣ IsConflationPair ( iota, pi ) | ( operation ) |
Returns: a boolian
The argument is a pair of morphisms \(\iota:A\to B\) and \(\pi:B\to C\). The output is whether or not the pair \((\iota,\pi)\) defines a conflation.
‣ ExactCokernelObject ( iota ) | ( attribute ) |
Returns: an object \(C\)
The argument is an inflation \(\iota:A\to B\). The output is the cokernel object \(C\) of \(\iota\).
‣ ExactCokernelProjection ( iota ) | ( attribute ) |
Returns: a deflation \(B\to C\)
The argument is an inflation \(\iota:A\to B\). The output is a deflation \(\pi(\iota):B\to C\) with \(C=\mathrm{ExactCokernelObject}(\iota)\) such that the pair \((\iota,\pi(\iota))\) defines a conflation.
‣ ExactCokernelProjectionWithGivenExactCokernelObject ( iota, C ) | ( operation ) |
Returns: a deflation \(B\to C\)
The argument is an inflation \(\iota:A\to B\) and an object \(C=\mathrm{ExactCokernelObject}(\iota)\). The output is a deflation \(\pi(\iota):B\to C\) such that \((\iota,\pi(\iota))\) defines a conflation.
‣ ExactCokernelColift ( iota, tau ) | ( operation ) |
Returns: a morphism \(C \to T\)
The arguments are an inflation \(\iota: A \rightarrow B\) and a test morphism \(\tau: B \rightarrow T\) satisfying \(\comp{\iota}{\tau} \sim 0\). The output is the morphism \(\lambda: C \rightarrow T\) with \(C=\mathrm{ExactCokernelObject}(\iota)\) and \(\lambda\) is given by the universal property of the cokernel object, i.e., \(\comp{\pi(\iota)}{\lambda} \sim \tau\) where \(\pi(\iota) = \mathrm{ExactCokernelProjection}(\iota)\).
‣ ExactCokernelObjectFunctorial ( iota_1, nu, iota_2 ) | ( operation ) |
Returns: a morphism \(C_1 \to C_2\)
The arguments are an inflation \(\iota_1:A_1 \to B_1\), a morphism \(\nu: B_1 \to B_2\) and an inflation \(\iota_2:A_2 \to B_2\) such that there \(\mu: A_1 \to A_2\) with \(\comp{\iota_1}{\nu} \sim \comp{\mu}{\iota_2}\). The operation delegates to the operation \(\mathrm{ExactCokernelObjectFunctorialWithGivenExactCokernelObjects}(C_1,\iota_1,\nu,\iota_2,C_2)\) such that \(C_1=\mathrm{ExactCokernelObject}(\iota_1)\), \(C_2=\mathrm{ExactCokernelObject}(\iota_2)\).
‣ ExactCokernelObjectFunctorialWithGivenExactCokernelObjects ( C_1, iota_1, nu, iota_2, C_2 ) | ( operation ) |
Returns: a morphism \(C_1 \to C_2\)
The arguments are an object \(C_1\), an inflation \(\iota_1:A_1 \to B_1\), a morphism \(\nu: B_1 \to B_2\), an inflation \(\iota_2:A_2 \to B_2\) and an object \(C_2\) such that \(C_1=\mathrm{ExactCokernelObject}(\iota_1)\), \(C_2=\mathrm{ExactCokernelObject}(\iota_2)\) and there exists a morphism \(\mu: A_1 \to A_2\) with \(\comp{\iota_1}{\nu} \sim \comp{\mu}{\iota_2}\). The output is the universal morphism \(\lambda: C_1 \rightarrow C_2\) given by the universal property of the cokernel object, i.e., \(\comp{\pi(\iota_1)}{\lambda} \sim \comp{\nu}{\pi(\iota_2)}\) where \(\pi(\iota_1) = \mathrm{ExactCokernelProjection}(\iota_1)\) and \(\pi(\iota_2) = \mathrm{ExactCokernelProjection}(\iota_2)\).
‣ ColiftAlongDeflation ( pi, tau ) | ( operation ) |
Returns: a morphism \(C \to T\)
The arguments are a deflation \(\pi: B \rightarrow C\) and a morphism \(\tau: B \to T\) such that \(\tau\) is coliftable along \(\pi\). That is, \(\comp{\iota(\pi)}{\tau} \sim 0\). The output is the unique colift morphism \(\lambda:C\to T\) of \(\tau\) along \(\pi\).
‣ ExactKernelObject ( pi ) | ( attribute ) |
Returns: an object \(K\)
The argument is a deflation \(\pi:B\to C\). The output is the kernel object \(K\) of \(\pi\).
‣ ExactKernelEmbedding ( pi ) | ( attribute ) |
Returns: an inflation \(K\to B\)
The argument is a deflation \(\pi:B\to C\). The output is an inflation \(\iota(\pi):K\to B\) with \(K=\mathrm{ExactKernelObject}(\pi)\) such that the pair \((\iota(\pi),\pi)\) defines a conflation.
‣ ExactKernelEmbeddingWithGivenExactKernelObject ( pi, K ) | ( operation ) |
Returns: an inflation \(K\to B\)
The argument is a deflation \(\pi:B\to C\) and an object \(K=\mathrm{ExactKernelObject}(\pi)\). The output is an inflation \(\iota(\pi):K\to B\) such that the pair \((\iota(\pi),\pi)\) defines a conflation.
‣ ExactKernelLift ( pi, tau ) | ( operation ) |
Returns: a morphism \(T \to K\)
The arguments are a deflation \(\pi: B \rightarrow C\) and a test morphism \(\tau: T \rightarrow B\) satisfying \(\comp{\tau}{\pi} \sim 0\). The output is the morphism \(\lambda: T \rightarrow K\) with \(K=\mathrm{ExactKernelObject}(\pi)\) and \(\lambda\) is given by the universal property of the kernel object, i.e., \(\comp{\lambda}{\iota(\pi)} \sim \tau\) where \(\iota(\pi) = \mathrm{ExactKernelEmbedding}(\pi)\).
‣ ExactKernelObjectFunctorial ( pi_1, mu, pi_2 ) | ( operation ) |
Returns: a morphism \(K_1 \to K_2\)
The arguments are a deflation \(\pi_1:B_1 \to C_1\), a morphism \(\mu: B_1 \to B_2\) and a deflation \(\pi_2: B_2 \to C_2\) such that there exists a morphism \(\nu: C_1 \to C_2\) with \(\comp{\pi_1}{\nu} \sim \comp{\mu}{\pi_2}\). The operation delegates to the operation \(\mathrm{ExactKernelObjectFunctorialWithGivenExactKernelObjects}(K_1,\pi_1,\mu,\pi_2,K_2)\) where \(K_1=\mathrm{ExactKernelObject}(\pi_1)\) and \(K_2=\mathrm{ExactKernelObject}(\pi_2)\).
‣ ExactKernelObjectFunctorialWithGivenExactKernelObjects ( K_1, pi_1, mu, pi_2, K_2 ) | ( operation ) |
Returns: a morphism \(K_1 \to K_2\)
The arguments are an object \(K_1\), a deflation \(\pi_1:B_1 \to C_1\), a morphism \(\mu: B_1 \to B_2\), a deflation \(\pi_2: B_2 \to C_2\) and an object \(K_2\) such that \(K_1 = \mathrm{ExactKernelObject}(\pi_1)\), \(K_2 = \mathrm{ExactKernelObject}(\pi_2)\) and there exists a morphism \(\nu: C_1 \to C_2\) with \(\comp{\pi_1}{\nu} \sim \comp{\mu}{\pi_2}\). The output is the universal morphism \(\lambda: K_1 \rightarrow K_2\) given by the universal property of the kernel object, i.e., \(\comp{\lambda}{\iota(\pi_2)} \sim \comp{\iota(\pi_1)}{\mu}\) where \(\iota(\pi_1) = \mathrm{ExactKernelEmbedding}(\pi_1)\) and \(\iota(\pi_2) = \mathrm{ExactKernelEmbedding}(\pi_2)\).
‣ LiftAlongInflation ( iota, tau ) | ( operation ) |
Returns: a morphism \(C \to T\)
The arguments are an inflation \(\iota: A \rightarrow B\) and a morphism \(\tau: T \to B\) such that \(\tau\) is liftable along \(\iota\). That is, \(\comp{\tau}{\pi(\iota)} \sim 0\). The output is the unique lift morphism \(\lambda:T\to A\) of \(\tau\) along \(\iota\).
gap> Q := HomalgFieldOfRationalsInSingular( ); Q gap> EEE := KoszulDualRing( GradedRing( Q * "x,y" ) ); Q{e0,e1} (weights: [ -1, -1 ]) gap> Grows_E := CategoryOfGradedRows( EEE ); Category of graded rows over Q{e0,e1} (with weights [ -1, -1 ]) gap> Grmod_E := FreydCategory( Grows_E ); Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ]) gap> IsExactCategory( Grmod_E ); true gap> sU := GradedRow( [ [ [1], 2 ] ], EEE ); <A graded row of rank 2> gap> rU := GradedRow( [ [ [0], 2 ] ], EEE ); <A graded row of rank 2> gap> mU := HomalgMatrix( "[[2*e0,4*e0+e1],[-e0+e1,-e0]]", 2, 2, EEE ); <A 2 x 2 matrix over a graded ring> gap> U := GradedRowOrColumnMorphism( sU, mU, rU ) / Grmod_E; <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsWellDefined( U ); true gap> sV := GradedRow( [ [ [1], 1 ], [ [0], 1 ] ], EEE ); <A graded row of rank 2> gap> rV := GradedRow( [ [ [-1], 1 ], [ [0], 1 ] ], EEE ); <A graded row of rank 2> gap> mV := HomalgMatrix( "[[0,-2*e0],[e0+e1,0]]", 2, 2, EEE ); <A 2 x 2 matrix over a graded ring> gap> V := GradedRowOrColumnMorphism( sV, mV, rV ) / Grmod_E; <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsWellDefined( V ); true gap> mat := HomalgMatrix( "[[-e1,0],[-e1,0]]", 2, 2, EEE ); <A 2 x 2 matrix over a graded ring> gap> mu := GradedRowOrColumnMorphism( rU, mat, rV ); <A morphism in Category of graded rows over Q{e0,e1} (with weights [ -1, -1 ])> gap> mu := FreydCategoryMorphism( U, mu, V ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsWellDefined( mu ); true gap> IsConflationPair( ExactKernelEmbedding( mu ), mu ); false gap> IsConflationPair( mu, ExactCokernelProjection( mu ) ); false gap> iota := KernelEmbedding( mu ); <A monomorphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> pi_iota := ExactCokernelProjection( iota ); <An epimorphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsConflationPair( iota, pi_iota ); true gap> pi := CokernelProjection( mu ); <An epimorphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> iota_pi := ExactKernelEmbedding( pi ); <A monomorphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsConflationPair( iota_pi, pi ); true gap> lambda := ExactCokernelColift( iota, mu ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( pi_iota, lambda ), mu ); true gap> lambda := ExactKernelLift( pi, mu ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( lambda, iota_pi ), mu ); true
Given a deflation \(\pi:A\to C\) and a morphism \(\alpha:B\to C\), an exact fiber product diagram of \((\pi,\alpha)\) is defined by an object \(A\times_C B\), a morphism \(p_A:A\times_C B\to A\) and a deflation \(p_B:A\times_C B\to B\) such that \(\comp{p_A}{\pi}\sim \comp{p_B}{\alpha}\) and for any two morphisms \(p'_A:T\to A,p'_B:T\to B\) with \(\comp{p'_A}{\pi}\sim \comp{p'_B}{\alpha}\), there exists a unique morphism \(u:T\to A\times_C B\) with \(\comp{u}{p_A} \sim p'_A\) and \(\comp{u}{p_B} \sim p'_B\).
‣ ExactFiberProduct ( pi, alpha ) | ( operation ) |
Returns: an object
The arguments are a deflation \(\pi:A\to C\) and a morphism \(\alpha:B\to C\). The output is the fiber product object \(A\times_C B\) of \(\pi\) and \(\alpha\).
‣ ProjectionInFirstFactorOfExactFiberProduct ( pi, alpha ) | ( operation ) |
Returns: a morphism \(p_A:A\times_C B\to A\)
The arguments are a deflation \(\pi:A\to C\) and a morphism \(\alpha:B\to C\). The output is a morphism \(p_A:A\times_C B \to A\) which is a part of a fiber product diagram of \(\pi\) and \(\alpha\).
‣ ProjectionInSecondFactorOfExactFiberProduct ( pi, alpha ) | ( operation ) |
Returns: a morphism \(p_B:A\times_C B\to B\)
The arguments are a deflation \(\pi:A\to C\) and a morphism \(\alpha:B\to C\). The output is a morphism \(p_B:A\times_C B \to B\) which is a part of a fiber product diagram of \(\pi\) and \(\alpha\).
‣ UniversalMorphismIntoExactFiberProduct ( pi, alpha, pprime_A, pprime_B ) | ( operation ) |
Returns: a morphism \(u:T \to A \times_C B\)
The arguments are a deflation \(\pi:A\to C\) and three morphisms \(\alpha:B\to C\), \(p'_A:T\to A\) and \(p'_B:T\to B\) such that \(\comp{p'_A}{\pi} \sim \comp{p'_B}{\alpha}\). The output is the universal morphism \(u:T\to A\times_C B\) with \(\comp{u}{p_A} \sim p'_A\) and \(\comp{u}{p_B}\sim p'_B\).
gap> alpha := mu; <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> B := Source( alpha ); <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> C := Range( alpha ); <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> pi := EpimorphismFromSomeProjectiveObject( C ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> p_A := ProjectionInFirstFactorOfExactFiberProduct( pi, alpha ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> p_B := ProjectionInSecondFactorOfExactFiberProduct( pi, alpha ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( p_A, pi ), PreCompose( p_B, alpha ) ); true gap> pprime_B := EpimorphismFromSomeProjectiveObject( B ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> pprime_A := ProjectiveLift( PreCompose( pprime_B, alpha ), pi ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( > PreCompose( pprime_A, pi ), PreCompose( pprime_B, alpha ) > ); true gap> u := UniversalMorphismIntoExactFiberProduct( pi, alpha, pprime_A, pprime_B ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( u, p_B ), pprime_B ); true gap> IsCongruentForMorphisms( PreCompose( u, p_A ), pprime_A ); true gap> IsIsomorphism( u ); false
Given an inflation \(\iota:C\to A\) and a morphism \(\alpha:C\to B\), an exact pushout diagram of \((\iota,\alpha)\) is defined by an object \(A\oplus_C B\), a morphism \(q_A:A \to A\oplus_C B\) and an inflation \(q_B:B\to A\oplus_C B\) such that \(\comp{\iota}{q_A} \sim \comp{\alpha}{q_B}\) and for any two morphisms \(q'_A:A\to T,q'_B:B\to T\) with \(\comp{\iota}{q'_A}\sim \comp{\alpha}{q'_B}\), there exists a unique morphism \(u: A\oplus_C B \to T\) with \(\comp{q_A}{ u}\sim q'_A\) and \(\comp{q_B}{ u} \sim q'_B\).
‣ ExactPushout ( iota, alpha ) | ( operation ) |
Returns: an object
The arguments are an inflation \(\iota:C\to A\) and a morphism \(\alpha:C\to B\). The output is the pushout object \(A\oplus_C B\) of \(\iota\) and \(\alpha\).
‣ InjectionOfFirstCofactorOfExactPushout ( iota, alpha ) | ( operation ) |
Returns: a morphism \(A \to A\oplus_C B\)
The arguments are an inflation \(\iota:C\to A\) and a morphism \(\alpha:C\to B\). The output is a morphism \(q_A:A \to A\oplus_C B\) which is a part of a pushout diagram of \(\iota\) and \(\alpha\).
‣ InjectionOfSecondCofactorOfExactPushout ( iota, alpha ) | ( operation ) |
Returns: a inflation \(B \to A\oplus_C B\)
The arguments are an inflation \(\iota:C\to A\) and a morphism \(\alpha:C\to B\). The output is an inflation \(q_B:B \to A\oplus_C B\) which is a part of a pushout diagram of \(\iota\) and \(\alpha\).
‣ UniversalMorphismFromExactPushout ( iota, alpha, qprime_A, qprime_B ) | ( operation ) |
Returns: a morphism \(A\oplus_C B \to T\)
The arguments are a inflation \(\iota:C\to A\) and three morphisms \(\alpha:C\to B\), \(q'_A:A\to T\) and \(q'_B:B\to T\) such that \(\comp{\iota}{ q'_A}\sim \comp{\alpha}{ q'_B}\). The output is the universal morphism \(u:A\oplus_C B\to T\) with \(\comp{q_A}{ u}\sim q'_A\) and \(\comp{q_B}{u} \sim q'_B\).
‣ UniversalMorphismFromExactPushoutWithGivenExactPushout ( iota, alpha, qprime_A, qprime_B, P ) | ( operation ) |
Returns: a morphism \(P \to T\)
The arguments are a inflation \(\iota:C\to A\), three morphisms \(\alpha:C\to B\), \(q'_A:A\to T\), \(q'_B:B\to T\) and an object \(P=A\oplus_C B=\mathrm{ExactPushout}(\iota,\alpha)\) such that \(\comp{\iota}{ q'_A}\sim \comp{\alpha}{ q'_B}\). The output is the universal morphism \(u:P \to T\) with \(\comp{q_A}{ u}\sim q'_A\) and \(\comp{q_B}{u} \sim q'_B\).
gap> alpha := mu; <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> B := Source( alpha ); <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> C := Range( alpha ); <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> pi := EpimorphismFromSomeProjectiveObject( C ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> p_A := ProjectionInFirstFactorOfExactFiberProduct( pi, alpha ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> p_B := ProjectionInSecondFactorOfExactFiberProduct( pi, alpha ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( p_A, pi ), PreCompose( p_B, alpha ) ); true gap> pprime_B := EpimorphismFromSomeProjectiveObject( B ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> pprime_A := ProjectiveLift( PreCompose( pprime_B, alpha ), pi ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( > PreCompose( pprime_A, pi ), PreCompose( pprime_B, alpha ) > ); true gap> u := UniversalMorphismIntoExactFiberProduct( pi, alpha, pprime_A, pprime_B ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( u, p_B ), pprime_B ); true gap> IsCongruentForMorphisms( PreCompose( u, p_A ), pprime_A ); true gap> IsIsomorphism( u ); false
Let \((\CC,\EE)\) be an exact category. An object \(P\) is called \(\mathcal{E}\)-projective if for every morphism \(\tau:P\to C\) and every deflation \(\pi:B\to C\), there exists a lift morphism \(\lambda:P\to B\) of \(\tau\) along \(\pi\), i.e., \(\comp{\lambda}{\pi}=\tau\). The exact category \((\CC,\EE)\) is said to have enough \(\EE\)-projectives if for each object \(A\) in \(\CC\), there exists a deflation \(p_A:P_A \to A\) where \(P_A\) is an \(\EE\)-projecitve object.
‣ IsExactCategoryWithEnoughExactProjectives ( C ) | ( property ) |
Returns: true
or false
The input is a CAP category. The output is true
if \(\CC\) is an exact category with respect to some class \(\EE\) of short exact sequences and \((\CC,\EE)\) has enough \(\EE\)-projectives.
‣ IsExactProjectiveObject ( P ) | ( property ) |
Returns: a boolian
The argument is an object \(P\) in \(\CC\). The output is whether or not \(P\) is an \(\EE\)-projective object.
‣ ExactProjectiveLift ( tau, pi ) | ( operation ) |
Returns: a morphism \(\lambda:P\to B\)
The arguments are a morphism \(\tau:P\to C\) where \(P\) is an \(\EE\)-projective object and a deflation \(\pi:B\to C\). The output is a lift morphism \(\lambda:P\to B\) of \(\tau\) along \(\pi\), i.e., \(\comp{\lambda}{\pi} \sim \tau\).
gap> pi := CokernelProjection( mu ); <An epimorphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsConflationPair( ExactKernelEmbedding( pi ), pi ); true gap> C := Range( pi ); <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> P := GradedRow( [ [ [0], 2 ], [ [1], 1 ] ], EEE ); <A graded row of rank 3> gap> P := AsFreydCategoryObject( P ); <A projective object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsExactProjectiveObject( P ); true gap> Hom_PC := BasisOfExternalHom( P, C );; gap> Size( Hom_PC ); 3 gap> tau := Random( Hom_PC ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> lambda := ExactProjectiveLift( tau, pi ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( lambda, pi ), tau ); true
‣ SomeExactProjectiveObject ( A ) | ( attribute ) |
Returns: an \(\EE\)-projective object
The argument is an object \(A\) in \(\CC\). The output is an \(\EE\)-projective object \(P_A\) such that there exists a deflation \(P_A \to A\).
‣ DeflationFromSomeExactProjectiveObject ( A ) | ( attribute ) |
Returns: a deflation \(P_A \to A\)
The argument is an object \(A\) in \(\CC\). The output is a deflation morphism \(p_A:P_A \to A\) where \(P_A = \mathrm{SomeExactProjectiveObject}(A)\).
gap> IsExactCategoryWithEnoughExactProjectives( Grmod_E ); true gap> V; <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> P_V := SomeExactProjectiveObject( U ); <A projective object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsExactProjectiveObject( P_V ); true gap> pi_V := DeflationFromSomeExactProjectiveObject( V ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsConflationPair( ExactKernelEmbedding( pi_V ), pi_V ); true
Let \((\CC,\EE)\) be an exact category. An object \(I\) is called \(\mathcal{E}\)-injective if for every inflation \(\iota:A\to B\) and every morphism \(\tau:A \to I\), there exists a colift morphism of \(\tau\) along \(\iota\). The exact category \((\CC,\EE)\) is said to have enough \(\EE\)-injectives if for each object \(A\) in \(\CC\), there exists an inflation \(\iota_A:A \to I_A\) where \(I_A\) is an \(\EE\)-injective object.
‣ IsExactCategoryWithEnoughExactInjectives ( C ) | ( property ) |
Returns: true
or false
The input is a CAP category. The output is true
if \(\CC\) is an exact category with respect to some class \(\EE\) of short exact sequences and \((\CC,\EE)\) has enough \(\EE\)-injectives.
‣ IsExactInjectiveObject ( I ) | ( property ) |
Returns: a boolian
The argument is an object \(I\) in \(\CC\). The output is whether or not \(I\) is an \(\EE\)-injective object.
‣ ExactInjectiveColift ( iota, tau ) | ( operation ) |
Returns: a morphism \(\lambda:B \to I\)
The arguments are an inflation \(\iota:A\to B\) and a morphism \(\tau:A\to I\) where \(I\) is an \(\EE\)-injective object. The output is a colift morphism \(\lambda:B \to I\) of \(\tau\) along \(\iota\), i.e., \(\comp{\iota}{\lambda} \sim \tau\).
gap> iota := KernelEmbedding( mu ); <A monomorphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsConflationPair( iota, ExactCokernelProjection( iota ) ); true gap> A := Source( iota ); <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> I := GradedRow( [ [ [0], 2 ], [ [-1], 2 ], [ [-2], 1 ] ], EEE ); <A graded row of rank 5> gap> I := AsFreydCategoryObject( I ); <A projective object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsExactInjectiveObject( I ); true gap> Hom_AI := BasisOfExternalHom( A, I );; gap> Size( Hom_AI ); 5 gap> tau := Random( Hom_AI ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> lambda := ExactInjectiveColift( iota, tau ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( iota, lambda ), tau ); true
‣ SomeExactInjectiveObject ( A ) | ( operation ) |
Returns: an \(\EE\)-injective object
The argument is an object \(A\) in \(\CC\). The output is an \(\EE\)-injective object \(I_A\) such that there exists an inflation \(A \to I_A\).
‣ InflationIntoSomeExactInjectiveObject ( A ) | ( operation ) |
Returns: an inflation \(A \to I_A\)
The argument is an object \(A\) in \(\CC\). The output is an inflation \(\iota_A:A \to I_A\) where \(I_A = \mathrm{SomeExactInjectiveObject}(A)\).
gap> IsExactCategoryWithEnoughExactInjectives( Grmod_E ); true gap> U; <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> I_U := SomeExactInjectiveObject( U ); <An object in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsExactInjectiveObject( I_U ); true gap> iota_U := InflationIntoSomeExactInjectiveObject( U ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsConflationPair( iota_U, ExactCokernelProjection( iota_U ) ); true
‣ IsLiftableAlongDeflationFromSomeExactProjectiveObject ( alpha ) | ( property ) |
Returns: true
or false
The argument if a morphism \(\alpha:A\to B\) in an exact category \((\CC,\EE)\) with enough \(\EE\)-projectives. The output is whether or not \(\alpha\) lifts along \(p_B:P_B\to B\) where \(p_B=\mathrm{DeflationFromSomeExactProjectiveObject}(B)\).
‣ LiftAlongDeflationFromSomeExactProjectiveObject ( alpha ) | ( attribute ) |
The argument is a morphism \(\alpha:A\to B\) such that \(\alpha\) lifts along \(p_B:P_B \to B\) where \(p_B=\mathrm{DeflationFromSomeExactProjectiveObject}(B)\). The output is a lift morphism \(\lambda: A \to P_B\) of \(\alpha\) along \(p_B\).
gap> V = Range( mu ); true gap> pi_V := DeflationFromSomeExactProjectiveObject( V ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsLiftableAlongDeflationFromSomeExactProjectiveObject( mu ); true gap> lambda := LiftAlongDeflationFromSomeExactProjectiveObject( mu ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( lambda, pi_V ), mu ); true
‣ IsColiftableAlongInflationIntoSomeExactInjectiveObject ( alpha ) | ( property ) |
Returns: true
or false
The argument if a morphism \(\alpha:A\to B\) in an exact category \((\CC,\EE)\) with enough \(\EE\)-injectives. The output is whether or not \(\alpha\) colifts along \(\iota_A:A\to I_A\) where \(\iota_A=\mathrm{InflationIntoSomeExactInjectiveObject}(A)\).
‣ ColiftAlongInflationIntoSomeExactInjectiveObject ( alpha ) | ( attribute ) |
The argument is a morphism \(\alpha:A\to B\) such that \(\alpha\) colifts along \(\iota_A:A \to I_A\) where \(\iota_A=\mathrm{InflationIntoSomeExactInjectiveObject}(A)\). The output is a colift morphism \(\lambda: I_A \to B\) of \(\alpha\) along \(\iota_A\).
gap> U = Source( mu ); true gap> iota_U := InflationIntoSomeExactInjectiveObject( U ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsColiftableAlongInflationIntoSomeExactInjectiveObject( mu ); true gap> lambda := ColiftAlongInflationIntoSomeExactInjectiveObject( mu ); <A morphism in Category of f.p. graded left modules over Q{e0,e1} (with weights [ -1, -1 ])> gap> IsCongruentForMorphisms( PreCompose( iota_U, lambda ), mu ); true
‣ IsFrobeniusCategory ( C ) | ( property ) |
Returns: true
or false
The argument is a CAP category. The output is true
if
\(\CC\) is exact with respect to some class \(\EE\) of short exact sequences,
\((\CC,\EE)\) has enough \(\EE\)-projectives and \(\EE\)-injectives,
an object in \(\CC\) is \(\EE\)-projective if and only if it is \(\EE\)-injective.
‣ SchanuelsIsomorphismByInflationsIntoSomeExactInjectiveObjects ( i, s, j, t ) | ( operation ) |
The arguments are an inflation \(i:A\to I\), a deflation \(s:I \to B\), an inflation \(j:A \to J\), a deflation \(t: J \to C\) in an exact category \((\CC,\EE)\) such that \(I\) and \(J\) are \(\EE\)-injective objects and the pairs \((i,s)\) and \((j,t)\) are conflations. The output is a morphism \(u: B \to C\) such that \(u\) becomes an isomorphism in the stable category of \(\CC\) by the class of exact injective objects.
‣ SchanuelsIsomorphismByDeflationsFromSomeExactProjectiveObjects ( i, s, j, t ) | ( operation ) |
The arguments are an inflation \(i:A\to I\), a deflation \(s:I \to C\), an inflation \(j:B \to J\), a deflation \(t: J \to C\) in an exact category \((\CC,\EE)\) such that \(I\) and \(J\) are \(\EE\)-projective objects and the pairs \((i,s)\) and \((j,t)\) are conflations. The output is a morphism \(u: A \to B\) such that \(u\) becomes an isomorphism in the stable category of \(\CC\) by the class of exact projective objects.
generated by GAPDoc2HTML