Skip to content

Commit

Permalink
Merge pull request gap-packages#78 from cdwensley/oct21
Browse files Browse the repository at this point in the history
preparing to release v1.27
  • Loading branch information
cdwensley authored Oct 26, 2024
2 parents a05ec7d + dae055a commit 7defb71
Show file tree
Hide file tree
Showing 23 changed files with 1,314 additions and 858 deletions.
16 changes: 11 additions & 5 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# CHANGES to the 'XModAlg' package

## 1.26 -> 1.27 (26/10/24)
* (21/10/24) removed references to "Type2" and "XModAlgebraConst"
tests now use local variables and are mirrored in /examples
xmod.tst now agrees with sections 4.1.7-4.1.10 in the manual
changed names of variables in tests to avoid duplications

## 1.25 -> 1.26 (09/07/24)
* (08/07/24) renamed the actions and algebras in the tests/examples as
act1, act2, ,,, act6 and added direct sum operations
Expand All @@ -17,16 +23,16 @@
and prior to the function being moved to the main GAP library

## 1.18 -> 1.22 (29/04/22)
* (27/04/22) required version 2.87 of XMod which uses Size2d in place of Size,
and so replaced Size by Size2d for 2d-algebras
* (27/04/22) required version 2.87 of XMod which uses Size2d in place of
Size, and so replaced Size by Size2d for 2d-algebras
* (15/07/21) revised PreXModAlgebraOfPreCat1Algebra
* (14/07/21) revised IsPreXModAlgebra and IsXModAlgebra
renamed AlgebraAction4 AlgebraActionByModule
renamed AlgebraAction4 as AlgebraActionByModule
* (09/07/21) added section on Multipliers and MultiplierAlgebras
* (09/06/21) renamed AlgebraAction3 AlgebraActionBySurjection
* (09/06/21) renamed AlgebraAction3 as AlgebraActionBySurjection
renamed XModAlgebraByCentralExtension XModAlgebraBySurjection
revised these operations and added examples
* (25/05/21) renamed AlgebraAction1 AlgebraActionByMultipliers
* (25/05/21) renamed AlgebraAction1 as AlgebraActionByMultipliers
added operation SemidirectProductofAlgebras
added chapter Commutative algebras and their actions to manual
* (12/05/21) added algebra attribute AugmentationXMod
Expand Down
4 changes: 0 additions & 4 deletions TODO.md

This file was deleted.

