From c5f0c8806aefc1997716929554417bf0f4acfdc7 Mon Sep 17 00:00:00 2001 From: grahamknockillaree Date: Mon, 29 Jul 2024 16:53:10 +0100 Subject: [PATCH] version 1.65 --- PackageInfo.g | 4 ++-- README.md | 12 ++++++------ date | 2 +- lib/Congruence/bianchi.gi | 28 ++++++++++++++-------------- tst/testall3/bianchi.1.tst | 10 ++++++++++ tutorial/tutex/bianchi.1.txt | 4 +++- version | 2 +- www/download/downloadContent.html | 14 +++++++------- www/home/content.html | 4 ++-- 9 files changed, 46 insertions(+), 34 deletions(-) create mode 100644 tst/testall3/bianchi.1.tst diff --git a/PackageInfo.g b/PackageInfo.g index 34206b4f..a2cd5dd0 100644 --- a/PackageInfo.g +++ b/PackageInfo.g @@ -8,8 +8,8 @@ SetPackageInfo( rec( PackageName := "HAP", Subtitle := "Homological Algebra Programming", - Version := "1.64", - Date := "28/07/2024", + Version := "1.65", + Date := "29/07/2024", License := "GPL-2.0-or-later", SourceRepository := rec( diff --git a/README.md b/README.md index be5e3c2d..b18b53d6 100644 --- a/README.md +++ b/README.md @@ -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.64.tar.gz to the subdirectory "pkg/" of GAP. (If +* First download the file hap1.65.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.64.tar.gz" followed by -"tar -xvf hap1.64.tar" . +* Change to directory "pkg/" and type "gunzip hap1.65.tar.gz" followed by +"tar -xvf hap1.65.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 @@ -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.64/www" of this distribution). +included in directory "pkg/Hap1.65/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.64/" . +1. Change to the directory "pkg/Hap1.65/" . 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. @@ -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.64/" and type "./uncompile". +"pkg/Hap1.65/" and type "./uncompile". diff --git a/date b/date index edb1a04c..01efbf5e 100644 --- a/date +++ b/date @@ -1 +1 @@ -28 July 2024 +29 July 2024 diff --git a/lib/Congruence/bianchi.gi b/lib/Congruence/bianchi.gi index ff2cfda9..a765e7f7 100644 --- a/lib/Congruence/bianchi.gi +++ b/lib/Congruence/bianchi.gi @@ -1133,10 +1133,16 @@ N:=5; BI:=OQ!.bianchiInteger; ABI:=AbsInt(BI); ############################### -HAPRECORD:=[ [ 1, 1 ], [ 2, 1 ], [ 3, 1 ], [ 5, 20 ], [ 6, 24 ], [ 7, 1 ], [ 10, 40 ], [ 11, 1 ], [ 13, 52 ], [ 14, 56 ], [ 15, 16 ], [ 17, 68 ], [ 19, 4 ], [ 21, 84 ], [ 22, 88 ], [ 23, 12 ], [ 26, 104 ], [ 29, 169 ], [ 30, 121 ], [ 31, 16 ], [33,132], [ 34, 0 ], [ 35, 35 ], [ 37, 0 ], [ 38, 0 ], [ 39, 39 ], [ 41, 0 ], [ 42, 0 ], [ 43, 9 ], [ 46, 0 ], [ 47, 24 ], [ 51, 51 ], [ 53, 0 ], [ 55, 56 ], [ 57, 0 ], [ 59, 27 ], [ 67, 16 ], [ 71, 48 ], [ 79, 40 ], [ 83, 33 ], [ 87, 87 ], [ 91, 91 ], [ 95, 95 ], [ 103, 56 ], [ 107, 36 ], [ 111, 111 ], [ 115, 115 ], [ 119, 0 ], [ 123, 123 ], [ 127, 64 ], [ 131, 45 ], [ 139, 55 ], [ 143, 0 ], [ 151, 80 ], [163, 53 ] ]; -#HAPRECORD:=[]; #Uncomment this line to calculate - #HAPRECORD entries from scratch. +HAPRECORD:=[ +[ 1, 1 ],[ 2, 1 ],[ 3, 1 ],[ 5, 20 ],[ 6, 24 ],[ 7, 1 ],[ 10, 40 ],[ 11, 1 ],[ 13, 52 ],[ 14, 56 ],[ 15, 15 ],[ 17, 68 ],[ 19, 4 ],[ 21, 84 ],[ 22, 88 ],[ 23, 12 ],[ 26, 104 ],[ 29, 169 ],[ 30, 121 ],[ 31, 16 ],[ 33, 132 ],[ 34, 9 ],[ 35, 35 ],[ 37, 25 ],[ 38, 4 ],[ 39, 39 ],[ 41, 25 ],[ 42, 25 ],[ 43, 9 ],[ 46, 25 ],[ 47, 24 ],[ 51, 51 ],[ 53, 25 ],[ 55, 56 ],[ 57, 49 ],[ 59, 27 ],[ 67, 16 ],[ 71, 48 ],[ 79, 40 ],[ 83, 33 ],[ 87, 87 ],[ 91, 91 ],[ 95, 95 ],[ 103, 56 ],[ 107, 36 ],[ 111, 111 ],[ 115, 115 ],[ 119, 25 ],[ 123, 123 ],[ 127, 64 ],[ 131, 45 ],[ 139, 55 ],[ 143, 9 ],[ 151, 80 ],[ 155, 155 ],[ 163, 53 ], +[ 179, 155] +];; + #HAPRECORD contains some precomuted [d,r] for which Swan's + #criterion is satisfied for the given norm r. +#HAPRECORD:=[]; #Uncomment this line to calculate HAPRECORD entries from + #scratch. The value [179,155] was only partialy checked (up + #to norm r=5000). if Length(arg)=2 then pos:=arg[2]; else @@ -1158,9 +1164,9 @@ while bool do N:=N+1; #if NRMS[N]>ABI+30 then NRMS[N]:=0; break; fi; #REMEBER TO DELETE THIS # -#if Length(arg)>1 then +if Length(arg)>1 then Print("Adding hemispheres of squared radius ",1/NRMS[N],"\n"); -#fi; +fi; L:=UnimodularPairs(OQ,NRMS[N],true,L); #L:=QQNeighbourhoodOfUnimodularPairs(OQ,L); @@ -1183,15 +1189,9 @@ L:=K[1]; K:=K[2]; if pos=infinity then A:=BianchiPolyhedron(OQ!.bianchiInteger,L); A:=SwanBianchiCriterion(A); -if Length(A)=0 then bool:=false; return [L,K]; fi; -# if A[1]=false then Print("YES\n"); return CoverOfUnimodularPairs(OQ,N+1,true); -#else -# A:=List(A,x->HAPNorm(OQ,x[1])); -# A:=Minimum(A); -# return CoverOfUnimodularPairs(OQ,A); -#fi; -N:=N+1; -return CoverOfUnimodularPairs(OQ,N,true); +if not Length(A)=0 then +return CoverOfUnimodularPairs(OQ,N+1,true); +fi; fi; ################################################## diff --git a/tst/testall3/bianchi.1.tst b/tst/testall3/bianchi.1.tst new file mode 100644 index 00000000..a933af6a --- /dev/null +++ b/tst/testall3/bianchi.1.tst @@ -0,0 +1,10 @@ +gap> START_TEST("HAP library"); +gap> P:=BianchiPolyhedron(-5); +3-dimensional Bianchi polyhedron over OQ( Sqrt( +-5) ) involving hemispheres of minimum squared radius 1/ +20 and non-cuspidal vertices of minimum squared height 1/25 . + +gap> SwanBianchiCriterion(P); +[ ] +gap> STOP_TEST( "tst.tst", 1000 ); + diff --git a/tutorial/tutex/bianchi.1.txt b/tutorial/tutex/bianchi.1.txt index cf04f143..b1f752a6 100644 --- a/tutorial/tutex/bianchi.1.txt +++ b/tutorial/tutex/bianchi.1.txt @@ -1,5 +1,7 @@ gap> D:=BianchiPolyhedron(-39); -3-dimensional Bianchi polyhedron over OQ( Sqrt(-39) ) +3-dimensional Bianchi polyhedron over OQ( Sqrt(-39) ) +involving hemispheres of minimum squared radius 1/39 +and non-cuspidal vertices of minimum squared height 10/12493 . gap> Display3D(D);; gap> Display2D(D);; diff --git a/version b/version index 8725364a..5b6cd6b3 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.64 +1.65 diff --git a/www/download/downloadContent.html b/www/download/downloadContent.html index 441b3b3c..7d66ca08 100644 --- a/www/download/downloadContent.html +++ b/www/download/downloadContent.html @@ -19,23 +19,23 @@

Download Instructions