Skip to content

Use Set for GSet block systems#4771

Merged
fingolfin merged 8 commits intooscar-system:masterfrom
mjrodgers:GSet_blocks
Apr 2, 2025
Merged

Use Set for GSet block systems#4771
fingolfin merged 8 commits intooscar-system:masterfrom
mjrodgers:GSet_blocks

Conversation

@mjrodgers
Copy link
Copy Markdown
Collaborator

@mjrodgers mjrodgers commented Apr 1, 2025

When we ask for a block system for a PermGroup (using the methods blocks, maximal_blocks, minimal_block_reps, or all_blocks), the natural GSet is the set of integers from 1 to n, this is delegated to GAP and the blocks are returned as sorted vectors of integers, as a GSet with the GAP action on_sets.

When we call these methods using a GSet as an argument, we want to convert these integers back to elements of the original GSet - however in some cases, it means the vectors we have are no longer sorted and so we end up with an error when trying to define the group action on_sets. In addition, because of the generality allowed in defining a GSet, it may not even be possible to sort these vectors.

To address this, we convert the blocks returned by GAP into Julia Set objects. This does create a discrepancy in return types between the PermGroup and GSet methods, but using Set feels natural from a mathematical point of view, and allows us to effectively work withGSets in a very general way.

Fixes #4756

@mjrodgers mjrodgers added the release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes label Apr 1, 2025
@mjrodgers
Copy link
Copy Markdown
Collaborator Author

We still need to document this change properly, and probably add a test that could have caught an error like this.

@ThomasBreuer
Copy link
Copy Markdown
Member

Concerning a test, what about the example from #4756?

@mjrodgers
Copy link
Copy Markdown
Collaborator Author

Concerning a test, what about the example from #4756?

Yeah, this seems to be the smallest case where we have this issue, so I will put it in.

@mjrodgers mjrodgers marked this pull request as ready for review April 2, 2025 09:04
Copy link
Copy Markdown
Member

@fingolfin fingolfin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@fingolfin fingolfin merged commit 1deee33 into oscar-system:master Apr 2, 2025
31 of 32 checks passed
fieker pushed a commit that referenced this pull request May 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes topic: groups

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GAP error on image(action_homomorphism(block_system))

4 participants