10 changes: 5 additions & 5 deletions doc/algebra.xml
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ for all <M>a,b</M> in the basis for <M>A</M>.
<![CDATA[
gap> IsAlgebraMultiplier( m1 );
true
gap> one := One( A1 );;
gap> L1 := List( BA1, v -> one );;
gap> id1 := One( A1 );;
gap> L1 := List( BA1, v -> id1 );;
gap> h1 := LeftModuleHomomorphismByImages( A1, A1, BA1, L1 );
[ (Z(5)^0)*(), (Z(5)^0)*(1,2,3,4,5,6), (Z(5)^0)*(1,3,5)(2,4,6),
(Z(5)^0)*(1,4)(2,5)(3,6), (Z(5)^0)*(1,5,3)(2,6,4), (Z(5)^0)*(1,6,5,4,3,2)
Expand Down Expand Up @@ -314,9 +314,9 @@ LeftModuleHomomorphismByMatrix( Basis( A2,
[ [ 0, 0, 1, 4 ], [ 0, 0, 0, 1 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ] ] ),
[ [ 0, 0 ], [ 1, 0 ], [ 0, 1 ] ], CanonicalBasis( Q2 ) )
gap> act2 := AlgebraActionBySurjection( nat2 );;
gap> C2 := Image( act2 );;
gap> BC2 := BasisVectors( Basis( C2 ) );;
gap> b1 := BC2[1];; b2 := BC2[2];;
gap> I2 := Image( act2 );;
gap> BI2 := BasisVectors( Basis( I2 ) );;
gap> b1 := BI2[1];; b2 := BI2[2];;
gap> [ Image(b1,m2)=m2^2, Image(b1,m2^2)=m2^3, Image(b1,m2^3)=Zero(A2) ];
[ true, true, true ]
gap> [ Image(b2,m2)=m2^3, b2=b1^2 ];
Expand Down
85 changes: 45 additions & 40 deletions doc/cat1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -322,26 +322,26 @@ subcat<M>^{1}</M>-algebras of a given cat<M>^{1}</M>-algebra.

<Example>
<![CDATA[
gap> C3 := Cat1AlgebraSelect( 2, 6, 2, 4 );;
gap> A3 := Source( C3 );
gap> C6 := Cat1AlgebraSelect( 2, 6, 2, 4 );;
gap> A6 := Source( C6 );
GF(2)_c6
gap> B3 := Range( C3 );
GF(2)_c3
gap> eA3 := Elements( A3 );;
gap> eB3 := Elements( B3 );;
gap> AA3 := Subalgebra( A3, [ eA3[1], eA3[2], eA3[3] ] );
gap> B6 := Range( C6 );
<algebra of dimension 3 over GF(2)>
gap> eA6 := Elements( A6 );;
gap> eB6 := Elements( B6 );;
gap> SA6 := Subalgebra( A6, [ eA6[1], eA6[2], eA6[3] ] );
<algebra over GF(2), with 3 generators>
gap> [ Size(A3), Size(AA3) ];
gap> [ Size(A6), Size(SA6) ];
[ 64, 4 ]
gap> BB3 := Subalgebra( B3, [ eB3[1], eB3[2] ] );
gap> SB6 := Subalgebra( B6, [ eB6[1], eB6[2] ] );
<algebra over GF(2), with 2 generators>
gap> [ Size(B3), Size(BB3) ];
gap> [ Size(B6), Size(SB6) ];
[ 8, 2 ]
gap> CC3 := SubCat1Algebra( C3, AA3, BB3 );
gap> SC6 := SubCat1Algebra( C6, SA6, SB6 );
[Algebra( GF(2), [ <zero> of ..., (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(4,5)
] ) -> Algebra( GF(2), [ <zero> of ..., (Z(2)^0)*() ] )]
gap> Display( CC3 );
Cat1-algebra [..=>..] :-
gap> Display( SC6 );
Cat1-algebra [..=>..] :-
: source algebra has generators:
[ <zero> of ..., (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(4,5) ]
: range algebra has generators:
Expand All @@ -358,6 +358,8 @@ Cat1-algebra [..=>..] :-
[ <zero> of ..., <zero> of ... ]
: kernel embedding maps generators of kernel to:
[ <zero> of ..., (Z(2)^0)*()+(Z(2)^0)*(4,5) ]
gap> IsSubCat1Algebra( C6, SC6 );
true
]]>
</Example>

Expand Down Expand Up @@ -429,10 +431,10 @@ These are the six main attributes of a cat<M>^{1}</M>-algebra morphism.

<Example>
<![CDATA[
gap> C1 := Cat1Algebra( 2, 1, 1, 1 );
gap> C1 := Cat1AlgebraSelect( 2, 1, 1, 1 );
[GF(2)_triv -> GF(2)_triv]
gap> Display( C1 );
Cat1-algebra [GF(2)_triv=>GF(2)_triv] :-
Cat1-algebra [GF(2)_triv=>GF(2)_triv] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: range algebra has generators:
Expand All @@ -444,11 +446,10 @@ Cat1-algebra [GF(2)_triv=>GF(2)_triv] :-
: range embedding maps range generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: the kernel is trivial.
gap> C2 := Cat1Algebra( 2, 2, 1, 2 );
gap> C2 := Cat1AlgebraSelect( 2, 2, 1, 2 );
[GF(2)_c2 -> GF(2)_triv]
gap> Display( C2 );
Cat1-algebra [GF(2)_c2=>GF(2)_triv] :-
gap> Display( C2 );
Cat1-algebra [GF(2)_c2=>GF(2)_triv] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*(1,2) ]
: range algebra has generators:
Expand All @@ -467,30 +468,32 @@ Cat1-algebra [GF(2)_c2=>GF(2)_triv] :-
[ (Z(2)^0)*()+(Z(2)^0)*(1,2) ]
gap> C1 = C2;
false
gap> R1 := Source( C1 );;
gap> R2 := Source( C2 );;
gap> S1 := Range( C1 );;
gap> S2 := Range( C2 );;
gap> gR1 := GeneratorsOfAlgebra( R1 );
gap> SC1 := Source( C1 );;
gap> SC2 := Source( C2 );
GF(2)_c2
gap> RC1 := Range( C1 );;
gap> RC2 := Range( C2 );;
gap> gSC1 := GeneratorsOfAlgebra( SC1 );
[ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> gR2 := GeneratorsOfAlgebra( R2 );
gap> gSC2 := GeneratorsOfAlgebra( SC2 );
[ (Z(2)^0)*(), (Z(2)^0)*(1,2) ]
gap> gS1 := GeneratorsOfAlgebra( S1 );
gap> gRC1 := GeneratorsOfAlgebra( RC1 );
[ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> gS2 := GeneratorsOfAlgebra( S2 );
gap> gRC2 := GeneratorsOfAlgebra( RC2 );
[ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> im1 := [ gR2[1], gR2[1] ];
gap> imS := [ gSC2[1], gSC2[1] ];
[ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> f1 := AlgebraHomomorphismByImages( R1, R2, gR1, im1 );
gap> homS := AlgebraHomomorphismByImages( SC1, SC2, gSC1, imS );
[ (Z(2)^0)*(), (Z(2)^0)*() ] -> [ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> im2 := [ gS2[1], gS2[1] ];
gap> imR := [ gRC2[1], gRC2[1] ];
[ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> f2 := AlgebraHomomorphismByImages( S1, S2, gS1, im2 );
gap> homR := AlgebraHomomorphismByImages( RC1, RC2, gRC1, imR );
[ (Z(2)^0)*(), (Z(2)^0)*() ] -> [ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> m := Cat1AlgebraMorphism( C1, C2, f1, f2 );
gap> m12 := Cat1AlgebraMorphism( C1, C2, homS, homR );
[[GF(2)_triv=>GF(2)_triv] => [GF(2)_c2=>GF(2)_triv]]
gap> Display( m );
Morphism of cat1-algebras :-
gap> Display( m12 );
Morphism of cat1-algebras :-
: Source = [GF(2)_triv=>GF(2)_triv] with generating sets:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
[ (Z(2)^0)*(), (Z(2)^0)*() ]
Expand All @@ -501,13 +504,15 @@ Morphism of cat1-algebras :-
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: Range Homomorphism maps range generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
gap> IsSurjective( m );
## gap> Image2dAlgMapping( m12 );
## [GF(3)_c2^3=>GF(3)_c2^3]
gap> IsSurjective( m12 );
false
gap> IsInjective( m );
gap> IsInjective( m12 );
true
gap> IsBijective( m );
gap> IsBijective( m12 );
false
]]>
</Example>

Expand All @@ -523,8 +528,8 @@ this operation returns the image crossed module.

<Example>
<![CDATA[
gap> imm := ImagesSource2DimensionalMapping( m );;
gap> Display( imm );
gap> im12 := ImagesSource2DimensionalMapping( m12 );;
gap> Display( im12 );
Cat1-algebra [..=>..] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
Expand Down
17 changes: 7 additions & 10 deletions doc/convert.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ instead of the operation <Ref Oper="Cat1AlgebraSelect"/>.
<Description>
These operations are used for constructing a cat<M>^{1}</M>-algebra
from a given crossed module of algebras.
As an example we use the crossed module <C>XAB</C> constructed in
<Ref Oper="XModAlgebraByIdeal"/>.
As an example we use the crossed module <C>XAB</C> constructed in section
<Ref Sect="XModAlgebraByIdeal"/>.
</Description>
</ManSection>

Expand All @@ -74,16 +74,14 @@ As an example we use the crossed module <C>XAB</C> constructed in
gap> CAB := Cat1AlgebraOfXModAlgebra( XAB );
[A(l,m) |X A(m)=>A(l,m)]
gap> Display( CAB );
Cat1-algebra [A(l,m) |X A(m)=>A(l,m)] :-
Cat1-algebra [A(l,m) |X A(m) => A(l,m)] :-
: range algebra has generators:
[
[ [ Z(5)^0, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5) ],
[ 0*Z(5), 0*Z(5), Z(5)^0 ] ],
[ [ 0*Z(5), Z(5)^0, Z(5)^3 ], [ 0*Z(5), 0*Z(5), Z(5)^0 ],
[ 0*Z(5), 0*Z(5), 0*Z(5) ] ] ]
: tail homomorphism maps source generators to:
: tail homomorphism maps source generators to:
[
[ [ Z(5)^0, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5) ],
[ 0*Z(5), 0*Z(5), Z(5)^0 ] ],
Expand All @@ -96,7 +94,6 @@ Cat1-algebra [A(l,m) |X A(m)=>A(l,m)] :-
[ [ 0*Z(5), 0*Z(5), 0*Z(5) ], [ 0*Z(5), 0*Z(5), 0*Z(5) ],
[ 0*Z(5), 0*Z(5), 0*Z(5) ] ] ]
: head homomorphism maps source generators to:
[
[ [ Z(5)^0, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5) ],
[ 0*Z(5), 0*Z(5), Z(5)^0 ] ],
Expand All @@ -108,8 +105,7 @@ Cat1-algebra [A(l,m) |X A(m)=>A(l,m)] :-
[ 0*Z(5), 0*Z(5), 0*Z(5) ] ],
[ [ 0*Z(5), 0*Z(5), Z(5)^0 ], [ 0*Z(5), 0*Z(5), 0*Z(5) ],
[ 0*Z(5), 0*Z(5), 0*Z(5) ] ] ]
: range embedding maps range generators to:
[ v.1, v.2 ]
: range embedding maps range generators to: [ v.1, v.2 ]
: kernel has generators:
[ v.4, v.5 ]
]]>
Expand All @@ -125,6 +121,8 @@ Cat1-algebra [A(l,m) |X A(m)=>A(l,m)] :-
<Description>
These operations are used for constructing a crossed module of algebras
from a given cat<M>^{1}</M>-algebra.
The example uses the cat<M>^1</M>-algebra <C>C3</C>
constructed in section <Ref Sect="SubCat1Algebra"/>.
</Description>
</ManSection>

Expand All @@ -133,7 +131,6 @@ from a given cat<M>^{1}</M>-algebra.
gap> X3 := XModAlgebraOfCat1Algebra( C3 );
[ <algebra of dimension 3 over GF(2)> -> <algebra of dimension 3 over GF(2)> ]
gap> Display( X3 );
Crossed module [..->..] :-
: Source algebra has generators:
[ (Z(2)^0)*()+(Z(2)^0)*(4,5), (Z(2)^0)*(1,2,3)+(Z(2)^0)*(1,2,3)(4,5),
Expand Down
Loading

0 comments on commit 7defb71

Please sign in to comment.