Opened 18 months ago
Closed 17 months ago
#31939 closed enhancement (fixed)
Finite dimensional invariant algebra
Reported by:  Trevor Karn  Owned by:  Trevor Karn 

Priority:  major  Milestone:  sage9.4 
Component:  algebra  Keywords:  gsoc2021 invariant 
Cc:  Travis Scrimshaw, Trevor Karn  Merged in:  
Authors:  Trevor K. Karn  Reviewers:  Travis Scrimshaw 
Report Upstream:  N/A  Work issues:  
Branch:  2a64c19 (Commits, GitHub, GitLab)  Commit:  2a64c198c5fb49085ea4e353fc7c73525800b9c4 
Dependencies:  #31987  Stopgaps: 
Description (last modified by )
As part of the GSoC project #31929, we will implement a class for invariant algebras, given a group action on the basis of an algebra.
Change History (24)
comment:1 Changed 18 months ago by
Branch:  → u/tkarn/invariant_modules_31939 

Commit:  → 5526500c23b9cb4aa2a03f7fcdc81b616c963470 
Owner:  set to Trevor Karn 
comment:2 Changed 18 months ago by
Commit:  5526500c23b9cb4aa2a03f7fcdc81b616c963470 → c8b769b1534a3649b7e8bbdd4940faa5877822fc 

comment:3 Changed 18 months ago by
Commit:  c8b769b1534a3649b7e8bbdd4940faa5877822fc → 3c2a2f9d480e775a0cf28c2552c744d708f0977c 

Branch pushed to git repo; I updated commit sha1. New commits:
c1bafa5  Fix bad merge

775fae7  Remove @cached_method decorator from .invariant_algebra()

842b314  Move from algebras.invariants to modules.with_basis.invariant

37dafe9  WIP

3c2a2f9  Add FiniteDiimensionalInvariantModule with no tests/documentation

comment:4 Changed 18 months ago by
Dependencies:  → #31987 

comment:5 Changed 18 months ago by
Keywords:  gsoc2021 added; gsoc removed 

comment:6 Changed 18 months ago by
Description:  modified (diff) 

comment:7 Changed 18 months ago by
Commit:  3c2a2f9d480e775a0cf28c2552c744d708f0977c → beeda87256df0b3cf0ebf72ca44b6c9a17482be7 

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
f0cadcc  Fix typos and whitespace issues

263b385  Initial commit of FiniteDimensionalTwistedInvariantModule

e767248  Fix multiplication and add tests

374207f  Fix cyclic action on generators of ExteriorAlgebra, add tests for the multiplication of group elements on the group algebra as a representation

7e423f8  Merge branch 'catrep' into invariants

5351ebb  Fix PEP8 spacing issue, simplify tuple

469286c  Merge branch 'catrep' into invariants

dc9a3d0  Fix whitespace issues

81f3bc4  Add tests and _repr_ to finite_dimensional_invariant_algebras

beeda87  WIP

comment:8 Changed 18 months ago by
Commit:  beeda87256df0b3cf0ebf72ca44b6c9a17482be7 → 7cf2cf0d270995f47515874270f9970a23cbcb58 

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
7cf2cf0  WIP

comment:9 Changed 18 months ago by
Description:  modified (diff) 

comment:10 Changed 18 months ago by
Commit:  7cf2cf0d270995f47515874270f9970a23cbcb58 → e0712a4fe0e2aa62a85f0716b5395f829f03a824 

comment:11 Changed 18 months ago by
Commit:  e0712a4fe0e2aa62a85f0716b5395f829f03a824 → 2c6ada7295af45db81c55a9343c9d905fbf57cf8 

Branch pushed to git repo; I updated commit sha1. New commits:
2c6ada7  Add tests for arithmetic in FiniteDimensionalInvariantModule, fix bug with multiplication of the underlying representation's underlying module's base ring

comment:12 Changed 18 months ago by
Commit:  2c6ada7295af45db81c55a9343c9d905fbf57cf8 → d89c264ba395524c7b64d918991c3a44a19e21b8 

Branch pushed to git repo; I updated commit sha1. New commits:
f08d6f9  Add tests to invariant.py for full coverage

a5fab0c  Fix error introduced in representation.py

ff2047d  Add reference for invariants/twisted invariants

a15d52e  WIP

d2d1dde  Add check for valid characters for finite semigroups

d89c264  Add basis computation and initial commit of Element class

comment:13 Changed 17 months ago by
Commit:  d89c264ba395524c7b64d918991c3a44a19e21b8 → f519fbcfcd29fc9bf1cc1483638fa53a188a60b1 

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
730baae  Add tests and _repr_ to finite_dimensional_invariant_algebras

f4d5ed6  WIP

6ae01b4  Remove invariant algebra class

63ddf15  Remove OS changes

f93c224  Modify invariant.py to work only in the Representation (not in the ambient module of the Representation)

1c87493  Add tests for arithmetic in FiniteDimensionalInvariantModule, fix bug with multiplication of the underlying representation's underlying module's base ring

1792be1  Add tests to invariant.py for full coverage

d5bb24c  Remove draft of twisted invariant. Moved to trac #32145

f121263  Fix whitespace

f519fbc  Add _test_invariant for TestSuite

comment:14 Changed 17 months ago by
Status:  new → needs_review 

comment:15 Changed 17 months ago by
Status:  needs_review → needs_work 

comment:16 Changed 17 months ago by
Commit:  f519fbcfcd29fc9bf1cc1483638fa53a188a60b1 → c038ef539cabfe7468ff72c319ddd2a1866e5172 

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
3519cf1  Add _test_invariant for TestSuite

0b000e1  Add exposition to examples of invariant.py

f6f76c5  Fix invariant_module method inside the FiniteDimensionalModuleWithBasis.ParentMethods class

ac750a4  Add example of symmetric functions with monomial basis

42d5e34  Fix _mul_ to assume that both are in same parent

c038ef5  Edit exposition in symmetric function example

comment:17 Changed 17 months ago by
Status:  needs_work → needs_review 

comment:18 Changed 17 months ago by
It was suggested to change the FiniteDimensionalInvariantModule._semigroup_representation
attribute to be an alias of FiniteDimensionalInvariantModule._ambient
. I chose not to use this suggestion because the semigroup representation is required to build the basis which we use to call the SubmoduleWithBasis.__init__
via super()
, but the ._ambient
attribute is defined in SubmoduleWithBasiis.__init__
, so it seemed circular.
comment:19 Changed 17 months ago by
Commit:  c038ef539cabfe7468ff72c319ddd2a1866e5172 → a75293a228dd7e5db70a86be6ceecf5ba66615bb 

Branch pushed to git repo; I updated commit sha1. New commits:
a75293a  Add exposition in examples

comment:20 Changed 17 months ago by
Branch:  u/tkarn/invariant_modules_31939 → public/algebras/invariant_modules31939 

Commit:  a75293a228dd7e5db70a86be6ceecf5ba66615bb → 553dc56e758b7dbac708a9ea2560a4cae1353ce7 
Reviewers:  → Travis Scrimshaw 
Thank you. I have made my reviewer pass through the code. Overall it looks great. However, I thought some more about what type of constructions we want it to handle. As a result, I made what the invariant module can handle much more general. This allows us to use a natural action, should it exist, or pass a general action (not necessarily one defined on the basis).
In order to make things work smoothly, I had to extend some stuff for Representation
so it more naturally works with subgroups and coercion. I also removed the _l/rmul_
as those are generically implemented in the IndexedModuleElement
class (I forgot about this; sorry!). I did some other documentation tweaks.
If my changes are good with you, then you can set a positive review.
New commits:
553dc56  Reviewer changes for invariant modules.

comment:21 Changed 17 months ago by
Commit:  553dc56e758b7dbac708a9ea2560a4cae1353ce7 → 2a64c198c5fb49085ea4e353fc7c73525800b9c4 

Branch pushed to git repo; I updated commit sha1. New commits:
2a64c19  Update input documentation

comment:22 Changed 17 months ago by
The changes made before commit 2a64c19 look good to me. If the changes to the documentation I made are good, then you can set a positive review.
comment:24 Changed 17 months ago by
Branch:  public/algebras/invariant_modules31939 → 2a64c198c5fb49085ea4e353fc7c73525800b9c4 

Resolution:  → fixed 
Status:  positive_review → closed 
New commits:
Initial commit
Add __init__ and tests