Hello,

Let me tell you that T. Coulbois already implemented Bestvina-Handel algorithm (for general automorphisms of the free group):

https://github.com/coulbois/sage-train-track

There are a lot of possible optimization and improvement in the documentation. But it works well (and has been intensively tested).

Vincent

On 09/08/15 13:02, mmarco wrote:
I also spent some time trying to figure out how to implement Bestvina
-Handel algorithm. But i am not really an expert on that, so i desisted
after some time. If you want to work on that, i would definitely try to
help.

I am so happy to have a braid/knot theory specialist on board.

El domingo, 9 de agosto de 2015, 12:55:21 (UTC+2), fuglede....@gmail.com
escribió:

Having a libhomfly wrapper would certainly be nice. More generally, the
Mathematica KnotTheory`
<http://katlas.org/wiki/The_Mathematica_Package_KnotTheory%60> package
allows, iirc, for the input of a general R-matrix and spits out braid group
representations. Or maybe it's just for the ones that come from quantum
groups of simple Lie algebras. It would be great to have that ported to
sage as well.

Nonetheless, I think there could still be some value in having a Kauffman
bracket implementation of the Jones polynomial such as yours: while the
braid group representation algorithm is certainly more effective in
particular cases, it is not clear to me that it *always* is. In
particular, what I wrote tends to be rather slow for closures of long words
in 10 or more strands. I actually noticed the incorrect outputs in #17030
when I was about to benchmark the algorithm.

Also on my wish list is a wrapper for Toby Hall's implementation of
Bestvina–Handel for braids, but that's a different issue entirely.

Den søndag den 9. august 2015 kl. 12.34.45 UTC+2 skrev mmarco:

I wouldsay that the problems in your  examples has to do with the
existence of completely isolated trivial components. Since we make the
computation with the lists of crossings, all components with no crossings
involved are ignored. Besides, the first example has no crossings at all
(which makes the method to fail).

So maybe we should try to take care of these cases in our data
structures.

If you are interested in knot theory in Sage, please help us review the
ticket. There are some people already looking at the code, but they would
like someone that knows the theory behind it to review the mathematical
correctness.

Btw, in the long run, i would like to include a library[1] to compute the
homfly polynomial. It is much faster than our actual methods for Alexander
and Jones polynomials. But in the meantime, i think we should focus on
having the basics merged.

[1]http://trac.sagemath.org/ticket/18047

El jueves, 6 de agosto de 2015, 17:01:55 (UTC+2), fuglede....@gmail.com
escribió:

In fact, when matching the return values of Link.jones_polynomial() with
the one I posted, I ran into some problems for sufficiently trivial links:

sage: B = BraidGroup(2)
sage: b = B([])
sage: L = Link(b)
sage: L.jones_polynomial()
...
IndexError: list index out of range

Likewise, it does not appear to give the expected results when it does
give results:

sage: B = BraidGroup(8)
sage: b = B([1])
sage: L = Link(b)
sage: L.jones_polynomial()
1
sage: b.jones_polynomial()
A^12 + 6*A^8 + 15*A^4 + 15/A^4 + 6/A^8 + 1/A^12 + 20



This was obtained using the version of link.py in 04facf8.

- Søren


Den torsdag den 6. august 2015 kl. 15.58.42 UTC+2 skrev Amit Jamadagni:

Hello Soren,
         Yeah, we have used the Kauffman's bracket decomposition for the
construction of Jones polynomial. I am not sure (may also be not the right
person to comment) on whether we could include this in the current ticket.
I guess may be we could have it in the groups/braid.py as we have an
implementation of Alexander polynomial which is also implemented in the
ticket #17030.

Thanks,
Amit.

On Thu, Aug 6, 2015 at 9:20 PM, <fuglede....@gmail.com> wrote:

Hi Amit

Thanks for the reference; good to know that stuff is happening in that
regard.

And yes, everything here is related to the braid group. Even though
this would create some overlap, perhaps it could be of use to have both
algorithms: using braid group representations, for a fixed number of
strands, the evaluation of the Jones polynomial of the trace closures
becomes polynomial in the number of crossings (as only matrix
multiplication is involved). From a quick look at ticket #17030, that's not
the case for the existing implementation which appears to implement
Kauffman's O(2^{O(#crossings)}) algorithm (please correct me if I'm wrong).

- Søren

Den torsdag den 6. august 2015 kl. 14.28.39 UTC+2 skrev Amit Jamadagni:

Hello Soren,
         Thanks for sharing the work. But we do have been working on
Knot Theory and here is the ticket
Ticket : http://trac.sagemath.org/ticket/17030
<http://www.google.com/url?q=http%3A%2F%2Ftrac.sagemath.org%2Fticket%2F17030&sa=D&sntz=1&usg=AFQjCNHtremMXOZeAA7pqdSLRqPr2yNIIg>,
which is currently under review. It would be helpful if you compare the
missing features as the work on calculations of Jones polynomial has been
included. Also from the source, as far as I understand the representations
are mainly Braid Group, but we do have supported other representations such
as oriented gauss code and also planar diagram. I guess you could directly
contribute to the ticket, if something is missing.

Thanks,
Amit.

On Thu, Aug 6, 2015 at 7:30 PM, <fuglede....@gmail.com> wrote:

Hey sage-devel

In work with Egsgaard, I ended up needing an implementation of the
Jones representations of braid groups and figured it made sense to do it in
sage. While interesting in their own right, they also allow for direct
calculation of the Jones polynomials of the trace closures of the braids,
and I figured that since sage is currently rather low on quantum topology
(and knot theory in general), that adding this to the base could be useful
in general.

The development guide suggests suggesting changes here before on
trac, so here you go. The source code is currently available here:

https://github.com/fuglede/jones-representation/blob/master/curverep.sage

- Søren

--
You received this message because you are subscribed to the Google
Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to sage-devel+...@googlegroups.com.
To post to this group, send email to sage-...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google
Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to sage-devel+...@googlegroups.com.
To post to this group, send email to sage-...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.





--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to