Skip to content
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

Jucys-Murphy Elements for Brauer Algebra #18798

Closed
ghseeli opened this issue Jun 26, 2015 · 20 comments
Closed

Jucys-Murphy Elements for Brauer Algebra #18798

ghseeli opened this issue Jun 26, 2015 · 20 comments

Comments

@ghseeli
Copy link

ghseeli commented Jun 26, 2015

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.

Depends on #18762

CC: @alauve @srdoty @saliola @tscrim

Component: algebra

Keywords: days65, partition algebra, diagram algebra, jucys-murphy

Author: George H. Seelinger

Branch/Commit: 9613ee3

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/18798

@ghseeli ghseeli added this to the sage-6.8 milestone Jun 26, 2015
@ghseeli
Copy link
Author

ghseeli commented Jul 4, 2015

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 23, 2015

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

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 23, 2015

Commit: 639c9f6

@ghseeli ghseeli modified the milestones: sage-6.8, sage-6.9 Aug 6, 2015
@ghseeli ghseeli modified the milestones: sage-6.9, sage-6.10 Oct 12, 2015
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 15, 2015

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

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 15, 2015

Changed commit from 639c9f6 to ab6b680

@ghseeli
Copy link
Author

ghseeli commented Oct 15, 2015

comment:7

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.

@tscrim
Copy link
Collaborator

tscrim commented Oct 15, 2015

comment:8

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).

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 16, 2015

Changed commit from ab6b680 to 15aa5a1

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 16, 2015

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.

@ghseeli
Copy link
Author

ghseeli commented Oct 16, 2015

comment:10

Yeah, this is ready for review. Thank you for the suggestions thus far!

@tscrim
Copy link
Collaborator

tscrim commented Oct 16, 2015

comment:11

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)?

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 17, 2015

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.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 17, 2015

Changed commit from 15aa5a1 to 5406172

@ghseeli
Copy link
Author

ghseeli commented Oct 17, 2015

comment:13

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.

@tscrim
Copy link
Collaborator

tscrim commented Oct 17, 2015

Changed commit from 5406172 to 9613ee3

@tscrim
Copy link
Collaborator

tscrim commented Oct 17, 2015

@tscrim
Copy link
Collaborator

tscrim commented Oct 17, 2015

Reviewer: Travis Scrimshaw

@tscrim
Copy link
Collaborator

tscrim commented Oct 17, 2015

comment:14

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.

@ghseeli
Copy link
Author

ghseeli commented Oct 18, 2015

comment:15

Alright. I am satisfied with these changes. Good catch on the first element!

@vbraun
Copy link
Member

vbraun commented Oct 20, 2015

Changed branch from u/tscrim/jucys_murphy_elements-18798 to 9613ee3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants