Skip to content

Commit d0ed6df

Browse files
author
Release Manager
committed
gh-39783: Add LINS to gap_packages <!-- ^ For example, instead of "Fixes #12345" use "Introduce new method to calculate 1 + 2". --> There is a new package gap package [LINS](https://github.com/gap- packages/LINS) and the goal of this PR is to add it to `gap_packages`. There is another change (which is not essential): allow parallel computation, at least of each package. I wonder also if it would be interesting to add more packages, they are loaded only if needed. I encountered an unsolved problem. I can use the package function `LowIndexNormalSubs` using `libgap.function_factory`. There are two entries: a group and a positive integer and the output is the list of all normal subgroups with index bounded by the integer if the option `allSubgroups` is `true` (default value); if `false`, only the subgroups with exact index are obtained and if it is the goal, it is much faster than obtaining the whole list and filtering. But I do not know how to pass an option using `function_factory`, and I do not know how to pass the group using `libgap_eval`. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [X] The title is concise and informative. - [X] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - #12345: short description why this is a dependency --> <!-- - #34567: ... --> URL: #39783 Reported by: Enrique Manuel Artal Bartolo Reviewer(s): Dima Pasechnik
2 parents b36120d + 6169d51 commit d0ed6df

File tree

4 files changed

+118
-3
lines changed

4 files changed

+118
-3
lines changed

Pipfile

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Pipfile with all packages in the Sage distribution and version information locked
2+
## FIXME: Many packages still missing.
3+
[[source]]
4+
name = "pypi"
5+
url = "https://pypi.org/simple"
6+
verify_ssl = true
7+
8+
[dev-packages]
9+
pkgconfig = "==1.5.5"
10+
cython = "==3.0.11"
11+
pycodestyle = "*"
12+
ipykernel = "==6.27.1"
13+
tox = "*"
14+
jinja2 = "==3.1.4"
15+
pytest = "*"
16+
ipywidgets = "==8.1.1"
17+
sphinx = "==7.4.7"
18+
rope = "*"
19+
six = "*"
20+
jupyter-core = "==5.3.2"
21+
22+
[packages]
23+
numpy = "==1.26.3"
24+
cysignals = "==1.11.4"
25+
cypari2 = "==2.2.0"
26+
gmpy2 = "==2.2.0a1"
27+
pexpect = "==4.9.0"
28+
ipython = "==8.18.1"
29+
sympy = "==1.13.2"
30+
scipy = "==1.12.0"
31+
pplpy = "==0.8.9"
32+
matplotlib = "==3.8.0"
33+
cvxopt = "==1.3.2"
34+
rpy2 = "==3.4.5"
35+
networkx = "==3.2.1"
36+
37+
sagemath-standard = { path = "src" }
38+
39+
[requires]
40+
python_version = "3.9"

build/pkgs/gap_packages/SPKG.rst

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,23 @@ Graaf)
5656
crime - package to compute the cohomology ring of finite p-groups,
5757
induced maps, and Massey products. (Author: Marcus Bishop)
5858

59+
crypting - The crypting package provides some cryptographic primitives so that the JupyterKernel package works.
60+
(Authors: Markus Pfeiffer and The GAP Team)
61+
5962
cryst - Computing with crystallographic groups (Authors: Bettina Eick,
6063
Franz Gähler, Werner Nickel)
6164

6265
CTblLib - The GAP Character Table Library (Author: Thomas Breuer)
6366

67+
datastructures - The datastructures package provides some standard data structures.
68+
(Authors: Markus Pfeiffer, Max Horn, Christopher Jefferson and Steve Linton)
69+
6470
DESIGN is a package for classifying, partitioning and studying block
6571
designs. (Author: Leonard H. Soicher)
6672

73+
Digraphs - GAP package containing methods for graphs, digraphs, and multidigraphs.
74+
(Authors: Jan De Beule, Julius Jonusas, James Mitchell, Wilf A. Wilson, Michael Young, Marina Anagnostopoulou-Merkouri, Finn Buck, Stuart Burrell, Graham Campbell, Raiyan Chowdhury, Reinis Cirpons, Ashley Clayton, Tom Conti-Leslie, Joseph Edwards, Luna Elliott, Isuru Fernando, Ewan Gilligan, Sebastian Gutsche, Samantha Harper, Max Horn, Christopher Jefferson, Olexandr Konovalov, Hyeokjun Kwon, Andrea Lee, Saffron McIver, Michael Orlitzky, Matthew Pancer, Markus Pfeiffer, Daniel Pointon, Lea Racine, Christopher Russell, Artur Schaefer, Isabella Scott, Kamran Sharma, Finn Smith, Ben Spiers, Maria Tsalakou, Meike Weiss, Murray Whyte and Fabian Zickgraf)
75+
6776
FactInt is a package providing routines for factoring integers, in
6877
particular:
6978

@@ -106,6 +115,10 @@ hecke - Provides functions for calculating decomposition matrices of
106115
Hecke algebras of the symmetric groups and q-Schur algebras. Hecke is a
107116
port of the GAP 3 package Specht 2.4 to GAP 4. (Author: Dmitriy Traytel)
108117

118+
IO - as its name suggests, provides bindings for GAP to the lower levels
119+
of Input/Output functionality in the C library.
120+
(Authors: Max Neunhöffer and Max Horn)
121+
109122
LAGUNA - this package provides functionality for calculation of the
110123
normalized unit group of the modular group algebra of the finite p-group
111124
and for investigation of Lie algebra associated with group algebras and
@@ -122,6 +135,10 @@ LieRing - contains functionality for working with finitely presented Lie
122135
rings and the Lazard correspondence. (Author: Serena Cicalo', Willem
123136
Adriaan de Graaf)
124137

