Opened 7 years ago
Closed 7 years ago
#18798 closed enhancement (fixed)
JucysMurphy Elements for Brauer Algebra
Reported by:  ghseeli  Owned by:  

Priority:  minor  Milestone:  sage6.10 
Component:  algebra  Keywords:  days65, partition algebra, diagram algebra, jucysmurphy 
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 JucysMurphy 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 sage6.8 to sage6.9
comment:5 Changed 7 years ago by
 Milestone changed from sage6.9 to sage6.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 JucysMurphy elements for the Brauer algebra.  These are outlined in [Naz]_. + Return the ``j``th generalized JucysMurphy 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), 664693. + Algebra. Journal of Algebra 182 (1996), 664693. 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*z1/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*z1/2)*B{{3, 3}, {2, 2}, {1, 1}} """  B = self  return (B._q1)/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._q1)/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_elements18798
 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 twofold 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 JucysMurphy 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_elements18798 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