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
Implement orbit basis for partition algebras #25162
Comments
Commit: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:5
I should mention that I did quite a bit more than implement the orbit basis. I also worked towards implmenting coercion between different instances of SubPartitionAlgebra classes. e.g., one would like the following code to work, and it seems like now it does:
However, I don't understand why coercion from the base ring doesn't work:
(Mike should also check that multiplication in the Orbit basis performs as expected.) |
comment:6
My guess is because |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:8
The problem was that |
comment:9
Great, thanks! (and I agree that Will you be making other changes soon? I can tackle the doctest failures, but I think it's best to wait for zabrocki/tscrim/other to take a deeper look under the hood first. |
comment:10
Replying to @zabrocki:
That is incorrect, unital algebras does not force you to implement |
comment:11
ah. that's more sensible. |
comment:12
I am currently doing a bunch of refactoring on this ticket (including merging in the fix on #24323). |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Reviewer: Travis Scrimshaw |
comment:14
Okay, I have finished my refactoring and made the code as clean as I can make it. All doctests now pass and there is 100% coverage. I have also reviewed the code you wrote. |
Changed author from Aaron Lauve, Mike Zabrocki to Aaron Lauve, Mike Zabrocki, Travis Scrimshaw |
comment:15
Some comments:
There is likely more to be done to improve this file, but this is what is sufficient for the ticket at hand. |
comment:16
Travis,
I'm not sure what's the best way to address this, but I'd be inclined to keep
|
comment:17
Replying to @alauve:
That was one of the first things I touched and a remnant of when I thought it could be necessary/useful. It can be removed.
I don't really care since it is not anything (directly) exposed to the user. I think it is overly verbose to have it in the class name (the docstring differentiates IMO), but feel free to change it back. (I think this file has gotten so big it is likely more manageable to be separated out into smaller pieces. In which case,
These are all implemented as algebras in a particular basis. so IMO, there is no distinction between an algebra and a basis. I highly doubt this will cause any serious confusion/problems once someone reads-the-code (if they are looking at these things, they should already be doing that). |
comment:18
It seems really slow. We might have to implement the multiplication directly on the orbit basis. There seems to be something wrong here:
|
comment:19
Hmm. I forgot about this use. This is handled in 'get item'? I may have to give up on idea of allowing user to enter a permutation as a list Regarding speed, would it be bad practice to make coarse bonds a cached function? (Product in orbit basis is not known, right?) |
comment:20
The product on the orbit basis is known. I'll have to find a reference/derivation and make sure that it is faster. We might want to cache coarsenings. It seems like if you are doing even one change of basis for a given k it will be doing repeating the same calculations. from comment:17
+1 . Something to be done at a later date, plus improve the documentation. |
comment:71
Okay. If there's no objection, I shall move ticket status back to "positive review". |
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:75
Trivial rebase and marked one test as long. I'm allowing myself to set it back to a positive review. |
comment:76
Fails on 32-bit:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:79
So it turns out AFAIK that no I also implemented a custom hash to use |
comment:81
All tests pass on my machine, but so did the previous version. If you are confident that it fixes the problem, I'll say positive review. |
comment:82
Yes, it is doing the comparison by the lex ordering of |
Changed branch from public/combinat/implement_orbit_basis-25162 to |
Aside from the natural diagram basis for the Partition Algebra, there is an "orbit basis" which carries representation-theoretic meaning. At present, the Partition Algebra (indeed all diagram algebras) have only the diagram basis implemented. This ticket will implement the orbit basis following the model of
PBWBasisOfFreeAlgebra
insage.algebras.free_algebra
.Depends on #24323
Depends on #25146
CC: @darijgr @alauve @tscrim @ghseeli @srdoty @mantepse @zabrocki
Component: combinatorics
Keywords: IMA coding sprint, CHAs, set partitions, diagram algebras
Author: Aaron Lauve, Mike Zabrocki, Travis Scrimshaw
Branch/Commit:
8481a77
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/25162
The text was updated successfully, but these errors were encountered: