Opened 14 months ago
Closed 12 months ago
#32027 closed enhancement (fixed)
Orlik-Solomon invariant algebra
Reported by: | tkarn | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.5 |
Component: | combinatorics | Keywords: | gsoc2021 invariant orlik-solomon matroid |
Cc: | tscrim, tkarn | Merged in: | |
Authors: | Trevor K. Karn | Reviewers: | Travis Scrimshaw |
Report Upstream: | N/A | Work issues: | |
Branch: | 4006b40 (Commits, GitHub, GitLab) | Commit: | 4006b40c80ee5a9228c2056a019307db035f2b43 |
Dependencies: | #31987 #31939 #32145 | Stopgaps: |
Description (last modified by )
Implement a subclass of FiniteDimensionalInvariantModule
specifically for the Orlik-Solomon algebra of a matroid, given an action on the groundset.
C.f. the related implementation for the Orlik-Terao algebra #32293 (which is not a dependency for this ticket).
Change History (23)
comment:1 Changed 14 months ago by
- Component changed from PLEASE CHANGE to combinatorics
- Type changed from PLEASE CHANGE to enhancement
comment:2 Changed 13 months ago by
- Milestone changed from sage-9.4 to sage-9.5
comment:3 Changed 13 months ago by
- Branch set to u/tkarn/os-invariants-32027
- Commit set to 9bd35c340bca083af585668a6564c19562151572
comment:4 Changed 13 months ago by
- Commit changed from 9bd35c340bca083af585668a6564c19562151572 to 5eb896d2163d30d40f5c360721ca93d55a991899
Branch pushed to git repo; I updated commit sha1. New commits:
5eb896d | Fix mathematical error in tests and type error by adding Representation (mirroring the .invariant_module method of categories.FiniteDimensionalModuleWithBasis)
|
comment:5 Changed 13 months ago by
- Commit changed from 5eb896d2163d30d40f5c360721ca93d55a991899 to 3487e96d7462d2d37def870b285e6fd715554233
Branch pushed to git repo; I updated commit sha1. New commits:
3487e96 | Clean up unneccessary actions, fix multiplication
|
comment:6 Changed 13 months ago by
- Dependencies changed from #31987 #31939 to #31987 #31939 #32145
comment:7 Changed 13 months ago by
- Commit changed from 3487e96d7462d2d37def870b285e6fd715554233 to 3436ce83491745a0177ff12a780ae10eb115ae6c
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
3436ce8 | Add invariant option to Orlik-Solomon and to matroids
|
comment:8 Changed 13 months ago by
- Description modified (diff)
comment:9 Changed 13 months ago by
- Branch changed from u/tkarn/os-invariants-32027 to u/tscrim/os_invariants-32027
- Commit changed from 3436ce83491745a0177ff12a780ae10eb115ae6c to d6ff85bffdc390c9a38378935d4c8749510beb25
comment:10 Changed 13 months ago by
- Commit changed from d6ff85bffdc390c9a38378935d4c8749510beb25 to 5df91337c9780c1ec312ba42fc1287cbae2c71be
Branch pushed to git repo; I updated commit sha1. New commits:
5df9133 | Initial review. Bug hunt is needed.
|
comment:11 Changed 13 months ago by
- Commit changed from 5df91337c9780c1ec312ba42fc1287cbae2c71be to f1f1d96029ad1a7fd136838bca45d803305f2207
Branch pushed to git repo; I updated commit sha1. New commits:
f1f1d96 | Adding an additional test for the vertex action. Agrees with known results.
|
comment:12 Changed 13 months ago by
- Status changed from new to needs_review
Reviewer changes look good to me.
comment:13 Changed 13 months ago by
It occurred to me that we can speed this up for large examples by computing the annihilator_basis
of each individual homogeneous component and forming a submodule from those since we know that the group action preserves degree when the group acts by ring automorphisms.
Preliminary testing indicates that the code as currently written performs better on small examples (groundset size < 5) and the computation degree-by-degree performs better when the groundset is bigger.
Should this optimization be implemented? If so in this ticket, or in another?
comment:14 Changed 13 months ago by
I would do the optimization here since it would give more reason for having this subclass. Also I would always just do it in each degree since the small examples will be relatively fast (I would be surprised if they showed up in a tight loop).
comment:15 Changed 13 months ago by
- - optional parameter ``invariant`` -- (optional, default: None) either - a semigroup ``G`` whose ``__call__`` acts on the groundset, or pair - ``(G, action)`` where ``G`` is a semigroup and ``action`` - is a function ``action(g,e)`` which takes a pair of a group - element and a grounset element and returns the groundset - element which is the result of ``e`` acted upon by ``g`` + - ``invariant`` -- (optional) either a semigroup ``G`` such + that ``g(e)`` defines the action of a group element ``g`` + on the groundset element ``e`` or pair ``(G, action)``, + where ``action(g, e)`` returns the action of ``g`` on ``e``
comment:16 Changed 12 months ago by
- Status changed from needs_review to needs_work
comment:17 Changed 12 months ago by
- Branch changed from u/tscrim/os_invariants-32027 to u/tkarn/os_invariants-32027
- Commit changed from f1f1d96029ad1a7fd136838bca45d803305f2207 to dc7ee4417daa8bcaa0daf9abce1b9700411cd471
- Status changed from needs_work to needs_review
comment:18 Changed 12 months ago by
- Reviewers set to Travis Scrimshaw
Just take care of the pyflakes warnings:
-import operator
-self._side = side = kwargs.pop('side', 'left') +self._side = kwargs.pop('side', 'left')
and then this is a positive review.
comment:19 Changed 12 months ago by
- Commit changed from dc7ee4417daa8bcaa0daf9abce1b9700411cd471 to c12c5120b3432cbb2ec6d543dfd35c0b235a6b17
Branch pushed to git repo; I updated commit sha1. New commits:
c12c512 | Fix pyflakes issues
|
comment:20 Changed 12 months ago by
- Status changed from needs_review to positive_review
comment:21 Changed 12 months ago by
- Commit changed from c12c5120b3432cbb2ec6d543dfd35c0b235a6b17 to 4006b40c80ee5a9228c2056a019307db035f2b43
- Status changed from positive_review to needs_review
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:
4006b40 | Add kwargs to hyperplane OS
|
comment:22 Changed 12 months ago by
- Status changed from needs_review to positive_review
comment:23 Changed 12 months ago by
- Branch changed from u/tkarn/os_invariants-32027 to 4006b40c80ee5a9228c2056a019307db035f2b43
- Resolution set to fixed
- Status changed from positive_review to closed
Last 10 new commits:
Add example of symmetric functions with monomial basis
Fix _mul_ to assume that both are in same parent
Edit exposition in symmetric function example
Add exposition in examples
Reviewer changes for invariant modules.
Update input documentation
Add _test_invariant for TestSuite
Initial commit
Add tests
Add some tests, fix some tests, break some tests