Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#15843 closed enhancement (fixed)

Add reduced Burau representation, Alexander polynomial to Braid

Reported by: lipshitz Owned by:
Priority: minor Milestone: sage-6.2
Component: algebra Keywords: Braid, braid group, Burau representation, Alexander polynomial, knot theory
Cc: Merged in:
Authors: Robert Lipshitz Reviewers: Frédéric Chapoton, Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: 97dd45c (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by lipshitz)

Instances of Braid class could already return the image of the braid under the Burau representation. This patch adds code to optionally return the image under the reduced Burau representation. Using the reduced Burau representation, it can also return the (unnormalized) Alexander polynomial of the braid closure of the Braid.

Examples of the new functionality from the doc_strings:

sage: B = BraidGroup? (4)
sage: B.inject_variables()
Defining s0, s1, s2
sage: s0.burau_matrix(reduced=True)
[-t 0 0]
[-t 1 0]
[-t 0 1]
sage: b = B([1,1,1,3,3,2,-3,-1,-1,2,-1,-3,-2])
sage: b.alexander_polynomial() #The Kinoshita-Terasaka knot.
-1/t

(The Kinoshita-Terasaka knot has Alexander polynomial 1; the unnormalized Alexander polynomial is only well-defined up to multiplication by plus or minus t to the n.)

Change History (18)

comment:1 Changed 7 years ago by lipshitz

  • Branch set to u/lipshitz/ticket/15843
  • Created changed from 02/21/14 22:29:00 to 02/21/14 22:29:00
  • Modified changed from 02/21/14 22:29:00 to 02/21/14 22:29:00

comment:2 Changed 7 years ago by lipshitz

  • Commit set to bec075f7b708d1856750eebe835b5d2cd1d0d33b
  • Description modified (diff)

comment:3 Changed 7 years ago by lipshitz

  • Authors set to Robert Lipshitz
  • Status changed from new to needs_review

comment:4 Changed 7 years ago by chapoton

  • Branch changed from u/lipshitz/ticket/15843 to u/chapoton/15843
  • Commit changed from bec075f7b708d1856750eebe835b5d2cd1d0d33b to 4fdf5b936657a25e8840d5e49b4ebf1f59b64bbc

I have made a few modifications. This is still not good, as one would like the result of alexander_polynomial to be a Laurent polynomial, and not a fraction.


New commits:

f71a95fAdded reduced Burau representation, Alexander polynomial to Braid class.
f75139btrac #15843 details, minor changes
d575852trac #15843 make sure tests pass
4fdf5b9trac #15843 remove unused imports

comment:5 Changed 7 years ago by chapoton

One way to get Laurent Polynomials could be to implement __floordiv__ for Laurent polynomials (in one variable?) so that one can use // instead of /.

comment:6 Changed 7 years ago by git

  • Commit changed from 4fdf5b936657a25e8840d5e49b4ebf1f59b64bbc to b6497a7040abd47bf013f2ea3985c69ad9a02118

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

b6497a7trac #15843 now with exact division of Laurent polynomials

comment:7 Changed 7 years ago by git

  • Commit changed from b6497a7040abd47bf013f2ea3985c69ad9a02118 to a74f32dd63ecab57c2112a24c77cb73f9a3909b9

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

a74f32dtrac #15843 minor polishing, doc formatting

comment:8 Changed 7 years ago by tscrim

  • Branch changed from u/chapoton/15843 to u/tscrim/reduced_burau_alexander_poly-15843
  • Commit changed from a74f32dd63ecab57c2112a24c77cb73f9a3909b9 to 505d170b4d1554c4e03b017043f24d4c44f2ac04

I've added an optional argument to return the normalized Alexander polynomial (as per the wikipedia page) and made some more review tweaks. If you're happy with my changes, then I believe we are at a positive review.


New commits:

cc6669fAdded the normalized version of the Alexander polynomial.
505d170Some more review changes.

comment:9 Changed 7 years ago by chapoton

  • Branch changed from u/tscrim/reduced_burau_alexander_poly-15843 to u/chapoton/15843
  • Commit changed from 505d170b4d1554c4e03b017043f24d4c44f2ac04 to 97dd45c03c2fdb2433e3f8a9f1bd8a7ebad84e65
  • Status changed from needs_review to positive_review

Looks good to me. I have made two very small cosmetic changes. Positive review then.


New commits:

97dd45ctrac #15843 final details

comment:10 Changed 7 years ago by chapoton

  • Reviewers set to Francis Clarke, Travis Scrimshaw

comment:11 Changed 7 years ago by chapoton

  • Reviewers changed from Francis Clarke, Travis Scrimshaw to Frédéric Chapoton, Travis Scrimshaw

comment:12 Changed 7 years ago by vbraun

  • Status changed from positive_review to needs_work

DELETED

Last edited 7 years ago by vbraun (previous) (diff)

comment:13 Changed 7 years ago by vbraun

  • Status changed from needs_work to positive_review

Sorry wrong ticket

comment:14 Changed 7 years ago by vbraun

  • Branch changed from u/chapoton/15843 to 97dd45c03c2fdb2433e3f8a9f1bd8a7ebad84e65
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:15 follow-up: Changed 7 years ago by mmarco

  • Commit 97dd45c03c2fdb2433e3f8a9f1bd8a7ebad84e65 deleted

Are you sure that this is the correct reduced Burau matrix?, in the references i have checked it does not coincide:

For instance, shouldn't the elementary braids have something like

[1   t  0]
[0  -t  0]
[0   1  1]

as basic block?

comment:16 in reply to: ↑ 15 Changed 7 years ago by lipshitz

Replying to mmarco:

Are you sure that this is the correct reduced Burau matrix?, in the references i have checked it does not coincide:

For instance, shouldn't the elementary braids have something like

[1   t  0]
[0  -t  0]
[0   1  1]

as basic block?

It depends on the choice of basis.

Right multiplication by the matrices in (Sage's implementation of) the Burau representation preserves the subspace {(x_1,...,x_n) | x_1+...+x_n=0}. (Note that this is a row vector, and we are multiplying on the right by the matrix.) The restriction of the representation to this subspace is the reduced Burau representation. To turn this into matrices, we need to choose a basis for the subspace.

I think if you take the basis vectors (1,-1,0,0,...,0), (1,0,-1,0,...,0), (1,0,0,-1,...,0), etc., then you get the matrices I wrote down.

Of course, I could have made a mistake; but the fact that the Alexander polynomial seems to work for fairly complicated knots (compare with the Knot Atlas) seems like good evidence that the matrices are right.

By the way, I think some references I looked at were wrong: some did not seem to satisfy the braid relations.

comment:17 follow-up: Changed 7 years ago by mmarco

I see. Then maybe this should be clearly stated in the documentation, since there are other possible choices of the basis.

I think that pretty much every reference i have checked uses the basis (1,-1,0,...0,), (0,1,-1,0,...,0),...,(0,...,0,1,-1).

comment:18 in reply to: ↑ 17 Changed 7 years ago by lipshitz

Replying to mmarco:

I see. Then maybe this should be clearly stated in the documentation, since there are other possible choices of the basis.

I think that pretty much every reference i have checked uses the basis (1,-1,0,...0,), (0,1,-1,0,...,0),...,(0,...,0,1,-1).

Either way is fine with me. If you would like to change the matrices to any other (correct) representatives for the representation, that's also fine.

Note: See TracTickets for help on using tickets.