Skip to content

Add PreImagesRepresentativeNC method for SHBI - #1234

Open
fingolfin wants to merge 1 commit into
semigroups:stable-5.7from
fingolfin:mh/preimages-nc
Open

fingolfin wants to merge 1 commit into
semigroups:stable-5.7from
fingolfin:mh/preimages-nc

Conversation

@fingolfin

Copy link
Copy Markdown
Contributor

GAP 4.17 splits PreImagesRepresentative into a checked operation and PreImagesRepresentativeNC, and the library calls the latter. Semigroup homomorphisms by images only had a method for the checked operation, so PreImagesRepresentativeNC fell through to the library method for s.p. general mappings, which signals "no default method". Install the unchecked computation for PreImagesRepresentativeNC as well, keeping the checked method and its error message. On older GAP both names are the same operation, so the extra method is only installed when they differ.

The inverse function of AsSemigroupIsomorphismByFunction used PreImages, which returns a list of preimages rather than an element, in every GAP version. Use PreImagesRepresentativeNC instead; the argument lies in the range of an isomorphism.

The automorphism group computations for Rees (0-)matrix semigroups call PreImagesRepresentative on elements known to be in the image. Call PreImagesRepresentativeNC there, skipping the range and image membership tests that the checked operation performs in GAP 4.17.

Assisted-by: Claude Code (Opus 5)

GAP 4.17 splits PreImagesRepresentative into a checked operation and
PreImagesRepresentativeNC, and the library calls the latter. Semigroup
homomorphisms by images only had a method for the checked operation, so
PreImagesRepresentativeNC fell through to the library method for s.p.
general mappings, which signals "no default method". Install the
unchecked computation for PreImagesRepresentativeNC as well, keeping
the checked method and its error message. On older GAP both names are
the same operation, so the extra method is only installed when they
differ.

The inverse function of AsSemigroupIsomorphismByFunction used PreImages,
which returns a list of preimages rather than an element, in every GAP
version. Use PreImagesRepresentativeNC instead; the argument lies in the
range of an isomorphism.

The automorphism group computations for Rees (0-)matrix semigroups call
PreImagesRepresentative on elements known to be in the image. Call
PreImagesRepresentativeNC there, skipping the range and image
membership tests that the checked operation performs in GAP 4.17.

Assisted-by: Claude Code (Opus 5)
@fingolfin
fingolfin changed the base branch from main to stable-5.7 October 8, 2026 13:14
@james-d-mitchell
james-d-mitchell enabled auto-merge (rebase) October 8, 2026 14:03

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant