From 159eaa3abc2fc0a272301d3d7bcf1e02a78e30c1 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 28 Jul 2026 21:51:28 +0200 Subject: [PATCH] Avoid dependency on the SmallGrp package HeLP used `CharacterTable(SmallGroup(1,1))` as the initial value of the global variable `HeLP_CT`, once at load time and once in `HeLP_Reset`. The load time use means HeLP cannot even be loaded when the SmallGrp package is not available, e.g. in a GAP started with `--bare`. `SmallGroup(1,1)` is just the trivial group, so use `TrivialGroup()` instead; it likewise is a pc group, and the resulting character tables agree on `Irr`, `OrdersClassRepresentatives` and `ClassNames`. With this, HeLP no longer uses any function from SmallGrp, PrimGrp or TransGrp. See https://github.com/gap-system/gap/issues/2434 Co-Authored-By: Claude Opus 5 --- lib/HeLP.gd | 2 +- lib/HeLP_internal_no_solving.gi | 2 +- lib/HeLP_no_solving.gi | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/HeLP.gd b/lib/HeLP.gd index fbf5f4f..0502094 100644 --- a/lib/HeLP.gd +++ b/lib/HeLP.gd @@ -407,7 +407,7 @@ DeclareGlobalFunction( "HeLP_ChangeCharKeepSols" ); #! @Description #! This function delets all the values calculated so far and resets the global variables HeLP_CT -#! and HeLP_CT to their initial value [ [ [1] ] ] and CharacterTable(SmallGroup(1,1)) +#! and HeLP_CT to their initial value [ [ [1] ] ] and CharacterTable(TrivialGroup()) #! respectively. #! @Arguments #! @Returns nothing diff --git a/lib/HeLP_internal_no_solving.gi b/lib/HeLP_internal_no_solving.gi index 0198722..47af080 100644 --- a/lib/HeLP_internal_no_solving.gi +++ b/lib/HeLP_internal_no_solving.gi @@ -2,7 +2,7 @@ ## Internal functions that do not solve any inqualities, i.e. do not need 4ti2 or normaliz ######### -BindGlobal("HeLP_CT", CharacterTable(SmallGroup(1,1))); +BindGlobal("HeLP_CT", CharacterTable(TrivialGroup())); BindGlobal("HeLP_sol", [[[[1]]]]); # sol[k] contains the possible solutions for elements of order k MakeReadWriteGlobal("HeLP_sol"); # HeLP_sol will be set as global variable when loading the package to have a warning in case it is already ued as a variable diff --git a/lib/HeLP_no_solving.gi b/lib/HeLP_no_solving.gi index 63973b4..75d1f5e 100644 --- a/lib/HeLP_no_solving.gi +++ b/lib/HeLP_no_solving.gi @@ -51,7 +51,7 @@ InstallGlobalFunction(HeLP_Reset, function() # Delets all values calculated so far and rests the varaibles to the inital value MakeReadWriteGlobal("HeLP_CT"); UnbindGlobal("HeLP_CT"); -BindGlobal("HeLP_CT", CharacterTable(SmallGroup(1,1))); +BindGlobal("HeLP_CT", CharacterTable(TrivialGroup())); HeLP_sol := [[[[1]]]]; end);