Skip to content

Commit

Permalink
version 1.66
Browse files Browse the repository at this point in the history
  • Loading branch information
grahamknockillaree committed Oct 24, 2024
1 parent 9a786c1 commit 3a992b9
Show file tree
Hide file tree
Showing 25 changed files with 1,259 additions and 56 deletions.
4 changes: 2 additions & 2 deletions PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ SetPackageInfo( rec(

PackageName := "HAP",
Subtitle := "Homological Algebra Programming",
Version := "1.65",
Date := "29/07/2024",
Version := "1.66",
Date := "24/10/2024",
License := "GPL-2.0-or-later",

SourceRepository := rec(
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ Please send your bug reports to graham.ellis(at)nuigalway.ie .
On a Linux machine with GAP (and optionally Polymake) installed, the HAP
library can be loaded as follows:

* First download the file hap1.65.tar.gz to the subdirectory "pkg/" of GAP. (If
* First download the file hap1.66.tar.gz to the subdirectory "pkg/" of GAP. (If
you don't have access to this, then create a directory "pkg" in your home
directory and download the file there.)

* Change to directory "pkg/" and type "gunzip hap1.65.tar.gz" followed by
"tar -xvf hap1.65.tar" .
* Change to directory "pkg/" and type "gunzip hap1.66.tar.gz" followed by
"tar -xvf hap1.66.tar" .

* Start GAP. (If you have created "pkg" in your home directory then start GAP
with the command "gap -l 'path/homedir;' " where path/homedir is the path to
Expand All @@ -46,12 +46,12 @@ your home directory.)
* In GAP type " LoadPackage("HAP"); " .

* Help on HAP can be found on the HAP home page (a version of which is
included in directory "pkg/Hap1.65/www" of this distribution).
included in directory "pkg/Hap1.66/www" of this distribution).

* Performance can be significantly improved by using a compiled version of the
HAP library. A compiled version can be created by the following steps.

1. Change to the directory "pkg/Hap1.65/" .
1. Change to the directory "pkg/Hap1.66/" .
2. Edit the file "compile" so that: PKGDIR is equal to the path to the
directory "pkg" where your GAP packages are stored; GACDIR is equal to the
path to the directory where the GAP compiler "gac" is stored.
Expand All @@ -60,4 +60,4 @@ path to the directory where the GAP compiler "gac" is stored.
The next time HAP is loaded a compiled version will be loaded.

* Should you want to return to an uncompiled version, change to the directory
"pkg/Hap1.65/" and type "./uncompile".
"pkg/Hap1.66/" and type "./uncompile".
2 changes: 1 addition & 1 deletion date
Original file line number Diff line number Diff line change
@@ -1 +1 @@
29 July 2024
24 October 2024
31 changes: 20 additions & 11 deletions doc/Undocumented.xml
Original file line number Diff line number Diff line change
Expand Up @@ -299,12 +299,14 @@
<Br/>
<C>CrystFinitePartOfMatrix</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <Br/>
<Br/>
<C>CrystGFullBasis</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap9.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>2</LinkText></URL>&nbsp;
<C>CrystGFullBasis</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap8.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap9.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>3</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>CrystGcomplex</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap9.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>2</LinkText></URL>&nbsp;
<C>CrystGcomplex</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap8.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap9.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>3</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>CrystMatrix</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <Br/>
Expand Down Expand Up @@ -865,7 +867,8 @@
<Br/>
<C>IsMetricMatrix</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <Br/>
<Br/>
<C>IsPeriodicSpaceGroup</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;
<C>IsPeriodicSpaceGroup</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap8.html</Link><LinkText>2</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>IsPureComplex</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <Br/>
Expand Down Expand Up @@ -1281,7 +1284,8 @@
<C>ResolutionSL2Z_alt</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap13.html</Link><LinkText>1</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>ResolutionSpaceGroup</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap11.html</Link><LinkText>1</LinkText></URL>&nbsp;
<C>ResolutionSpaceGroup</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap8.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.html</Link><LinkText>2</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>ResolutionToEquivariantCWComplex</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <Br/>
Expand Down Expand Up @@ -2076,7 +2080,8 @@
<Br/>
<C>IsPeriodic</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap7.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap13.html</Link><LinkText>3</LinkText></URL>&nbsp;
<URL><Link>../tutorial/chap8.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap13.html</Link><LinkText>4</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>IsPseudoListWithFunction</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <Br/>
Expand Down Expand Up @@ -3119,7 +3124,8 @@
<Br/>
<C>IsPeriodic</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap7.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap13.html</Link><LinkText>3</LinkText></URL>&nbsp;
<URL><Link>../tutorial/chap8.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap13.html</Link><LinkText>4</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>Kernel</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
Expand Down Expand Up @@ -6421,15 +6427,18 @@
<Br/>
<Br/>
<C>Position</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>2</LinkText></URL>&nbsp;
<URL><Link>../tutorial/chap8.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>3</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>Position</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>2</LinkText></URL>&nbsp;
<URL><Link>../tutorial/chap8.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>3</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>Position</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>2</LinkText></URL>&nbsp;
<URL><Link>../tutorial/chap8.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>3</LinkText></URL>&nbsp;
<Br/>
<Br/>
<C>PositionCanonical</C>&nbsp;&nbsp;&nbsp;&nbsp;<B>Examples:</B> <Br/>
Expand Down
4 changes: 2 additions & 2 deletions doc/newFunctors.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Chapter><Heading> Functors</Heading> <Section><Heading> &nbsp;</Heading>
<ManSection> <Func Name="ExtendScalars" Arg="R,G,EltsG"/> <Description> <P/> Inputs a <M>ZH</M>-resolution <M>R</M>, a group <M>G</M> containing <M>H</M> as a subgroup, and a list <M>EltsG</M> of elements of <M>G</M>. It returns the free <M>ZG</M>-resolution <M>(R \otimes_{ZH} ZG)</M>. The returned resolution <M>S</M> has S!.elts:=EltsG. This is a resolution of the <M>ZG</M>-module <M>(Z \otimes_{ZH} ZG)</M>. (Here <M>\otimes_{ZH}</M> means tensor over <M>ZH</M>.) <P/><B>Examples:</B>
</Description> </ManSection>
<ManSection> <Func Name="HomToIntegers" Arg="X"/> <Description> <P/> Inputs either a <M>ZG</M>-resolution <M>X=R</M>, or an equivariant chain map <M>X = (F:R \longrightarrow S)</M>. It returns the cochain complex or cochain map obtained by applying <M>HomZG( _ , Z)</M> where <M>Z</M> is the trivial module of integers (characteristic 0). <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap7.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap13.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCohomologyRings.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>8</LinkText></URL>&nbsp;
<ManSection> <Func Name="HomToIntegers" Arg="X"/> <Description> <P/> Inputs either a <M>ZG</M>-resolution <M>X=R</M>, or an equivariant chain map <M>X = (F:R \longrightarrow S)</M>. It returns the cochain complex or cochain map obtained by applying <M>HomZG( _ , Z)</M> where <M>Z</M> is the trivial module of integers (characteristic 0). <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap7.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap8.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap13.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCohomologyRings.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>9</LinkText></URL>&nbsp;
</Description> </ManSection>
<ManSection> <Func Name="HomToIntegersModP" Arg="R"/> <Description> <P/> Inputs a <M>ZG</M>-resolution <M>R</M> and returns the cochain complex obtained by applying <M>HomZG( _ , Z_p)</M> where <M>Z_p</M> is the trivial module of integers mod <M>p</M>. (At present this functor does not handle equivariant chain maps.) <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>3</LinkText></URL>&nbsp;
<ManSection> <Func Name="HomToIntegersModP" Arg="R"/> <Description> <P/> Inputs a <M>ZG</M>-resolution <M>R</M> and returns the cochain complex obtained by applying <M>HomZG( _ , Z_p)</M> where <M>Z_p</M> is the trivial module of integers mod <M>p</M>. (At present this functor does not handle equivariant chain maps.) <P/><B>Examples:</B> <URL><Link>../tutorial/chap8.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>4</LinkText></URL>&nbsp;
</Description> </ManSection>
<ManSection> <Func Name="HomToIntegralModule" Arg="R,f"/> <Description> <P/> Inputs a <M>ZG</M>-resolution <M>R</M> and a group homomorphism <M>f:G \longrightarrow GL_n(Z)</M> to the group of <M>n×n</M> invertible integer matrices. Here <M>Z</M> must have characteristic 0. It returns the cochain complex obtained by applying <M>HomZG( _ , A)</M> where <M>A</M> is the <M>ZG</M>-module <M>Z^n</M> with <M>G</M> action via <M>f</M>. (At present this function does not handle equivariant chain maps.) <P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap13.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>3</LinkText></URL>&nbsp;
</Description> </ManSection>
Expand Down
2 changes: 1 addition & 1 deletion doc/newHomology.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
</Description> </ManSection>
<ManSection> <Func Name="CohomologyPrimePart" Arg="C,n,p"/> <Description> <P/> Inputs a cochain complex <M>C</M> in characteristic 0, a positive integer <M>n</M>, and a prime <M>p</M>. It returns a list of those torsion coefficients of <M>H^n(C)</M> that are positive powers of <M>p</M>. The function uses the EDIM package by Frank Luebeck. <P/><B>Examples:</B>
</Description> </ManSection>
<ManSection> <Func Name="GroupCohomology" Arg="X,n"/> <Func Name="GroupCohomology" Arg="X,n,p"/> <Description> <P/> Inputs a positive integer <M>n</M> and either <List> <Item> a finite group <M>X=G</M> </Item> <Item> or a nilpotent Pcp-group <M>X=G</M> </Item> <Item> or a space group <M>X=G</M> </Item> <Item> or a list <M>X=D</M> representing a graph of groups</Item> <Item>or a pair <M>X=["Artin",D]</M> where <M>D</M> is a Coxeter diagram representing an infinite Artin group <M>G</M>.</Item> <Item>or a pair <M>X=["Coxeter",D]</M> where <M>D</M> is a Coxeter diagram representing a finite Coxeter group <M>G</M>.</Item> </List> It returns the torsion coefficients of the integral cohomology <M>H^n(G,Z)</M>. <P/> There is an optional third argument which, when set equal to a prime <M>p</M>, causes the function to return the the mod <M>p</M> cohomology <M>H^n(G,Z_p)</M> as a list of length equal to its rank. <P/> This function is a composite of more basic functions, and makes choices for a number of parameters. For a particular group you would almost certainly be better using the more basic functions and making the choices yourself! <P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;
<ManSection> <Func Name="GroupCohomology" Arg="X,n"/> <Func Name="GroupCohomology" Arg="X,n,p"/> <Description> <P/> Inputs a positive integer <M>n</M> and either <List> <Item> a finite group <M>X=G</M> </Item> <Item> or a nilpotent Pcp-group <M>X=G</M> </Item> <Item> or a space group <M>X=G</M> </Item> <Item> or a list <M>X=D</M> representing a graph of groups</Item> <Item>or a pair <M>X=["Artin",D]</M> where <M>D</M> is a Coxeter diagram representing an infinite Artin group <M>G</M>.</Item> <Item>or a pair <M>X=["Coxeter",D]</M> where <M>D</M> is a Coxeter diagram representing a finite Coxeter group <M>G</M>.</Item> </List> It returns the torsion coefficients of the integral cohomology <M>H^n(G,Z)</M>. <P/> There is an optional third argument which, when set equal to a prime <M>p</M>, causes the function to return the the mod <M>p</M> cohomology <M>H^n(G,Z_p)</M> as a list of length equal to its rank. <P/> This function is a composite of more basic functions, and makes choices for a number of parameters. For a particular group you would almost certainly be better using the more basic functions and making the choices yourself! <P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap8.html</Link><LinkText>2</LinkText></URL>&nbsp;
</Description> </ManSection>
<ManSection> <Func Name="GroupHomology" Arg="X,n"/> <Func Name="GroupHomology" Arg="X,n,p"/> <Description> <P/> Inputs a positive integer <M>n</M> and either <List> <Item> a finite group <M>X=G</M> </Item> <Item> or a nilpotent Pcp-group <M>X=G</M> </Item> <Item> or a space group <M>X=G</M> </Item> <Item> or a list <M>X=D</M> representing a graph of groups</Item> <Item>or a pair <M>X=["Artin",D]</M> where <M>D</M> is a Coxeter diagram representing an infinite Artin group <M>G</M>.</Item> <Item>or a pair <M>X=["Coxeter",D]</M> where <M>D</M> is a Coxeter diagram representing a finite Coxeter group <M>G</M>.</Item> </List> It returns the torsion coefficients of the integral homology <M>H_n(G,Z)</M>. <P/> There is an optional third argument which, when set equal to a prime <M>p</M>, causes the function to return the mod <M>p</M> homology <M>H_n(G,Z_p)</M> as a list of lenth equal to its rank. <P/> This function is a composite of more basic functions, and makes choices for a number of parameters. For a particular group you would almost certainly be better using the more basic functions and making the choices yourself! <P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap13.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutLinks.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutParallel.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutRosenbergerMonster.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutFunctorial.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutLie.html</Link><LinkText>9</LinkText></URL>&nbsp;
</Description> </ManSection>
Expand Down
Loading

0 comments on commit 3a992b9

Please sign in to comment.