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:

Status badges

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 ghseeli

  • Component changed from PLEASE CHANGE to algebra

comment:2 Changed 7 years ago by ghseeli

  • Branch set to u/ghseeli/jucys_murphy_elements_for_brauer_algebra

comment:3 Changed 7 years ago by git

  • Commit set to 639c9f6b52d0740126e83cf13b2cb51066f35e1f

Branch pushed to git repo; I updated commit sha1. New commits:

e138144Added documentation and a doctest for coercion
5b83e6fMerge branch 't/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra' into t/18798/jucys_murphy_elements_for_brauer_algebra
d01322bAdded necessary doctests to many more __ methods
a4fe9c2fixed a few typos
e527bbeAdded attribution to authors in source
43252e7Merge 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
26abcdfMerge branch 't/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra' into t/18798/jucys_murphy_elements_for_brauer_algebra
639c9f6fixed an odd typo

comment:4 Changed 7 years ago by ghseeli

  • Milestone changed from sage-6.8 to sage-6.9

comment:5 Changed 7 years ago by ghseeli

  • Milestone changed from sage-6.9 to sage-6.10

comment:6 Changed 7 years ago by git

  • Commit changed from 639c9f6b52d0740126e83cf13b2cb51066f35e1f to ab6b6807d6337122883b9438d078de17189324bb

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

d4d3a09accidentally deleted crucial statement for coercion. I have reinserted it.
7160ffefixed merge conflicts
2adcfefoops! Didn't completely merge
781c643Merge branch 'develop' into t/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra
888f1a2Merge branch 'develop' into t/18762/create_coercion_between_diagram_algebras_and_the_symmetric_group_algebra
6e7cb21Created conversions of SymmetricGroupAlgebra to DiagramAlgebras as well as appropriate coercions where it makes sense
ea857ffadded more negative unit tests for conversion from symmetric group algebra to diagram algebra. One test does not pass
a4c199dadded the necessary extra colon after tests
14f80d3Reviewer changes and fixing coercions.
ab6b680Merge 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 ghseeli

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 tscrim

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 git

  • Commit changed from ab6b6807d6337122883b9438d078de17189324bb to 15aa5a132c33abfa833a6f5a8974bcf93b3776b0

Branch pushed to git repo; I updated commit sha1. New commits:

b17c1c9Updated the Nazarov reference to be abbreviated as Naz instead of N.
15aa5a1Made docstring declarative.

comment:10 Changed 7 years ago by ghseeli

  • 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 tscrim

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 git

  • Commit changed from 15aa5a132c33abfa833a6f5a8974bcf93b3776b0 to 5406172502891b43a78426ef76746dc8a73e264b

Branch pushed to git repo; I updated commit sha1. New commits:

5406172Added an assert statement and took into account the one element of the base ring.

comment:13 Changed 7 years ago by ghseeli

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 tscrim

  • 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:

a660f53Merge branch 'u/ghseeli/jucys_murphy_elements_for_brauer_algebra' of trac.sagemath.org:sage into u/ghseeli/jucys_murphy_elements_for_brauer_algebra
9613ee3Tweaks to the JM code and fixing a doctest.

comment:15 Changed 7 years ago by ghseeli

  • 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 vbraun

  • Branch changed from u/tscrim/jucys_murphy_elements-18798 to 9613ee37a939b0a2b5fda54696f91dafc225a65a
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.