138+
LINS - provides an algorithm for computing the normal subgroups of a
139+
finitely presented group up to some given index bound. (Author:
140+
Friedrich Rober)
141+
125142
loops - Provides researchers in nonassociative algebra with a
126143
computational tool that integrates standard notions of loop theory with
127144
libraries of loops and group-theoretical algorithms of GAP. The package
@@ -132,6 +149,13 @@ mapclass - The package calculates the mapping class group orbits for a
132149
given finite group. (Authors: Adam James, Kay Magaard, Sergey
133150
Shpectorov, Helmut Volklein)
134151

152+
nq - This package provides access to the ANU nilpotent quotient program
153+
for computing nilpotent factor groups of finitely presented groups.
154+
(Authors: Max Horn and Werner Nickel)
155+
156+
orb - This package is about enumerating orbits in various ways.
157+
(Authors: Juergen Mueller, Max Neunhöffer, Felix Noeske and Max Horn)
158+
135159
polymake - an interface with the (standalone) polymake program used by
136160
HAPcryst. (Author: Marc Roeder)
137161

@@ -149,6 +173,34 @@ Adriaan de Graaf)
149173
repsn - The package provides GAP functions for computing characteristic
150174
zero matrix representations of finite groups. (Author: Vahid Dabbaghian)
151175

176+
Semigroups - This is a GAP package for semigroups, and monoids. There are
177+
particularly efficient methods for finitely presented semigroups and monoids,
178+
and for semigroups and monoids consisting of transformations, partial
179+
permutations, bipartitions, partitioned binary relations, subsemigroups of
180+
regular Rees 0-matrix semigroups, and matrices of various semirings including
181+
boolean matrices, matrices over finite fields, and certain tropical matrices.
182+
Semigroups contains efficient methods for creating semigroups, monoids, and
183+
inverse semigroups and monoids, calculating their Green's structure, ideals,
184+
size, elements, group of units, small generating sets, testing membership,
185+
finding the inverses of a regular element, factorizing elements over the
186+
generators, and so on. It is possible to test if a semigroup satisfies a
187+
particular property, such as if it is regular, simple, inverse, completely
188+
regular, and a large number of further properties. There are methods for
189+
finding presentations for a semigroup, the congruences of a semigroup, the
190+
maximal subsemigroups of a finite semigroup, smaller degree partial
191+
permutation representations, and the character tables of inverse semigroups.
192+
There are functions for producing pictures of the Green's structure of a
193+
semigroup, and for drawing graphical representations of certain types of
194+
elements. (Authors: James Mitchell, Marina Anagnostopoulou-Merkouri,
195+
Thomas Breuer, Stuart Burrell, Reinis Cirpons, Tom Conti-Leslie,
196+
Joseph Edwards, Attila Egri-Nagy, Luke Elliott, Fernando Flores Brito,
197+
Tillman Froehlich, Nick Ham, Robert Hancock, Max Horn, Christopher Jefferson,
198+
Julius Jonusas, Chinmaya Nagpal, Olexandr Konovalov, Artemis Konstantinidi,
199+
Hyeokjun Kwon, Dima V. Pasechnik, Markus Pfeiffer, Christopher Russell,
200+
Jack Schmidt, Sergio Siccha, Finn Smith, Ben Spiers, Nicolas Thiéry,
201+
Maria Tsalakou, Chris Wensley, Murray Whyte, Wilf A. Wilson, Tianrun Yang,
202+
Michael Young and Fabian Zickgraf)
203+
152204
sla - a package for doing computations with simple Lie algebras (Author:
153205
Willem Adriaan de Graaf)
154206

build/pkgs/gap_packages/spkg-install.in

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ sdh_install \
5656
liealgdb \
5757
liepring \
5858
liering \
59+
lins \
5960
loops \
6061
mapclass \
6162
polymaking \
@@ -98,7 +99,7 @@ do
9899
export CFLAGS
99100
cd "$PKG_SRC_DIR/$pkg"
100101
./configure "$GAP_ROOT"
101-
sdh_make -j1
102+
sdh_make
102103
install_compiled_pkg "$pkg"
103104
cd "$PKG_SRC_DIR"
104105
done
@@ -109,7 +110,7 @@ done
109110
#############################################################################
110111
########## add extra parameters for packages' configures here ###############
111112
#
112-
# ng : none
113+
# nq : none
113114
# io : none
114115
# semigroups needs to use external libsemigroups
115116
# digraphs needs to use external planarity
@@ -123,7 +124,7 @@ do
123124
cd "$PKG_SRC_DIR/$pkg"
124125
sdh_configure --with-gaproot="$GAP_ROOT" ${pararr[$parind]}
125126
((parind+=1))
126-
sdh_make -j1
127+
sdh_make
127128
install_compiled_pkg "$pkg"
128129
cd "$PKG_SRC_DIR"
129130
done

src/Pipfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
## Pipfile with all dependencies of sagelib and version information as free as possible
2+
## (for developers to generate a dev environment)
3+
[[source]]
4+
name = "pypi"
5+
url = "https://pypi.org/simple"
6+
verify_ssl = true
7+
8+
[dev-packages]
9+
## We do not list packages that are already declared as install_requires
10+
## in setup.cfg
11+
pycodestyle = "*"
12+
tox = "*"
13+
pytest = "*"
14+
rope = "*"
15+
six = "*"
16+
17+
[packages]
18+
## We do not list packages that are already declared as install_requires
19+
## in setup.cfg
20+
21+
[packages.e1839a8]
22+
path = "."

0 commit comments

Comments
 (0)