Opened 7 years ago
Closed 7 years ago
#18798 closed enhancement (fixed)
Jucys-Murphy Elements for Brauer Algebra
Reported by: | ghseeli | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | sage-6.10 |
Component: | algebra | Keywords: | days65, partition algebra, diagram algebra, jucys-murphy |
Cc: | alauve, s.r.doty, saliola, tscrim | Merged in: | |
Authors: | George H. Seelinger | Reviewers: | Travis Scrimshaw |
Report Upstream: | N/A | Work issues: | |
Branch: | 9613ee3 (Commits, GitHub, GitLab) | Commit: | 9613ee37a939b0a2b5fda54696f91dafc225a65a |
Dependencies: | #18762 | Stopgaps: |
Description
Nazarov's 1996 paper titled "Young's Orthogonal Form for Brauer's Centralizer Algebra," outlines a form for the Jucys-Murphy elements that are analogous to the JM elements for the symmetric group algebra. Implementing these into Sage would require a few lines of code but would prove very useful for work done with the Brauer algebra.
Change History (16)
comment:1 Changed 7 years ago by
- Component changed from PLEASE CHANGE to algebra
comment:2 Changed 7 years ago by
- Branch set to u/ghseeli/jucys_murphy_elements_for_brauer_algebra
comment:3 Changed 7 years ago by
- Commit set to 639c9f6b52d0740126e83cf13b2cb51066f35e1f
comment:4 Changed 7 years ago by
- Milestone changed from sage-6.8 to sage-6.9
comment:5 Changed 7 years ago by
- Milestone changed from sage-6.9 to sage-6.10
comment:6 Changed 7 years ago by
- Commit changed from 639c9f6b52d0740126e83cf13b2cb51066f35e1f to ab6b6807d6337122883b9438d078de17189324bb
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
d4d3a09 | accidentally deleted crucial statement for coercion. I have reinserted it.
|
7160ffe | fixed merge conflicts
|
2adcfef | oops! Didn't completely merge
|
781c643 | Merge branch 'develop' into t/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra
|
888f1a2 | Merge branch 'develop' into t/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra
|
6e7cb21 | Created conversions of SymmetricGroupAlgebra to DiagramAlgebras as well as appropriate coercions where it makes sense
|
ea857ff | added more negative unit tests for conversion from symmetric group algebra to diagram algebra. One test does not pass
|
a4c199d | added the necessary extra colon after tests
|
14f80d3 | Reviewer changes and fixing coercions.
|
ab6b680 | Merge branch 't/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra' into t/18798/jucys_murphy_elements_for_brauer_algebra
|
comment:7 Changed 7 years ago by
Sorry, this git history is hard to read! The only change this ticket should include over 18762 is the jucys_murphy
method within the BrauerAlgebra
class.
comment:8 Changed 7 years ago by
Is this ready for review? A few things from a quick lookover: Make the reference key [N]
longer to avoid potential conflicts and docstrings should be declarative (so it will start with Return
).
comment:9 Changed 7 years ago by
- Commit changed from ab6b6807d6337122883b9438d078de17189324bb to 15aa5a132c33abfa833a6f5a8974bcf93b3776b0
comment:10 Changed 7 years ago by
- Status changed from new to needs_review
Yeah, this is ready for review. Thank you for the suggestions thus far!
comment:11 Changed 7 years ago by
A couple of suggestions:
def jucys_murphy(self, j): r""" - Return a generalized Jucys-Murphy elements for the Brauer algebra. - These are outlined in [Naz]_. + Return the ``j``-th generalized Jucys-Murphy element of ``self``. + Could you give a more detailed description of how the elements are defined? + REFERENCES: .. [Naz] Maxim Nazarov, Young's Orthogonal Form for Brauer's Centralizer - Algebra. Journal of Algebra 182 (1996), 664--693. + Algebra. Journal of Algebra 182 (1996), 664--693. EXAMPLES: sage: z = var('z') sage: B = BrauerAlgebra(3,z) sage: B.jucys_murphy(1) 1/2*z - 1/2 sage: B.jucys_murphy(3) - -B{{-3, -2}, {-1, 1}, {2, 3}} - B{{-3, -1}, {-2, 2}, {1, 3}} + B{{-3, 1}, {-2, 2}, {-1, 3}} + B{{-3, 2}, {-2, 3}, {-1, 1}} + (1/2*z-1/2)*B{{-3, 3}, {-2, 2}, {-1, 1}} + -B{{-3, -2}, {-1, 1}, {2, 3}} - B{{-3, -1}, {-2, 2}, {1, 3}} + + B{{-3, 1}, {-2, 2}, {-1, 3}} + B{{-3, 2}, {-2, 3}, {-1, 1}} + + (1/2*z-1/2)*B{{-3, 3}, {-2, 2}, {-1, 1}} """ - B = self - return (B._q-1)/2 + sum(B([[i,-j],[j,-i]]) - B([[i,j],[-i,-j]]) for i in range(1,j)) + I = self._indices + one = self.base_ring().one() + return ((self._q-1)/2 + + self._from_dict({I([[i,-j],[j,-i]]): one for i in range(1,j)}, remove_zeros=False) + - self._from_dict({I([[i,j],[-i,-j]]): one for i in range(1,j)}, remove_zeros=False))
Do you think we should also make this a cached method? What about when j > n
, what happens then (or is it even defined)?
comment:12 Changed 7 years ago by
- Commit changed from 15aa5a132c33abfa833a6f5a8974bcf93b3776b0 to 5406172502891b43a78426ef76746dc8a73e264b
Branch pushed to git repo; I updated commit sha1. New commits:
5406172 | Added an assert statement and took into account the one element of the base ring.
|
comment:13 Changed 7 years ago by
Alright, I added a small explanation to the docstring, and also took into account the one element of base ring. However, the problem with your _from_dict
rewrite is that it does not pass the doctests. This is because when you call the element constructor, it "fills in" information you don't give it, but the BrauerDiagram
class does not do this. Is there a reason to prefer using the _from_dict
approach? Finally, I believe it probably could be a cached method, although it also isn't a terribly intense computation.
comment:14 Changed 7 years ago by
- Branch changed from u/ghseeli/jucys_murphy_elements_for_brauer_algebra to u/tscrim/jucys_murphy_elements-18798
- Commit changed from 5406172502891b43a78426ef76746dc8a73e264b to 9613ee37a939b0a2b5fda54696f91dafc225a65a
- Reviewers set to Travis Scrimshaw
I made some minor tweaks to the documentation. The reason why I use the _from_dict
to avoid the coercion framework, and it has a two-fold advantage of being faster and not invoking the coercion framework (which has in the past led to annoying consequences). My changes also fix a bug that the first Jucys-Murphy element was not in the Brauer algebra. If you're happy with my changes, then you can set a positive review.
New commits:
a660f53 | Merge branch 'u/ghseeli/jucys_murphy_elements_for_brauer_algebra' of trac.sagemath.org:sage into u/ghseeli/jucys_murphy_elements_for_brauer_algebra
|
9613ee3 | Tweaks to the JM code and fixing a doctest.
|
comment:15 Changed 7 years ago by
- Status changed from needs_review to positive_review
Alright. I am satisfied with these changes. Good catch on the first element!
comment:16 Changed 7 years ago by
- Branch changed from u/tscrim/jucys_murphy_elements-18798 to 9613ee37a939b0a2b5fda54696f91dafc225a65a
- Resolution set to fixed
- Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. New commits:
Added documentation and a doctest for coercion
Merge branch 't/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra' into t/18798/jucys_murphy_elements_for_brauer_algebra
Added necessary doctests to many more __ methods
fixed a few typos
Added attribution to authors in source
Merge branch 't/18720/change_diagram_algebra_basis_set_partitions_from_list_to_generator' into t/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra
Merge branch 't/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra' into t/18798/jucys_murphy_elements_for_brauer_algebra
fixed an odd typo