Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lazy species #38544

Draft
wants to merge 138 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
8a5f1db
Initial commit
Newtech66 May 12, 2024
ce7c87f
Added _add_, _mul_, _element_constructor_ for group action input
Newtech66 May 14, 2024
2ae5497
Fixed bugs with caching and _mul_
Newtech66 May 14, 2024
663b422
Improved repr output and added a way to name conjugacy classes of sub…
Newtech66 May 15, 2024
b3f16ba
Merge branch 'develop' into burnside_ring
mantepse May 15, 2024
6f9cac4
Update src/sage/rings/burnside.py
Newtech66 May 16, 2024
bec9b0b
Doctest updates
Newtech66 May 16, 2024
476218f
Added ConjugacyClassesOfSubgroups
Newtech66 May 16, 2024
3d2a730
Burnside ring now inherits from CombinatorialFreeModule
Newtech66 May 16, 2024
d49eb76
Changed category of Burnside ring to Algebras(base_ring).Commutative(…
Newtech66 May 16, 2024
bf76e0d
Implemented monomial() and one_basis()
Newtech66 May 17, 2024
dc1d95d
Add rename_gen
Newtech66 May 17, 2024
c271e60
Add construct_from_action
Newtech66 May 17, 2024
1453c90
Add _from_dict
Newtech66 May 17, 2024
fa8b9f5
Add product_on_basis and monomial_coefficients
Newtech66 May 18, 2024
be11997
Remove ConjugacyClassesOfSubgroups from import
Newtech66 May 18, 2024
f39807c
Make indexes for generators use ConjugacyClassesOfSubgroups internall…
Newtech66 May 18, 2024
d4af3fc
Add __eq__ for ConjugacyClassOfSubgroups so we can use it as dict key
Newtech66 May 18, 2024
de3ccbc
Removed BurnsideRingElement and refactored code
Newtech66 May 19, 2024
d9e5aab
Add __getitem__, minor doctest fix
Newtech66 May 19, 2024
1a377f5
Add __eq__ and minor fix in _normalize and set_name
Newtech66 May 19, 2024
45361c3
Implemented all suggested changes
Newtech66 May 20, 2024
b8da0e6
Doctest additions
Newtech66 May 20, 2024
ac4bb20
Doctest updates
Newtech66 May 21, 2024
8ecf26d
Run doctest fixer
Newtech66 May 21, 2024
f617657
Small change
Newtech66 May 21, 2024
6ecbe83
Draft implementation of PolynomialMolecularDecomposition + other mino…
Newtech66 Jun 15, 2024
bd55d15
Added PolynomialMolecularDecomposition to imports
Newtech66 Jun 16, 2024
2ce14a5
Fixed __iter__ and added subset in ConjugacyClassesOfSymmetricGroupSu…
Newtech66 Jun 16, 2024
04ac9e9
Refactor conjugacy classes of subgroups of symmetric groups, add spec…
Newtech66 Jun 17, 2024
3ca8861
Reworked naming facility + other minor changes
Newtech66 Jun 18, 2024
6dd1b87
Add default_name for fallback if no name is present
Newtech66 Jun 18, 2024
77136a3
Minor correction
Newtech66 Jun 18, 2024
1e0a707
Remove _repr_ from ConjugacyClassOfSubgroups_SymmetricGroup
Newtech66 Jun 18, 2024
9ffc003
Reworked naming system again to use CombinatorialFreeModule's naming …
Newtech66 Jun 22, 2024
4207aab
Minor performance improvements
Newtech66 Jun 23, 2024
8c4b0e2
Major performance improvement in PolynomialMolecularDecomposition pro…
Newtech66 Jun 23, 2024
12a129b
Much faster implementation of Burnside ring product
Newtech66 Jun 26, 2024
053346c
Improvements and corrections
Newtech66 Jun 30, 2024
9149023
Doctest fixes
Newtech66 Jun 30, 2024
9438800
Add most doctests
Newtech66 Jul 6, 2024
afbdd9c
Doctest fixes
Newtech66 Jul 13, 2024
bd59d1e
Doctest fix
Newtech66 Jul 16, 2024
a08c4a4
Rewrite of species decompositions
Newtech66 Jul 21, 2024
2900263
Doctests
Newtech66 Jul 21, 2024
1e8ce44
Add construct_from_action to PolynomialMolecularDecomposition
Newtech66 Jul 22, 2024
125103d
Rewrite
Newtech66 Jul 24, 2024
f6690bd
Minor fixes
Newtech66 Jul 24, 2024
6604d28
More fixes
Newtech66 Jul 24, 2024
ad7d13f
Add degree_on_basis
Newtech66 Jul 25, 2024
36e6c02
more fixes
Newtech66 Jul 25, 2024
5010e3f
Merge branch 'develop' into burnside_ring
Newtech66 Jul 25, 2024
6396163
Split species into new PR
Newtech66 Jul 29, 2024
ff1f3f3
grab changes from other PR
Newtech66 Jul 29, 2024
5eacfb0
Removed dependency on burnside.py (for the time being)
Newtech66 Jul 31, 2024
981ed0c
Rewrite
Newtech66 Jul 31, 2024
b1b028c
Normalization fixes
Newtech66 Jul 31, 2024
a0f1cc4
More fixes
Newtech66 Aug 1, 2024
b932b91
removed __eq__, added _repr_, and doctest fixes
Newtech66 Aug 1, 2024
a540531
remove Set, add shortcut element init for AtomicSpecies and Polynomia…
Newtech66 Aug 1, 2024
8b50890
doctest fixes
Newtech66 Aug 1, 2024
1ad7c46
improvements (mantepse)
Newtech66 Aug 2, 2024
3b0f03d
Add __call__ for partitional composition
Newtech66 Aug 3, 2024
6c7156e
Highly experimental commit aimed at improving performance, needs a lo…
Newtech66 Aug 5, 2024
22b3980
Refactoring and bug fixes
Newtech66 Aug 5, 2024
6a5af17
Composition works, if there are no coefficients
Newtech66 Aug 7, 2024
8dabfd6
Added cartesian product
Newtech66 Aug 7, 2024
3cec6b5
Added addition formula decomposition
Newtech66 Aug 8, 2024
776bd64
Added multiplicity handling
Newtech66 Aug 9, 2024
268b2c4
Fixed dompart, caching and construction errors, and equality checking…
Newtech66 Aug 14, 2024
a64700d
revert changes to permgroup.py
Newtech66 Aug 14, 2024
5ce6e11
Canonicalization fixes, doctest additions
Newtech66 Aug 17, 2024
a081b60
More doctests
Newtech66 Aug 17, 2024
16099c4
Remove current composition and cartesian product framework
Newtech66 Aug 17, 2024
b7f7beb
Add inner_sum
Newtech66 Aug 19, 2024
142c09a
Doctest fixes
Newtech66 Aug 19, 2024
19231be
Move things around and minor fixes
Newtech66 Aug 19, 2024
fd146bc
Add renaming patch (thanks mantepse)
Newtech66 Aug 19, 2024
284251b
Add substitution, element_constructor for molecular species
Newtech66 Aug 20, 2024
acc44f8
Add cartesian_product and doctests
Newtech66 Aug 21, 2024
2aa9cd0
Minor changes
Newtech66 Aug 21, 2024
3b6061e
Minor changes+partial naming changes
Newtech66 Aug 21, 2024
d9b6bf3
provide is_constant
mantepse Aug 21, 2024
9e31e27
basic design, non-working __call__
mantepse Aug 21, 2024
4c54733
New renaming (thanks mantepse) + construct from group action (wip)
Newtech66 Aug 21, 2024
f8e8bb2
Construct from group action (complete, added to MolecularSpecies and …
Newtech66 Aug 21, 2024
e7db7a1
Merge branch 'simple-species' into lazy-species
mantepse Aug 22, 2024
238eae1
Edits to error checking and messages
Newtech66 Aug 22, 2024
7a38ab7
More minor changes
Newtech66 Aug 22, 2024
f1e10fc
Added functorial composition for univariate molecular species
Newtech66 Aug 24, 2024
96469f6
Merge branch 'simple-species' into lazy-species
mantepse Aug 25, 2024
dd3fc7b
remove functorial_composition and change molecular species grading
Newtech66 Aug 25, 2024
700b925
Replace tuple with frozenset for dompart
Newtech66 Aug 25, 2024
0d07b86
fix doctests
Newtech66 Aug 25, 2024
35b1703
Add doctests
Newtech66 Aug 25, 2024
853b403
run doctest fixer
Newtech66 Aug 25, 2024
e7dcaef
some more doctests
Newtech66 Aug 26, 2024
046aa23
run doctest fixer
Newtech66 Aug 26, 2024
125771f
pycodestyle fix
Newtech66 Aug 26, 2024
7dd7db4
Merge branch 'simple-species' into lazy-species
mantepse Aug 26, 2024
2cedfcb
change AtomicSpeciesElement _repr_ and remove multicardinality check …
Newtech66 Aug 26, 2024
29bb7eb
Get rid of some calls to libgap ConjugateGroup without passing domain…
Newtech66 Aug 26, 2024
696f0e1
run doctest fixer
Newtech66 Aug 26, 2024
43c1745
Merge branch 'simple-species' into lazy-species
mantepse Aug 26, 2024
44a0b9b
Working composition (thanks mantepse)
Newtech66 Aug 26, 2024
c71a412
use Labelle's powersum species to compute compositions
mantepse Aug 27, 2024
64c4072
Merge branch 'simple-species' into lazy-species
mantepse Aug 27, 2024
041dcad
lazy composition possibly working, at least univariate
mantepse Aug 29, 2024
a1d42ef
fix multisort bugs
mantepse Aug 29, 2024
0496422
add weighted example
mantepse Aug 29, 2024
56beab2
Only show dompart for arity >2
Newtech66 Aug 30, 2024
bf87e50
Rename _k to _arity globally
Newtech66 Aug 30, 2024
f9919ff
fix doctests
Newtech66 Aug 30, 2024
3c42364
simplify unisort _repr_
mantepse Aug 30, 2024
f070463
polish examples
mantepse Aug 30, 2024
fdc1d98
Merge branch 'simple-species' into lazy-species
mantepse Aug 30, 2024
259f844
add a doctest
mantepse Aug 30, 2024
cc32428
add a doctest
mantepse Aug 30, 2024
3c2a3d1
implement generating series, delegate sum and product to separate cla…
mantepse Aug 31, 2024
3ea68d1
start to fix multisort structures
mantepse Sep 3, 2024
93b19bf
Fix in compose_with_singletons
Newtech66 Sep 9, 2024
04243ac
Merge branch 'simple-species' into lazy-species
mantepse Sep 9, 2024
5f89ce8
move test for conjugacy to PermutationGroup_generic
mantepse Sep 11, 2024
a705847
more doctests, fixes for LazySpecies
mantepse Sep 11, 2024
dada750
make MolecularSpecies accept names as argument, provide graded_compon…
mantepse Sep 11, 2024
7c8e8bf
alternative way to compute group
mantepse Sep 12, 2024
b335831
Merge branch 'simple-species' into lazy-species
mantepse Sep 12, 2024
772b79b
separate computation of group and domain partition of molecular species
mantepse Sep 12, 2024
f8b1d80
Merge branch 'simple-species' into lazy-species
mantepse Sep 12, 2024
7c1f219
remove _project and gen
mantepse Sep 13, 2024
1cf6894
fix bugs in _element_constructor_ when creating species from a group …
mantepse Sep 13, 2024
0c72461
make indexing of sorts 0-based, be more permissive with input of doma…
mantepse Sep 13, 2024
11f9dae
Merge branch 'lazy-species' of https://github.com/mantepse/sage into …
mantepse Sep 14, 2024
73e8c3d
Merge branch 'simple-species' into lazy-species
mantepse Sep 14, 2024
f7bfd48
adapt doctests
mantepse Sep 14, 2024
4e6419a
fix domain bug in group_and_partition, add cycle_index
mantepse Sep 23, 2024
956f42f
Merge branch 'simple-species' into lazy-species
mantepse Sep 23, 2024
48fb116
generic cycle_index_series for multisort species
mantepse Sep 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions src/sage/groups/perm_gps/permgroup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2734,6 +2734,25 @@ def conjugate(self, g):
raise TypeError("{0} does not convert to a permutation group element".format(g))
return PermutationGroup(gap_group=libgap.ConjugateGroup(self, g))

def are_conjugate(self, H1, H2):
r"""
Return whether ``H1`` and ``H2`` are conjugate subgroups in ``G``.

EXAMPLES::

sage: G = SymmetricGroup(3)
sage: H1 = PermutationGroup([(1,2)])
sage: H2 = PermutationGroup([(2,3)])
sage: G.are_conjugate(H1, H2)
True
sage: G = SymmetricGroup(4)
sage: H1 = PermutationGroup([[(1,3),(2,4)], [(1,2),(3,4)]])
sage: H2 = PermutationGroup([[(1,2)], [(1,2),(3,4)]])
sage: G.are_conjugate(H1, H2)
False
"""
return libgap.IsConjugate(self, H1, H2).sage()

def direct_product(self, other, maps=True):
"""
Wraps GAP's ``DirectProduct``, ``Embedding``, and ``Projection``.
Expand Down
2 changes: 2 additions & 0 deletions src/sage/rings/all.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,5 +166,7 @@
# asymptotic ring
from sage.rings.asymptotic.all import *

lazy_import('sage.rings.species', ['PolynomialSpecies', 'AtomicSpecies'])

# Register classes in numbers abc
from sage.rings import numbers_abc
Loading
Loading