Skip to content

Conversation

@ThomasBreuer
Copy link
Contributor

... and add some generalizations.

  • Add ConformalSymplecticGroup, essentially analogous to the implementation of SymplecticGroup, that is,

    • introduce a plain function ConformalSymplecticGroup and a constructor ConformalSymplecticGroupCons,
    • install various methods for ConformalSymplecticGroupCons,
    • introduce a property IsFullSubgroupGLRespectingBilinearFormUpToScalars that is set in the groups returned by ConformalSymplecticGroup,
    • install a \in method for a matrix and a group in IsFullSubgroupGLRespectingBilinearFormUpToScalars,
    • add tests for the new code.
  • In ConformalSymplecticGroup, GeneralLinearGroup, SpecialLinearGroup, and SymplecticGroup, support a filter that determines the representation of the matrices constructed as generators of the groups and as matrices of the invariant forms. (Note that ConformalSymplecticGroup and SymplecticGroup call GeneralLinearGroup and SpecialLinearGroup, respectively, for n = 2.) For that, an "experimental" global option ConstructingFilter is used. Currently IsPlistRep is the default value, IsPlistRepMAtrix is another possible value. (Eventually we want to support such a filter also for the other classical groups.)

  • Change the delegation between methods of SymplecticGroup: Do not delegate from the variant where a finite field is given to the variant with given size of the field, but the other way round. This way, it will be possible to use elements from StandardFiniteField( p, n ) instead of GF( p, n ) in the matrices. (Eventually we want to change this also for the other classical groups.)

Once we decide about the setup that we want for ConformalSymplecticGroup, implementations for other conformal classical group can be added, and the relevant methods in the Forms package can be adjusted and extended accordingly.

... and add some generalizations.

- Add `ConformalSymplecticGroup`, essentially analogous to
  the implementation of `SymplecticGroup`, that is,
  - introduce a plain function `ConformalSymplecticGroup`
    and a constructor `ConformalSymplecticGroupCons`,
  - install various methods for `ConformalSymplecticGroupCons`,
  - introduce a property `IsFullSubgroupGLRespectingBilinearFormUpToScalars`
    that is set in the groups returned by `ConformalSymplecticGroup`,
  - install a `\in` method for a matrix and a group in
    `IsFullSubgroupGLRespectingBilinearFormUpToScalars`,
  - add tests for the new code.

- In `ConformalSymplecticGroup`, `GeneralLinearGroup`, `SpecialLinearGroup`,
  and `SymplecticGroup`, support a filter that determines the
  representation of the matrices constructed as generators of the groups
  and as matrices of the invariant forms.
  (Note that `ConformalSymplecticGroup` and `SymplecticGroup` call
  `GeneralLinearGroup` and `SpecialLinearGroup`, respectively, for `n = 2`.)
  For that, an "experimental" global option `ConstructingFilter` is used.
  Currently `IsPlistRep` is the default value, `IsPlistRepMAtrix` is
  another possible value.
  (Eventually we want to support such a filter also for the other classical
  groups.)

- Change the delegation between methods of `SymplecticGroup`:
  Do not delegate from the variant where a finite field is given
  to the variant with given size of the field, but the other way round.
  This way, it will be possible to use elements from
  `StandardFiniteField( p, n )` instead of `GF( p, n )` in the matrices.
  (Eventually we want to change this also for the other classical groups.)

Once we decide about the setup that we want for `ConformalSymplecticGroup`,
implementations for other conformal classical group can be added,
and the relevant methods in the Forms package can be adjusted and extended
accordingly.
@ThomasBreuer ThomasBreuer added kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements topic: library release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes labels Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes topic: library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant