Opened 12 months ago
Closed 10 months ago
#31939 closed enhancement (fixed)
Finite dimensional invariant algebra
Reported by:  tkarn  Owned by:  tkarn 

Priority:  major  Milestone:  sage9.4 
Component:  algebra  Keywords:  gsoc2021 invariant 
Cc:  tscrim, tkarn  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 11 months ago by
 Branch set to u/tkarn/invariant_modules_31939
 Commit set to 5526500c23b9cb4aa2a03f7fcdc81b616c963470
 Owner changed from (none) to tkarn
comment:2 Changed 11 months ago by
 Commit changed from 5526500c23b9cb4aa2a03f7fcdc81b616c963470 to c8b769b1534a3649b7e8bbdd4940faa5877822fc
comment:3 Changed 11 months ago by
 Commit changed from c8b769b1534a3649b7e8bbdd4940faa5877822fc to 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 11 months ago by
 Dependencies set to #31987
comment:5 Changed 11 months ago by
 Keywords gsoc2021 added; gsoc removed
comment:6 Changed 11 months ago by
 Description modified (diff)
comment:7 Changed 11 months ago by
 Commit changed from 3c2a2f9d480e775a0cf28c2552c744d708f0977c to 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 11 months ago by
 Commit changed from beeda87256df0b3cf0ebf72ca44b6c9a17482be7 to 7cf2cf0d270995f47515874270f9970a23cbcb58
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
7cf2cf0  WIP

comment:9 Changed 11 months ago by
 Description modified (diff)
comment:10 Changed 11 months ago by
 Commit changed from 7cf2cf0d270995f47515874270f9970a23cbcb58 to e0712a4fe0e2aa62a85f0716b5395f829f03a824
comment:11 Changed 11 months ago by
 Commit changed from e0712a4fe0e2aa62a85f0716b5395f829f03a824 to 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 11 months ago by
 Commit changed from 2c6ada7295af45db81c55a9343c9d905fbf57cf8 to 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 11 months ago by
 Commit changed from d89c264ba395524c7b64d918991c3a44a19e21b8 to 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 11 months ago by
 Status changed from new to needs_review
comment:15 Changed 11 months ago by
 Status changed from needs_review to needs_work
comment:16 Changed 11 months ago by
 Commit changed from f519fbcfcd29fc9bf1cc1483638fa53a188a60b1 to 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 11 months ago by
 Status changed from needs_work to needs_review
comment:18 Changed 11 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 11 months ago by
 Commit changed from c038ef539cabfe7468ff72c319ddd2a1866e5172 to a75293a228dd7e5db70a86be6ceecf5ba66615bb
Branch pushed to git repo; I updated commit sha1. New commits:
a75293a  Add exposition in examples

comment:20 Changed 11 months ago by
 Branch changed from u/tkarn/invariant_modules_31939 to public/algebras/invariant_modules31939
 Commit changed from a75293a228dd7e5db70a86be6ceecf5ba66615bb to 553dc56e758b7dbac708a9ea2560a4cae1353ce7
 Reviewers set to 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 10 months ago by
 Commit changed from 553dc56e758b7dbac708a9ea2560a4cae1353ce7 to 2a64c198c5fb49085ea4e353fc7c73525800b9c4
Branch pushed to git repo; I updated commit sha1. New commits:
2a64c19  Update input documentation

comment:22 Changed 10 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 10 months ago by
 Branch changed from public/algebras/invariant_modules31939 to 2a64c198c5fb49085ea4e353fc7c73525800b9c4
 Resolution set to fixed
 Status changed from positive_review to closed
New commits:
Initial commit
Add __init__ and tests