There could of course be some point to cooking up a new implementation from scratch, but if I were to do it, I'd probably just wrap this library <https://github.com/jeanluct/braidlab/tree/master/extern/trains> (note that main() in train.cpp needs a few changes to be run ad hoc, but I've had some good use out of it already).
Den søndag den 9. august 2015 kl. 13.02.32 UTC+2 skrev mmarco: > > 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.