Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# CHANGES to the 'XModAlg' package

## 1.32 -> 1.33 (27/08/25)
* (27/08/25) added installation instructions to the manual introduction
replaced \mathcal by \mathbb which suits MathJax better

## 1.27 -> 1.32 (11/04/25)
* (31/01/25) added Nizar Shammu's thesis to the list of references;
removed all operations involving direct sums of crossed modules
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,12 @@ This package allows for computation with crossed modules of commutative algebras

## Distribution

* The 'XModAlg' package is distributed with the deposited GAP packages, see:
<https://www.gap-system.org/Packages/xmodalg.html>
* It will, in due course, be available from the GitHub repository at:
The 'XModAlg' package may be obtained from the GitHub repository at:
<https://gap-packages.github.io/xmodalg/>

## Copyright

The 'XModAlg' package is Copyright © Zekeriya Arvasi and Alper Odabas et al, 2014--2025.
The 'XModAlg' package is Copyright Zekeriya Arvasi and Alper Odabas et al, 2014--2025.

'XModAlg' is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -34,6 +32,7 @@ For details, see <https://www.gnu.org/licenses/gpl.html>.
true
```
* The file `manual.pdf` is in the `doc` subdirectory.
* To run the test file read `testall.g` from the `tst` subdirectory.

## Contact

Expand Down
16 changes: 8 additions & 8 deletions doc/cat1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ If the conditions,
\mathbf{Cat1Alg2:} \quad (\ker t)(\ker h) = \{0_{A}\}
</Display>
are satisfied, then the algebraic system
<M>\mathcal{C} := (e;t,h : A \rightarrow R)</M>
<M>\mathbb{C} := (e;t,h : A \rightarrow R)</M>
is called a <E>cat<M>^{1}</M>-algebra</E>.
A system which satisfies the condition
<M>\mathbf{Cat1Alg1}</M> is called a <E>precat<M>^{1}</M>-algebra</E>.
Expand Down Expand Up @@ -292,7 +292,7 @@ Cat1-algebra [GF(2^2)_c6=>..] :-
<Oper Name="IsSubPreCat1Algebra"
Arg="alg sub" />
<Description>
Let <M>\mathcal{C} = (e;t,h:A\rightarrow R)</M>
Let <M>\mathbb{C} = (e;t,h:A\rightarrow R)</M>
be a cat<M>^{1}</M>-algebra, and let <M>A^{\prime}</M>,
<M>R^{\prime}</M> be subalgebras of <M>A</M> and <M>R</M> respectively.
If the restriction morphisms
Expand All @@ -305,14 +305,14 @@ e^{\prime} = e|_{R^{\prime}} : R^{\prime}\rightarrow A^{\prime}
</Display>
satisfy the <M>\mathbf{Cat1Alg1}</M> and <M>\mathbf{Cat1Alg2}</M>
conditions, then the system
<M>\mathcal{C}^{\prime } = (e^{\prime};t^{\prime},h^{\prime}
<M>\mathbb{C}^{\prime } = (e^{\prime};t^{\prime},h^{\prime}
: A^{\prime} \rightarrow R^{\prime})</M>
is called a <E>subcat<M>^{1}</M>-algebra</E> of
<M>\mathcal{C} = (e;t,h:A\rightarrow R)</M>.
<M>\mathbb{C} = (e;t,h:A\rightarrow R)</M>.
<P/>
If the morphisms satisfy only the <M>\mathbf{Cat1Alg1}</M> condition
then <M>\mathcal{C}^{\prime }</M> is called a
<E>sub-precat<M>^{1}</M>-algebra</E> of <M>\mathcal{C}</M>.
then <M>\mathbb{C}^{\prime }</M> is called a
<E>sub-precat<M>^{1}</M>-algebra</E> of <M>\mathbb{C}</M>.
<P/>
The operations in this subsection are used for constructing
subcat<M>^{1}</M>-algebras of a given cat<M>^{1}</M>-algebra.
Expand Down Expand Up @@ -370,8 +370,8 @@ true

<Heading>Cat<M>^{1}-</M>algebra morphisms</Heading>

Let <M>\mathcal{C} = (e;t,h:A\rightarrow R)</M>,
<M>\mathcal{C}^{\prime } = (e^{\prime}; t^{\prime }, h^{\prime }
Let <M>\mathbb{C} = (e;t,h:A\rightarrow R)</M>,
<M>\mathbb{C}^{\prime } = (e^{\prime}; t^{\prime }, h^{\prime }
: A^{\prime} \rightarrow R^{\prime})</M>
be cat<M>^{1}</M>-algebras,
and let <M>\phi : A\rightarrow A^{\prime}</M>
Expand Down
43 changes: 42 additions & 1 deletion doc/intro.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!-- -->
<!-- intro.xml XModAlg documentation Z. Arvasi -->
<!-- & A. Odabas -->
<!-- Copyright (C) 2014-2021, Z. Arvasi & A. Odabas, -->
<!-- Copyright (C) 2014-2025, Z. Arvasi & A. Odabas, -->
<!-- Osmangazi University, Eskisehir, Turkey -->
<!-- -->
<!-- ------------------------------------------------------------------- -->
Expand Down Expand Up @@ -53,5 +53,46 @@ and described in detail in the paper <Cite Key="arvasi_odabas" />.
<P/>
There are aspects of commutative algebras for which no &GAP; functions yet exist, for example semidirect products.
We have included here functions for all homomorphisms of algebras.
<P/>
The package is loaded with the command
<Example>
<![CDATA[
gap> LoadPackage( "xmodalg" );
]]>
</Example>
<P/>

The package may be obtained as a compressed <Code>.tar</Code> file
<File>XModAlg-version.tar.gz</File> from the GitHub release site:
<URL>https://github.com/gap-packages/xmodalg/releases/tag/version</URL>.
<Index>GitHub repository</Index>
The package also has a GitHub repository at:
<URL>https://github.com/gap-packages/xmodalg</URL>.
<P/>

Once the package is loaded, the manual <Code>doc/manual.pdf</Code>
can be found in the documentation folder.
The <Code>html</Code> versions, with or without MathJax,
may be rebuilt as follows:
<P/>
<Example>
<![CDATA[
gap> ReadPackage( "xmodalg", "makedoc.g" );
]]>
</Example>
<P/>

It is possible to check that the package has been installed correctly
by running the test files (this terminates the &GAP; session):
<P/>
<Example>
<![CDATA[
gap> TestPackage( "xmodalg" );
Architecture: . . . . .
testing: . . . . .
. . .
#I No errors detected while testing
]]>
</Example>

</Chapter>
42 changes: 21 additions & 21 deletions doc/xmod.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ algebras and their implementation in this package.
<Index>2d-algebra</Index>

A <E>crossed module</E> is a <B>k</B>-algebra morphism
<M>\mathcal{X}:=(\partial:S\rightarrow R)</M>
<M>\mathbb{X}:=(\partial:S\rightarrow R)</M>
with a left action of <M>R</M> on <M>S</M> satisfying
<Display>
{\bf XModAlg\ 1} ~:~ \partial(r \cdot s)
Expand All @@ -34,7 +34,7 @@ with a left action of <M>R</M> on <M>S</M> satisfying
</Display>
for all <M>s,s^{\prime }\in S, \ r\in R</M>.
The morphism <M>\partial</M> is called the <E>boundary map</E>
of <M>\mathcal{X}</M>
of <M>\mathbb{X}</M>
<P/>
Note that, although in this definition we have used a left action,
in the category of commutative algebras left and right actions coincide.
Expand Down Expand Up @@ -67,10 +67,10 @@ structures.
Arg="A I" />
<Description>
Let <M>A</M> be an algebra and <M>I</M> an ideal of <M>A</M>.
Then <M>\mathcal{X} = (inc:I\rightarrow A)</M> is a
Then <M>\mathbb{X} = (inc:I\rightarrow A)</M> is a
crossed module whose action is left multiplication of <M>A</M> on <M>I</M>.
Conversely, given a crossed module
<M>\mathcal{X} = (\partial : S \rightarrow R)</M>,
<M>\mathbb{X} = (\partial : S \rightarrow R)</M>,
it is the case that <M>{\partial(S)}</M> is an ideal of <M>R</M>.
<P/>
</Description>
Expand Down Expand Up @@ -150,14 +150,14 @@ gap> Size2d( XIAk4 );
Arg="X0" />
<Description>
These four attributes are used in the construction of a crossed module
<M>\mathcal{X}</M> where:
<M>\mathbb{X}</M> where:
<List>
<Item>
<C>Source(X)</C> and <C>Range(X)</C> are the <E>source</E> and the <E>range</E>
of the boundary map respectively;
</Item>
<Item>
<C>Boundary(X)</C> is the boundary map of the crossed module <M>\mathcal{X}</M>;
<C>Boundary(X)</C> is the boundary map of the crossed module <M>\mathbb{X}</M>;
</Item>
<Item>
<C>XModAlgebraAction(X)</C> is the action used in the crossed module.
Expand All @@ -169,19 +169,19 @@ endomorphisms of <C>Source(X)</C>.
The following standard &GAP; operations have special &XModAlg; implementations:
<List>
<Item>
<C>Display(X)</C> is used to list the components of <M>\mathcal{X}</M>;
<C>Display(X)</C> is used to list the components of <M>\mathbb{X}</M>;
</Item>
<Item>
<C>Size2d(X)</C> for a crossed module <M>\mathcal{X}</M>
<C>Size2d(X)</C> for a crossed module <M>\mathbb{X}</M>
returns a <M>2</M>-element list, the sizes of the source and range,
</Item>
<Item>
<C>Dimension(X)</C> for a crossed module <M>\mathcal{X}</M>
<C>Dimension(X)</C> for a crossed module <M>\mathbb{X}</M>
returns a <M>2</M>-element list, the dimensions of the source and range,
</Item>
<Item>
<C>Name(X)</C> is used for giving a name to the crossed module
<M>\mathcal{X}</M> by associating the names of source and range algebras.
<M>\mathbb{X}</M> by associating the names of source and range algebras.
</Item>
</List>

Expand Down Expand Up @@ -236,7 +236,7 @@ whose kernel lies in the annihilator of <M>S</M>.
Define the action of <M>R</M> on <M>S</M> by <M>r\cdot s = \widetilde{r}s</M>
where <M>\widetilde{r} \in \partial^{-1}(r)</M>,
as described in section <Ref Oper="AlgebraActionBySurjection"/>.
Then <M>\mathcal{X}=(\partial : S\rightarrow R)</M>
Then <M>\mathbb{X}=(\partial : S\rightarrow R)</M>
is a crossed module with the defined action.
<P/>
Continuing with the example in that section,
Expand Down Expand Up @@ -269,10 +269,10 @@ Crossed module [A2->Q2] :-
<Oper Name="IsSubXModAlgebra"
Arg="alg sub" />
<Description>
A crossed module <M>\mathcal{X}^{\prime }
A crossed module <M>\mathbb{X}^{\prime }
= (\partial ^{\prime }:S^{\prime}\rightarrow R^{\prime })</M>
is a subcrossed module of the crossed module
<M>\mathcal{X} = (\partial :S\rightarrow R)</M> if
<M>\mathbb{X} = (\partial :S\rightarrow R)</M> if
<M>S^{\prime }\leq S</M>, <M>R^{\prime}\leq R</M>,
<M>\partial^{\prime } = \partial|_{S^{\prime }}</M>,
and the action of <M>S^{\prime }</M> on <M>R^{\prime }</M>
Expand Down Expand Up @@ -312,8 +312,8 @@ Crossed module [<e4> -> ..] :-

<Section><Heading>(Pre-)Crossed Module Morphisms</Heading>

Let <M>\mathcal{X} = (\partial:S\rightarrow R)</M> and
<M>\mathcal{X}^{\prime} =
Let <M>\mathbb{X} = (\partial:S\rightarrow R)</M> and
<M>\mathbb{X}^{\prime} =
(\partial^{\prime }:S^{\prime }\rightarrow R^{\prime })</M>
be (pre)crossed modules and let <M>\theta :S\rightarrow S^{\prime }</M>,
<M>\varphi : R\rightarrow R^{\prime }</M> be algebra homomorphisms.
Expand All @@ -325,7 +325,7 @@ Then if
</Display>
for all <M>r\in R</M>, <M>s\in S,</M>
the pair <M>(\theta ,\varphi )</M> is called a morphism between
<M>\mathcal{X}</M> and <M>\mathcal{X}^{\prime } </M>
<M>\mathbb{X}</M> and <M>\mathbb{X}^{\prime } </M>
<P/>
The conditions can be thought as the commutativity of the following diagrams:

Expand Down Expand Up @@ -433,16 +433,16 @@ true
<Meth Name="Kernel" Label="for morphisms of crossed modules of algebras"
Arg="mor" />
<Description>
Let <M>(\theta,\varphi) : \mathcal{X} = (\partial : S \rightarrow R)
\rightarrow \mathcal{X}^{\prime} = (\partial^{\prime}
Let <M>(\theta,\varphi) : \mathbb{X} = (\partial : S \rightarrow R)
\rightarrow \mathbb{X}^{\prime} = (\partial^{\prime}
: S^{\prime} \rightarrow R^{\prime})</M>
be a crossed module homomorphism.
Then the crossed module
<Display>
\ker(\theta,\varphi) = (\partial| : \ker\theta \rightarrow \ker\varphi )
</Display>
is called the <E>kernel</E> of <M>(\theta,\varphi)</M>.
Also, <M>\ker(\theta ,\varphi )</M> is an ideal of <M>\mathcal{X}</M>.
Also, <M>\ker(\theta ,\varphi )</M> is an ideal of <M>\mathbb{X}</M>.
An example is given below.
</Description>
</ManSection>
Expand All @@ -464,8 +464,8 @@ true
<Oper Name="Image"
Arg="mor" />
<Description>
Let <M>(\theta,\varphi) : \mathcal{X} = (\partial : S \rightarrow R)
\rightarrow \mathcal{X}^{\prime} = (\partial^{\prime} : S^{\prime}
Let <M>(\theta,\varphi) : \mathbb{X} = (\partial : S \rightarrow R)
\rightarrow \mathbb{X}^{\prime} = (\partial^{\prime} : S^{\prime}
\rightarrow R^{\prime})</M>
be a crossed module homomorphism.
Then the crossed module
Expand Down