Skip to content

Commit ae338e0

Browse files
v1.71
1 parent a265f2b commit ae338e0

34 files changed

+502
-38
lines changed

HowToUpdateHap.txt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Change Test:=testquick.g, date and version in PackageInfo.g
2+
3+
Change ~/Hap/date
4+
5+
Change ~/Hap/version
6+
7+
Run ./updateAll.sh
8+
9+
Fix Undocumented.xml
10+
11+
Run clean in ~/Hap/doc and in ~/Hap/doc/tutorial
12+
13+
git clone https://github.com/gap-packages/hap.git
14+
15+
cp -r pkg/Hap1.30/* hap
16+
17+
rm hap/HowToUpdateHap.txt THIS SEEMS TO BE IMPORTANT
18+
19+
diff -r pkg/Hap1.30/ hap/
20+
21+
cd hap and then
22+
23+
git add .
24+
git commit -m "message"
25+
git push origin master [with username grahamknockillaree and passwd MumWon]
26+
27+
git clone --branch gh-pages https://github.com/gap-packages/hap.git
28+
29+
Rename the gh-pages directory from whatever it is called to gh-pages
30+
31+
Populate gh-pages/doc gh-pages/tutorial gh-pages/www with most recent files (xml, html files, etc.)
32+
33+
Make sure you have the latest Release Tools and then from within hap type
34+
35+
../ReleaseTools/release-gap-package --token ghp_whateverthetokenis
36+
37+
For some reason it may be necessary to perform the last command as root.
38+
39+
That's it.

PackageInfo.g

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ SetPackageInfo( rec(
88

99
PackageName := "HAP",
1010
Subtitle := "Homological Algebra Programming",
11-
Version := "1.70",
12-
Date := "19/07/2025",
11+
Version := "1.71",
12+
Date := "21/12/2025",
1313
License := "GPL-2.0-or-later",
1414

1515
SourceRepository := rec(

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ Please send your bug reports to graham.ellis(at)nuigalway.ie .
3232
On a Linux machine with GAP (and optionally Polymake) installed, the HAP
3333
library can be loaded as follows:
3434

35-
* First download the file hap1.70.tar.gz to the subdirectory "pkg/" of GAP. (If
35+
* First download the file hap1.71.tar.gz to the subdirectory "pkg/" of GAP. (If
3636
you don't have access to this, then create a directory "pkg" in your home
3737
directory and download the file there.)
3838

39-
* Change to directory "pkg/" and type "gunzip hap1.70.tar.gz" followed by
40-
"tar -xvf hap1.70.tar" .
39+
* Change to directory "pkg/" and type "gunzip hap1.71.tar.gz" followed by
40+
"tar -xvf hap1.71.tar" .
4141

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

4848
* Help on HAP can be found on the HAP home page (a version of which is
49-
included in directory "pkg/Hap1.70/www" of this distribution).
49+
included in directory "pkg/Hap1.71/www" of this distribution).
5050

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

54-
1. Change to the directory "pkg/Hap1.70/" .
54+
1. Change to the directory "pkg/Hap1.71/" .
5555
2. Edit the file "compile" so that: PKGDIR is equal to the path to the
5656
directory "pkg" where your GAP packages are stored; GACDIR is equal to the
5757
path to the directory where the GAP compiler "gac" is stored.
@@ -60,4 +60,4 @@ path to the directory where the GAP compiler "gac" is stored.
6060
The next time HAP is loaded a compiled version will be loaded.
6161

6262
* Should you want to return to an uncompiled version, change to the directory
63-
"pkg/Hap1.70/" and type "./uncompile".
63+
"pkg/Hap1.71/" and type "./uncompile".

date

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19 July 2025
1+
21 December 2025

doc/Undocumented.xml

Lines changed: 322 additions & 15 deletions
Large diffs are not rendered by default.

doc/newCubical.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
</Description> </ManSection>
5252
<ManSection> <Func Name="ContractPureCubicalComplex" Arg="T"/> <Description> <P/> Inputs a pure cubical complex <M>T</M> of dimension <M>d</M> and removes <M>d</M>-dimensional cells from <M>T</M> without changing the homotopy type of <M>T</M>. When the function has been applied, no further <M>d</M>-cells can be removed from <M>T</M> without changing its homotopy type. This function modifies <M>T</M>. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>1</LinkText></URL>&nbsp;
5353
</Description> </ManSection>
54-
<ManSection> <Func Name="ContractedComplex" Arg="T"/> <Description> <P/> Inputs a pure cubical complex <M>T</M> and returns a structural copy of the complex obtained from <M>T</M> by applying the function ContractPureCubicalComplex(T). <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap2.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap3.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap5.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap7.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap11.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>9</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>10</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>11</LinkText></URL>&nbsp;
54+
<ManSection> <Func Name="ContractedComplex" Arg="T"/> <Description> <P/> Inputs a pure cubical complex <M>T</M> and returns a structural copy of the complex obtained from <M>T</M> by applying the function ContractPureCubicalComplex(T). <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap2.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap3.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap5.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap7.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap11.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap13.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>9</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>10</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>11</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>12</LinkText></URL>&nbsp;
5555
</Description> </ManSection>
5656
<ManSection> <Func Name="ZigZagContractedPureCubicalComplex" Arg="T"/> <Description> <P/> Inputs a pure cubical complex <M>T</M> and returns a homotopy equivalent pure cubical complex <M>S</M>. The aim is for <M>S</M> to involve fewer cells than <M>T</M> and certainly to involve no more cells than <M>T</M>. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutLinks.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>3</LinkText></URL>&nbsp;
5757
</Description> </ManSection>

doc/newFunctors.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</Description> </ManSection>
66
<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;
77
</Description> </ManSection>
8-
<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;
8+
<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>../tutorial/chap14.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>4</LinkText></URL>&nbsp;
99
</Description> </ManSection>
1010
<ManSection> <Func Name="TensorWithIntegralModule" 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 chain complex obtained by tensoring over <M>ZG</M> with the <M>ZG</M>-module <M>A=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;
1111
</Description> </ManSection>

doc/newNewCellComplexes.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
</Description> </ManSection>
8484
<ManSection> <Func Name="ThickeningFiltration" Arg="K,n"/> <Func Name="ThickeningFiltration" Arg="K,n,s"/> <Description><P/> <P/> Inputs a pure cubical complex <M>K</M> and integer <M>n \ge 1</M>, and returns a filtered pure cubical complex of filtration length <M>n</M>. The <M>t</M>-th term of the filtration is the <M>t</M>-fold thickening of <M>K</M>. If an integer <M>s \ge 1</M> is entered as the optional third argument then the <M>t</M>-th term of the filtration is the <M>ts</M>-fold thickening of <M>K</M>. <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>2</LinkText></URL>&nbsp;
8585
</Description> </ManSection> </Section> <Section><Heading> Cellular Complexes <M>\longrightarrow</M> Cellular Complexes (Preserving Data Types)</Heading>
86-
<ManSection> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K,S"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K,S"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="G"/> <Description> <P/> Inputs a complex (regular CW, Filtered regular CW, pure cubical etc.) and returns a homotopy equivalent subcomplex. <P/> Inputs a pure cubical complex or pure permutahedral complex <M>K</M> and a subcomplex <M>S</M>. It returns a homotopy equivalent subcomplex of <M>K</M> that contains <M>S</M>. <P/> Inputs a graph <M>G</M> and returns a subgraph <M>S</M> such that the clique complexes of <M>G</M> and <M>S</M> are homotopy equivalent. <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap2.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap3.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap5.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap7.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap11.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>9</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>10</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>11</LinkText></URL>&nbsp;
86+
<ManSection> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K,S"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="K,S"/> <Func Name="ContractedComplex" Arg="K"/> <Func Name="ContractedComplex" Arg="G"/> <Description> <P/> Inputs a complex (regular CW, Filtered regular CW, pure cubical etc.) and returns a homotopy equivalent subcomplex. <P/> Inputs a pure cubical complex or pure permutahedral complex <M>K</M> and a subcomplex <M>S</M>. It returns a homotopy equivalent subcomplex of <M>K</M> that contains <M>S</M>. <P/> Inputs a graph <M>G</M> and returns a subgraph <M>S</M> such that the clique complexes of <M>G</M> and <M>S</M> are homotopy equivalent. <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap2.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap3.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap5.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap7.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap11.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap13.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>9</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>10</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>11</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>12</LinkText></URL>&nbsp;
8787
</Description> </ManSection>
8888
<ManSection> <Func Name="ContractibleSubcomplex" Arg="K"/> <Func Name="ContractibleSubcomplex" Arg="K"/> <Func Name="ContractibleSubcomplex" Arg="K"/> <Description><P/> <P/> Inputs a non-empty pure cubical, pure permutahedral or simplicial complex <M>K</M> and returns a contractible subcomplex. <P/><B>Examples:</B> <URL><Link>../tutorial/chap10.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>2</LinkText></URL>&nbsp;
8989
</Description> </ManSection>

0 commit comments

Comments
 (0)