Skip to content

Conversation

@Newtech66
Copy link
Contributor

@Newtech66 Newtech66 commented Jul 29, 2024

Related to #30727.

We implement basic functionality for multivariate polynomial species, using its representation as a pair of a permutation group and a mapping between the domain of the permutation group and some variables. We provide addition, multiplication, and (partitional) composition (for some special cases). We also allow it to be constructed as a group action (or a sequence thereof). Atomic and molecular decompositions are automatically computed thanks to #38371.

📝 Checklist

  • The title is concise and informative.
  • 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.

Newtech66 and others added 30 commits May 12, 2024 19:59
…groups

Also added various miscellaneous functions
Also some fixes to _element_constructor_ ConjugacyClassesOfSubgroups
Added _repr_ for ConjugacyClassesOfSubgroups
I now output B[(gens or name if available)] as _repr_ for generators, for example B[1] + 2*B[(2,3,4)]
@mantepse
Copy link
Contributor

mantepse commented Nov 7, 2024

No, you can explicitly skip that __classcall__ and go to its base class's one through UniqueRepresentation.__classcall__(cls, names). The __init__ and __classcall__ signatures (which can be different) only need to be able to take as input the final key/signature that is given to the UniqueRepresentation.

Cool, that worked and looks much better! Thank you!

INPUT:

- ``dis`` -- a directly indecomposable permutation group
- ``domain_partition`` -- a `k`-tuple of ``frozenset``s,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
- ``domain_partition`` -- a `k`-tuple of ``frozenset``s,
- ``domain_partition`` -- a `k`-tuple of ``frozenset`` entries,

This will not format properly.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Actually, should all of this information should be moved to the (public facing) class level?

mantepse and others added 2 commits November 8, 2024 02:30
Co-authored-by: Travis Scrimshaw <[email protected]>
Co-authored-by: Travis Scrimshaw <[email protected]>
H = _stabilizer_subgroups(S, X, a)
if len(H) > 1:
raise ValueError("action is not transitive")
return self(H[0], pi, check=check)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
return self(H[0], pi, check=check)
return self._element_constructor_(H[0], pi, check=check)

This is where you expect it to always end up (without any coercion being done), right?

Copy link
Contributor

Choose a reason for hiding this comment

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

Indeed. I reorganized so that recursion is avoided, because it is a pain when debugging.

Also, the error message was (mathematically) wrong.

@mantepse
Copy link
Contributor

mantepse commented Nov 8, 2024

Thank you for being careful, I especially like that we caught the wrong error message!

@tscrim
Copy link
Collaborator

tscrim commented Nov 8, 2024

Thank you for all the changes. If the bot comes back (morally) green, then you can set a positive review.

Copy link
Contributor

@mantepse mantepse left a comment

Choose a reason for hiding this comment

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

Approved via tscrim

@mantepse
Copy link
Contributor

mantepse commented Nov 8, 2024

yippie!

vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 9, 2024
sagemathgh-38446: Implement basic multivariate polynomial species
    
Related to sagemath#30727.

We implement basic functionality for multivariate polynomial species,
using its representation as a pair of a permutation group and a mapping
between the domain of the permutation group and some variables. We
provide addition, multiplication, and (partitional) composition (for
some special cases). We also allow it to be constructed as a group
action (or a sequence thereof). Atomic and molecular decompositions are
automatically computed thanks to sagemath#38371.

### 📝 Checklist

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] 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.
    
URL: sagemath#38446
Reported by: Mainak Roy
Reviewer(s): Mainak Roy, Martin Rubey, Travis Scrimshaw
vbraun pushed a commit to vbraun/sage that referenced this pull request Nov 13, 2024
sagemathgh-38446: Implement basic multivariate polynomial species
    
Related to sagemath#30727.

We implement basic functionality for multivariate polynomial species,
using its representation as a pair of a permutation group and a mapping
between the domain of the permutation group and some variables. We
provide addition, multiplication, and (partitional) composition (for
some special cases). We also allow it to be constructed as a group
action (or a sequence thereof). Atomic and molecular decompositions are
automatically computed thanks to sagemath#38371.

### 📝 Checklist

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] 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.
    
URL: sagemath#38446
Reported by: Mainak Roy
Reviewer(s): Mainak Roy, Martin Rubey, Travis Scrimshaw
@vbraun vbraun merged commit 4817e52 into sagemath:develop Nov 16, 2024
19 of 24 checks passed
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 6, 2024
sagemathgh-38883: provide the tilde species of a species
    
See https://mathoverflow.net/questions/480823/the-tilde-species

Dependencies: sagemath#38446
    
URL: sagemath#38883
Reported by: Martin Rubey
Reviewer(s): Frédéric Chapoton
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 8, 2024
sagemathgh-38883: provide the tilde species of a species
    
See https://mathoverflow.net/questions/480823/the-tilde-species

Dependencies: sagemath#38446
    
URL: sagemath#38883
Reported by: Martin Rubey
Reviewer(s): Frédéric Chapoton
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 8, 2024
sagemathgh-38883: provide the tilde species of a species
    
See https://mathoverflow.net/questions/480823/the-tilde-species

Dependencies: sagemath#38446
    
URL: sagemath#38883
Reported by: Martin Rubey
Reviewer(s): Frédéric Chapoton
vbraun pushed a commit to vbraun/sage that referenced this pull request Jun 18, 2025
sagemathgh-38544: Lazy species
    
We provide an implementation of combinatorial species based on the lazy
series framework and sagemath#38446.

dependencies: sagemath#38974
    
URL: sagemath#38544
Reported by: Martin Rubey
Reviewer(s): Martin Rubey, Travis Scrimshaw
vbraun pushed a commit to vbraun/sage that referenced this pull request Jun 21, 2025
sagemathgh-38544: Lazy species
    
We provide an implementation of combinatorial species based on the lazy
series framework and sagemath#38446.

dependencies: sagemath#38974
    
URL: sagemath#38544
Reported by: Martin Rubey
Reviewer(s): Martin Rubey, Travis Scrimshaw
vbraun pushed a commit to vbraun/sage that referenced this pull request Jun 25, 2025
sagemathgh-38544: Lazy species
    
We provide an implementation of combinatorial species based on the lazy
series framework and sagemath#38446.

dependencies: sagemath#38974
    
URL: sagemath#38544
Reported by: Martin Rubey
Reviewer(s): Martin Rubey, Travis Scrimshaw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants