The Jones Polynomial: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
No edit summary
No edit summary
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Manual TOC Sidebar}}
[http://xionny.cn/topic/the-dragon/ the dragon] [http://joperan.org/data/l-altra/ l altra africa] [http://svike.info/view/new/dilara-mpeg.htm dilara mpeg] [http://funkall.us/images/small/dvx-s/ dvx s120 yamaha] [http://veggis.org.cn/resources/articles/metro.htm metro] [http://svike.info/view/new/ragazza-aosta.htm ragazza aosta] [http://funkall.us/images/small/que-fuera/ que fuera silvio rodriguez] [http://polex.com.cn/resources/articles/io-e.htm io e monica setta] [http://wedner.info/content/view/epson-.htm epson - perfection 4180 photo] [http://svike.info/view/new/bobbi-eden.htm bobbi eden] [http://sneck.info/data/modem-usb/ modem usb analogico] [http://klohy.info/img/styles/efs-mm.htm ef-s 10-22mm] [http://klohy.info/img/styles/supporto-per.htm supporto per plasma] [http://budget7i.info/lib/ddr-pc/ ddr pc2700 a 333mhz] [http://veggis.org.cn/resources/articles/varenne.htm varenne] [http://sneck.info/data/toxicity-sistem/ toxicity sistem of a down] [http://joperan.org/data/niht/ niht] [http://polex.com.cn/resources/articles/incontri-con.htm incontri con numero di telefono] [http://joperan.org/data/uno-della/ uno della montagna] [http://manoke.cn/topic/gatto-molto/ gatto molto] [http://primonona.info/content/view/proview-monitor/ proview monitor lcd] [http://funkall.us/images/small/starship-ranger/ starship ranger] [http://veggis.org.cn/resources/articles/federico-.htm federico 2 medicina napoli] [http://sneck.info/data/michael-baxandall/ michael baxandall] [http://funkall.us/images/small/pipina/ pipina] [http://veggis.org.cn/resources/articles/femmene-salemme.htm femmene salemme] [http://budget7i.info/lib/smart-card/ smart card reader] [http://soler.net.cn/data/campania-napoletana.htm campania napoletana] [http://sneck.info/data/capodanno-in/ capodanno in pullman] [http://veggis.org.cn/resources/articles/foto-di.htm foto di donne brasiliane] [http://svike.info/view/new/convertitore-mp.htm convertitore mp3 a mid] [http://manoke.cn/topic/i-pal/ i pal tivoli] [http://wedner.info/content/view/quotazione-computer.htm quotazione computer usato] [http://primonona.info/content/view/the-nugget/ the nugget] [http://klohy.info/img/styles/beatles-imagine.htm beatles imagine] [http://klohy.info/img/styles/canna-surf.htm canna surf casting] [http://klohy.info/img/styles/suonerie-e.htm suonerie e suonerie] [http://sneck.info/data/aftherhours/ aftherhours] [http://manoke.cn/topic/dove/ dove] [http://sneck.info/data/francesca-neri/ francesca neri] [http://veggis.org.cn/resources/articles/lisseth.htm lisseth] [http://xionny.cn/topic/tv-/ tv 26 lcd philips] [http://wedner.info/content/view/sneakers-tela.htm sneakers tela] [http://soler.net.cn/data/men-con.htm men con grossi cazzi] [http://primonona.info/content/view/netgear-pcmcia/ netgear pcmcia] [http://xionny.cn/topic/onto/ onto-] [http://veggis.org.cn/resources/articles/router-con.htm router con modem adsl] [http://joperan.org/data/iomega-hard/ iomega hard disk drive] [http://soler.net.cn/data/acquistare-in.htm acquistare in internet] [http://manoke.cn/topic/dosatore-latte/ dosatore latte] [http://funkall.us/images/small/sud-carolina/ sud carolina ristorante] [http://manoke.cn/topic/gli-orsi/ gli orsi vanno in giappone] [http://soler.net.cn/data/archeologia-a.htm archeologia a perugia] [http://primonona.info/content/view/gps-windows/ gps windows ce] [http://manoke.cn/topic/free-sesso/ free sesso] [http://sneck.info/data/in-wind/ in wind] [http://budget7i.info/lib/sara-perche/ sara perche ti amo ricchi e poveri] [http://soler.net.cn/data/bmw-.htm bmw 320 blu cabrio] [http://veggis.org.cn/resources/articles/nike-calcetto.htm nike calcetto pace vapor] [http://sneck.info/data/cerco-donna/ cerco donna matura vogliosa] [http://joperan.org/data/volvo-/ volvo c70 2.4 t] [http://joperan.org/data/toner-konica/ toner konica minolta 1300] [http://manoke.cn/topic/sony-dvd/ sony dvd 92e] [http://wedner.info/content/view/party-to.htm party to] [http://manoke.cn/topic/meyday/ meyday] [http://budget7i.info/lib/usb-/ usb 2 pcmcia] [http://soler.net.cn/data/michelle-veith.htm michelle veith video] [http://veggis.org.cn/resources/articles/maria-remi.htm maria remi] [http://manoke.cn/topic/ydra/ ydra] [http://joperan.org/data/spy-collection/ spy collection] [http://soler.net.cn/data/hotel-da.htm hotel da verrazzano] [http://soler.net.cn/data/settemari-it.htm settemari it] [http://manoke.cn/topic/asus-socket/ asus socket 939] [http://polex.com.cn/resources/articles/combo-lettori.htm combo lettori dvd lg] [http://soler.net.cn/data/niente-special.htm niente special edition per the island] [http://sneck.info/data/game-boy/ game boy pokemon] [http://budget7i.info/lib/oakley-iridium/ oakley iridium] [http://xionny.cn/topic/novaja-zemlja/ novaja zemlja] [http://soler.net.cn/data/www-kazaa.htm www kazaa it] [http://primonona.info/content/view/butterfly-bubble/ butterfly bubble] [http://xionny.cn/topic/wellness-isernia/ wellness isernia] [http://polex.com.cn/resources/articles/cartoline-persone.htm cartoline persone vecchie] [http://funkall.us/images/small/cinema-emiro/ cinema emiro] [http://polex.com.cn/resources/articles/madame-claude.htm madame claude n. 3] [http://manoke.cn/topic/anello-solitario/ anello solitario] [http://klohy.info/img/styles/lisola-del.htm lisola del sogno - amori e canzoni] [http://klohy.info/img/styles/hotel-villa.htm hotel villa eden] [http://xionny.cn/topic/radio-sonnenschein/ radio sonnenschein] [http://funkall.us/images/small/niurka-y/ niurka y boby] [http://soler.net.cn/data/vacanze-madagascar.htm vacanze madagascar] [http://primonona.info/content/view/blast/ blast] [http://joperan.org/data/dance/ dance 1990] [http://klohy.info/img/styles/uzbeki.htm uzbeki] [http://wedner.info/content/view/tefal-tritatutto.htm tefal tritatutto] [http://veggis.org.cn/resources/articles/www-anna.htm www anna frank org] [http://xionny.cn/topic/mp-x/ mp3 x5 60gb] [http://budget7i.info/lib/www-oficina/ www oficina g3 com br] [http://soler.net.cn/data/mp-americano.htm mp3 americano decapitato] [http://joperan.org/data/www-life/ www life electronics com] [http://budget7i.info/lib/furioso-polka/ furioso polka] [http://xionny.cn/topic/www-dircon/ www dircon com] [http://wedner.info/content/view/fotocamera-mpx.htm fotocamera mpx] [http://sneck.info/data/fay-william/ fay, william george] [http://sneck.info/data/auto-noleggio/ auto noleggio gubbio] [http://primonona.info/content/view/bisex-uomo/ bisex uomo marche] [http://svike.info/view/new/harry-potter.htm harry potter calice fuoco] [http://funkall.us/images/small/e-in/ e in rete il primo trailer di metal gear acid] [http://primonona.info/content/view/di-logica/ di logica] [http://budget7i.info/lib/asus-barebone/ asus barebone terminator] [http://polex.com.cn/resources/articles/cartuccia-getto.htm cartuccia getto d inchiostro] [http://xionny.cn/topic/cine-box/ cine box hex keys] [http://funkall.us/images/small/giunti-cardanici/ giunti cardanici] [http://soler.net.cn/data/il-gioco.htm il gioco sudoku] [http://sneck.info/data/cd-illusioni/ cd illusioni parallele] [http://soler.net.cn/data/soldato-decapitato.htm soldato decapitato in iraq] [http://svike.info/view/new/lavatrici-.htm lavatrici 3 kg] [http://svike.info/view/new/ragazza-hannover.htm ragazza hannover] [http://wedner.info/content/view/repubblia.htm repubblia] [http://funkall.us/images/small/www-angela/ www angela grande fratello3 it] [http://primonona.info/content/view/me-namora/ me namora] [http://manoke.cn/topic/www-francesco/ www francesco renga] [http://klohy.info/img/styles/giggio.htm giggio] [http://soler.net.cn/data/televisori-lcd.htm televisori lcd hyundai l17t] [http://sneck.info/data/amd-atlon/ amd atlon 64] [http://funkall.us/images/small/dfi-lanparty/ dfi lanparty sli-d] [http://veggis.org.cn/resources/articles/brigante-musolino.htm brigante musolino] [http://wedner.info/content/view/jevoulais.htm jevoulais] [http://budget7i.info/lib/colin-monteath/ colin monteath] [http://xionny.cn/topic/hp-color/ hp color laserjet 3550] [http://svike.info/view/new/viersen.htm viersen] [http://wedner.info/content/view/c.htm c2 1 1 2003] [http://funkall.us/images/small/l-avventura/ l avventura magica] [http://klohy.info/img/styles/farmaci.htm farmaci] [http://funkall.us/images/small/lo-scandalo/ lo scandalo] [http://klohy.info/img/styles/treniitalia-it.htm treniitalia it] [http://klohy.info/img/styles/altec-lansing.htm altec lansing im4] [http://funkall.us/images/small/notebook-toshiba/ notebook toshiba sa60] [http://polex.com.cn/resources/articles/microsoft-mouse.htm microsoft mouse ottico wireless tastiera] [http://soler.net.cn/data/luv.htm luv] [http://sneck.info/data/fumo-tanta/ fumo tanta erba testo] [http://budget7i.info/lib/box-cani/ box cani] [http://sneck.info/data/carmen-consolle/ carmen consolle] [http://wedner.info/content/view/donna-cerca.htm donna cerca uomo] [http://svike.info/view/new/panasonic.htm panasonic 36] [http://veggis.org.cn/resources/articles/alnus.htm alnus] [http://manoke.cn/topic/que-vuelva/ que vuelva] [http://soler.net.cn/data/keyboard-palmari.htm keyboard palmari] [http://xionny.cn/topic/matrox-x/ matrox x100] [http://joperan.org/data/monitor-tft/ monitor tft nero] [http://sneck.info/data/jim-il/ jim il primo] [http://polex.com.cn/resources/articles/preparare-auto.htm preparare auto da rally] [http://sneck.info/data/squirting-pussy/ squirting pussy] [http://polex.com.cn/resources/articles/soli-nel.htm soli nel buio] [http://budget7i.info/lib/tiziana-pini/ tiziana pini] [http://klohy.info/img/styles/finanziamento-cesena.htm finanziamento cesena] [http://budget7i.info/lib/frammenti-di/ frammenti di paura] [http://budget7i.info/lib/teac-ar/ teac a-r600] [http://primonona.info/content/view/file-seca/ file seca wafercard] [http://xionny.cn/topic/www-trenitali/ www trenitali com] [http://soler.net.cn/data/commercio-equo.htm commercio equo solidale] [http://wedner.info/content/view/www-comune.htm www comune argenta fe it] [http://veggis.org.cn/resources/articles/muvrini.htm muvrini] [http://klohy.info/img/styles/dickens-photos.htm dickens photos] [http://svike.info/view/new/pluriball.htm pluriball] [http://klohy.info/img/styles/gobbo-di.htm gobbo di notre dame] [http://klohy.info/img/styles/tha-dead.htm tha dead case] [http://soler.net.cn/data/pescia.htm pescia] [http://primonona.info/content/view/tu-sei/ tu sei l unica donna per me] [http://soler.net.cn/data/sostitutivi-pasto.htm sostitutivi pasto] [http://funkall.us/images/small/la-frusta/ la frusta di fuoco] [http://klohy.info/img/styles/cd-dvd.htm cd dvd stampanti a sublimazione] [http://soler.net.cn/data/kilitbahir.htm kilitbahir] [http://klohy.info/img/styles/angela-.htm angela - il suo unico peccato era lamore...] [http://manoke.cn/topic/sony-zeiss/ sony zeiss] [http://budget7i.info/lib/erbe/ erbe] [http://manoke.cn/topic/inni-e/ inni e cori] [http://budget7i.info/lib/chi-fa/ chi fa pompini gratis] [http://budget7i.info/lib/everytime-we/ everytime we touch] [http://funkall.us/images/small/ferrari-/ ferrari 3400 acer portatili] [http://klohy.info/img/styles/la-notte.htm la notte se ne va] [http://klohy.info/img/styles/buoni-e.htm buoni e cattivi] [http://wedner.info/content/view/agp-x.htm agp 4x] [http://primonona.info/content/view/cannes-beach/ cannes beach residence] [http://veggis.org.cn/resources/articles/monitor-l.htm monitor l768] [http://veggis.org.cn/resources/articles/ian-fleming.htm ian fleming] [http://xionny.cn/topic/richard-widmark/ richard widmark] [http://primonona.info/content/view/tv-lcd/ tv lcd portatile] [http://klohy.info/img/styles/scarica-emule.htm scarica emule] [http://svike.info/view/new/epson-.htm epson 4000 rip professional] [http://wedner.info/content/view/cerco-chow.htm cerco chow chow] [http://budget7i.info/lib/video-a/ video a chi dice] [http://manoke.cn/topic/casa-di/ casa di] [http://joperan.org/data/www-comune/ www comune di ardea it] [http://svike.info/view/new/trans-campania.htm trans campania] [http://budget7i.info/lib/la-villanella/ la villanella] [http://manoke.cn/topic/armani-lei/ armani lei profumo] [http://wedner.info/content/view/dactrung-com.htm dactrung com] [http://joperan.org/data/she-weel/ she weel be love] [http://xionny.cn/topic/insegna-a/ insegna a led] [http://sneck.info/data/ix/ ix 30] {{Manual TOC Sidebar}}


{{Startup Note}}
{{Startup Note}}
Line 19: Line 19:
in = <nowiki>Jones[Knot[6, 1]][q]</nowiki> |
in = <nowiki>Jones[Knot[6, 1]][q]</nowiki> |
out= <nowiki> -4 -3 -2 2 2
out= <nowiki> -4 -3 -2 2 2
2 q - q q - - - q q
2 + q - q + q - - - q + q
q</nowiki>}}
q</nowiki>}}
<!--END-->
<!--END-->
Line 29: Line 29:
in = <nowiki>Jones[Knot[9, 46]][q]</nowiki> |
in = <nowiki>Jones[Knot[9, 46]][q]</nowiki> |
out= <nowiki> -6 -5 -4 2 -2 1
out= <nowiki> -6 -5 -4 2 -2 1
2 q - q q - -- q - -
2 + q - q + q - -- + q - -
3 q
3 q
q</nowiki>}}
q</nowiki>}}
Line 44: Line 44:
in = <nowiki>Jones[Link[8, Alternating, 6]][q]</nowiki> |
in = <nowiki>Jones[Link[8, Alternating, 6]][q]</nowiki> |
out= <nowiki> -(9/2) -(7/2) 3 3 4 3/2
out= <nowiki> -(9/2) -(7/2) 3 3 4 3/2
-q q - ---- ---- - ------- 3 Sqrt[q] - 2 q
-q + q - ---- + ---- - ------- + 3 Sqrt[q] - 2 q +
5/2 3/2 Sqrt[q]
5/2 3/2 Sqrt[q]
q q
q q
Line 58: Line 58:
in = <nowiki>PowerExpand[Jones[Link[8, Alternating, 6]][t^2]]</nowiki> |
in = <nowiki>PowerExpand[Jones[Link[8, Alternating, 6]][t^2]]</nowiki> |
out= <nowiki> -9 -7 3 3 4 3 5 7
out= <nowiki> -9 -7 3 3 4 3 5 7
-t t - -- -- - - 3 t - 2 t 2 t - t
-t + t - -- + -- - - + 3 t - 2 t + 2 t - t
5 3 t
5 3 t
t t</nowiki>}}
t t</nowiki>}}
<!--END-->
<!--END-->


The Jones polynomial attains <!--$all=Join[AllKnots[], AllLinks[]]; Length[Union[Jones[#][q]
The Jones polynomial attains <!--$all=Join[AllKnots[], AllLinks[]]; Length[Union[Jones[#][q]& /@ all]]$--><!--Robot Land, no human edits to "END"-->2110<!--END--> values on the <!--$Length[all]$--><!--Robot Land, no human edits to "END"-->2226<!--END--> knots and links known to <code>KnotTheory`</code>:

<!--$$all = Join[AllKnots[], AllLinks[]];$$-->
<!--Robot Land, no human edits to "END"-->
{{In|
n = 7 |
in = <nowiki>all = Join[AllKnots[], AllLinks[]];</nowiki>}}
<!--END-->

<!--$$Length /@ {Union[Jones[#][q]& /@ all], all}$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 8 |
in = <nowiki>Length /@ {Union[Jones[#][q]& /@ all], all}</nowiki> |
out= <nowiki>{2110, 2226}</nowiki>}}
<!--END-->

<span id="How is the Jones polynomial computed?">
====How is the Jones polynomial computed?====
</span>

(See also: [[The Kauffman Bracket using Haskell]])

The Jones polynomial is so simple to compute using Mathematica that it's worthwhile pause and see how this is done, even for readers with limited prior programming experience. First, recall (say from {{ref|Kauffman}}) the definition of the Jones polynomial using the Kauffman bracket <math>\langle\cdot\rangle</math>:

{{Equation|KBDef|<math>
\langle\emptyset\rangle=1; \qquad
\langle\bigcirc L\rangle = (-A^2-B^2)\langle L\rangle; \qquad
\langle\slashoverback\rangle =
A\langle\hsmoothing\rangle + B\langle\smoothing\rangle;
</math>}}

<center><math> J(L) =
\left.(-A^3)^{w(L)}\frac{\langle L\rangle}{\langle\bigcirc\rangle}\right|_{A\to q^{1/4}},
</math></center>

here <math>A</math> is a commutative variable, <math>B=A^{-1}</math>, and <math>w(L)</math> is the ''writhe'' of <math>L</math>, the difference <math>n_+-n_-</math> where <math>n_+</math> and <math>n_-</math> count the positive <math>(\overcrossing)</math> and negative <math>(\undercrossing)</math> crossings of <math>L</math> respectively.

<center>[[Image:PDForTrefoil.gif|none|frame|<tt><nowiki>PD[X[1,4,2,5], X[3,6,4,1], X[5,2,6,3]]</nowiki></tt> and <tt>P[1,4] P[1,5] P[2,4] P[2,6] P[3,5] P[3,6]</tt>]]</center>

Just for concreteness, let us start by fixing <math>L</math> to be the trefoil knot shown above:

<!--$$L = PD[Knot[3, 1]]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 9 |
in = <nowiki>L = PD[Knot[3, 1]]</nowiki> |
out= <nowiki>PD[X[1, 4, 2, 5], X[3, 6, 4, 1], X[5, 2, 6, 3]]</nowiki>}}
<!--END-->

Our first task is to perform the replacement <math>\langle\slashoverback\rangle\to A\langle\hsmoothing\rangle + B\langle\smoothing\rangle</math> on all crossings of
<math>L</math>. By our conventions (see [[Planar Diagrams]]) the edges
around a crossing <math>X_{abcd}</math> are labeled <math>a</math>, <math>b</math>, <math>c</math> and <math>d</math>: <math>{}^c_d\slashoverback{}_a^b</math>. Labeling the smoothings <math>(\hsmoothing, \ \smoothing)</math> in the same way, <math>{}^c_d\hsmoothing{}_a^b</math> and <math>{}^c_d\smoothing{}_a^b</math>, we are lead to the symbolic replacement rule <math>X_{abcd}\to AP_{ad}P_{bc}+BP_{ab}P_{cd}</math>. Let us apply this rule to <math>L</math>, switch to a multiplicative notation and expand:

<!--$$t1 = L /. X[a_,b_,c_,d_] :> A P[a,d] P[b,c] + B P[a,b] P[c,d]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 10 |
in = <nowiki>t1 = L /. X[a_,b_,c_,d_] :> A P[a,d] P[b,c] + B P[a,b] P[c,d]</nowiki> |
out= <nowiki>PD[A P[1, 5] P[2, 4] + B P[1, 4] P[2, 5],
B P[1, 4] P[3, 6] + A P[1, 3] P[4, 6],
A P[2, 6] P[3, 5] + B P[2, 5] P[3, 6]]</nowiki>}}
<!--END-->

<!--$$t2 = Expand[Times @@ t1]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 11 |
in = <nowiki>t2 = Expand[Times @@ t1]</nowiki> |
out= <nowiki> 2
A B P[1, 4] P[1, 5] P[2, 4] P[2, 6] P[3, 5] P[3, 6] +
2 2
A B P[1, 4] P[2, 5] P[2, 6] P[3, 5] P[3, 6] +
2 2
A B P[1, 4] P[1, 5] P[2, 4] P[2, 5] P[3, 6] +
3 2 2 2
B P[1, 4] P[2, 5] P[3, 6] +
3
A P[1, 3] P[1, 5] P[2, 4] P[2, 6] P[3, 5] P[4, 6] +
2
A B P[1, 3] P[1, 4] P[2, 5] P[2, 6] P[3, 5] P[4, 6] +
2
A B P[1, 3] P[1, 5] P[2, 4] P[2, 5] P[3, 6] P[4, 6] +
2 2
A B P[1, 3] P[1, 4] P[2, 5] P[3, 6] P[4, 6]</nowiki>}}
<!--END-->

In the above expression the product <tt>P[1,4] P[1,5] P[2,4] P[2,6] P[3,5] P[3,6]</tt> represents a path in which <tt>1</tt> is connected to <tt>4</tt>, <tt>1</tt> is connected to <tt>5</tt>, <tt>2</tt> is connected to <tt>4</tt>, etc. (see the right half of the figure above). We simplify such paths by repeatedly applying the rules <math>P_{ab}P_{bc}\to P_{ac}</math> and <math>P^2_{ab}\to P_{aa}</math>:

<!--$$t3 = t2 //. {P[a_,b_]P[b_,c_] :> P[a,c], P[a_,b_]^2 :> P[a,a]}$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 12 |
in = <nowiki>t3 = t2 //. {P[a_,b_]P[b_,c_] :> P[a,c], P[a_,b_]^2 :> P[a,a]}</nowiki> |
out= <nowiki> 3 2
B P[1, 1] P[2, 2] P[3, 3] + A B P[2, 2] P[4, 4] +
3 2 2
A P[3, 3] P[4, 4] + A B P[3, 3] P[4, 4] + 3 A B P[5, 5] +
2
A B P[1, 1] P[5, 5]</nowiki>}}
<!--END-->

To complete the computation of the Kauffman bracket, all that remains is to replace closed cycles (paths of the form <math>P_{aa}</math> by <math>-A^2-B^2</math>, to replace <math>B</math> by <math>A^{-1}</math>, and to simplify:

<!--$$t4 = Expand[t3 /. P[a_,a_] -> -A^2-B^2 /. B -> 1/A]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 13 |
in = <nowiki>t4 = Expand[t3 /. P[a_,a_] -> -A^2-B^2 /. B -> 1/A]</nowiki> |
out= <nowiki> -9 1 3 7
-A + - + A + A
A</nowiki>}}
<!--END-->

We could have, of course, combined the above four lines to a single very short program, that compues the Kauffman bracket from the beginning to the end:

<!--$$KB0[pd_] := Expand[
Expand[Times @@ pd /. X[a_,b_,c_,d_] :> A P[a,d] P[b,c] + 1/A P[a,b] P[c,d]]
//. {P[a_,b_]P[b_,c_] :> P[a,c], P[a_,b_]^2 :> P[a,a], P[a_,a_] -> -A^2-1/A^2}]$$-->
<!--Robot Land, no human edits to "END"-->
{{In|
n = 14 |
in = <nowiki>KB0[pd_] := Expand[
Expand[Times @@ pd /. X[a_,b_,c_,d_] :> A P[a,d] P[b,c] + 1/A P[a,b] P[c,d]]
//. {P[a_,b_]P[b_,c_] :> P[a,c], P[a_,b_]^2 :> P[a,a], P[a_,a_] -> -A^2-1/A^2}]</nowiki>}}
<!--END-->

<!--$$t4 = KB0[PD[Knot[3, 1]]]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 15 |
in = <nowiki>t4 = KB0[PD[Knot[3, 1]]]</nowiki> |
out= <nowiki> -9 1 3 7
-A + - + A + A
A</nowiki>}}
<!--END-->

We will skip the uninteresting code for the computation of the writhe here; it is a linear time computation, and if that's all we ever wanted to compute, we wouldn't have bothered to purchase a computer. For our <math>L</math> the result is <math>-3</math>, and hence the Jones polynomial of <math>L</math> is given by

<!--$$(-A^3)^(-3) * t4 / (-A^2-1/A^2) /. A -> q^(1/4) // Simplify // Expand$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 16 |
in = <nowiki>(-A^3)^(-3) * t4 / (-A^2-1/A^2) /. A -> q^(1/4) // Simplify // Expand</nowiki> |
out= <nowiki> -4 -3 1
-q + q + -
q</nowiki>}}
<!--END-->

{{Knot Image|L11a548|gif}}

At merely 3 lines of code, our program is surely nice and elegant. But it is very slow:

<!--$$time0 = Timing[KB0[PD[Link[11, Alternating, 548]]]]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 17 |
in = <nowiki>time0 = Timing[KB0[PD[Link[11, Alternating, 548]]]]</nowiki> |
out= <nowiki> -23 5 10 -3 5 13 17 21 25
{1., A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A }
15 7
A A</nowiki>}}
<!--END-->

Here's the much faster alternative employed by <code>KnotTheory`</code>:

<!--$$KB1[pd_PD] := KB1[pd, {}, 1];
KB1[pd_PD, inside_, web_] := Module[
{pos = First[Ordering[Length[Complement[List @@ #, inside]]& /@ pd]]},
pd[[pos]] /. X[a_,b_,c_,d_] :> KB1[
Delete[pd, pos],
Union[inside, {a,b,c,d}],
Expand[web*(A P[a,d] P[b,c]+1/A P[a,b] P[c,d])] //. {
P[e_,f_]P[f_,g_] :> P[e,g], P[e_,_]^2 :> P[e,e], P[e_,e_] -> -A^2-1/A^2
}
]
];
KB1[PD[],_,web_] := Expand[web]$$-->
<!--Robot Land, no human edits to "END"-->
{{In|
n = 18 |
in = <nowiki>KB1[pd_PD] := KB1[pd, {}, 1];
KB1[pd_PD, inside_, web_] := Module[
{pos = First[Ordering[Length[Complement[List @@ #, inside]]& /@ pd]]},
pd[[pos]] /. X[a_,b_,c_,d_] :> KB1[
Delete[pd, pos],
Union[inside, {a,b,c,d}],
Expand[web*(A P[a,d] P[b,c]+1/A P[a,b] P[c,d])] //. {
P[e_,f_]P[f_,g_] :> P[e,g], P[e_,_]^2 :> P[e,e], P[e_,e_] -> -A^2-1/A^2
}
]
];
KB1[PD[],_,web_] := Expand[web]</nowiki>}}
<!--END-->

<!--$$time1 = Timing[KB1[PD[Link[11, Alternating, 548]]]]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 19 |
in = <nowiki>time1 = Timing[KB1[PD[Link[11, Alternating, 548]]]]</nowiki> |
out= <nowiki> -23 5 10 -3 5 13 17 21
{0.015, A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A -
15 7
A A
25
A }</nowiki>}}
<!--END-->

(So on [[L11a548]] <code>KB1</code> is <!--$time0[[1,1]]$--><!--Robot Land, no human edits to "END"--> -23 5 10 -3 5 13 17 21 25
{1., A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A }[[1,1]]
15 7
A A<!--END-->/<!--$time1[[1,1]]$--><!--Robot Land, no human edits to "END"--> -23 5 10 -3 5 13 17 21 25
{0.015, A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A }[[1,1]]
15 7
A A<!--END--> ~ <!--$Round[time0[[1,1]]/time1[[1,1]]]$--><!--Robot Land, no human edits to "END"--> -23 5 10 -3 5 13 17 21 25
{1., A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A }[[1,1]]
15 7
A A
Round[--------------------------------------------------------------------------------]
-23 5 10 -3 5 13 17 21 25
{0.015, A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A }[[1,1]]
15 7
A A<!--END--> times faster than <code>KB0</code>.)

The idea here is to maintain a "computation front", a planar domain
which starts empty and gradualy increases until the whole link diagram is
enclosed. Within the front, the rules defining the Kauffman bracket,
Equation {{Equation Ref|KBDef}}, are applied and the result is expanded as much
as possible. Outside of the front the link diagram remains untouched. At
every step we choose a crossing outside the front with the most legs
inside and "conquer" it -- apply the rules of {{Equation Ref|KBDef}} and
expand again. As our new outpost is maximally connected to our old
territory, the length of the boundary is increased in a minimal way, and
hence the size of the "web" within our front remains as small as
possible and thus quick to manipulate.

In further detail, the routine <code>KB1[pd, inside, web]</code> computes the
Kauffman bracket assuming the labels of the edges inside the front are in
the variable <code>inside</code>, the already-computed inside of the front is in
the variable <code>web</code> and the part of the link diagram yet untouched is
<code>pd</code>. The single argument <code>KB1[pd]</code> simply calls
<code>KB1[pd, inside, web]</code> with an empty <code>inside</code> and with <code>web</code> set to 1. The three argument <code>KB1[pd, inside, web]</code> finds the position of the crossing maximmally connected to the front using the somewhat
cryptic assignment

pos = First[Ordering[Length[Complement[List @@ #, inside]]& /@ pd]]}

<code>KB1[pd, inside, web]</code> then recursively calls
itself with that crossing removed from <code>pd}, with its legs
added to the <code>inside</code>, and with <code>web</code> updated in accordance
with {{Equation Ref|KBDef}}. Finally, when <code>pd</code> is empty, the output is
simply the value of <code>web</code>.

{{note|Kauffman}} L. H. Kauffman, ''On knots'', Princeton Univ. Press, Princeton, 1987.

Latest revision as of 19:53, 8 August 2013


(For In[1] see Setup)

In[2]:= ?Jones
Jones[L][q] computes the Jones polynomial of a knot or link L as a function of the variable q.

In Naming and Enumeration we checked that the knots 6_1 and 9_46 have the same Alexander polynomial. Their Jones polynomials are different, though:

In[3]:= Jones[Knot[6, 1]][q]
Out[3]= -4 -3 -2 2 2 2 + q - q + q - - - q + q q
In[4]:= Jones[Knot[9, 46]][q]
Out[4]= -6 -5 -4 2 -2 1 2 + q - q + q - -- + q - - 3 q q
L8a6.gif
L8a6

On links with an even number of components the Jones polynomial is a function of , and hence it is often more convenient to view it as a function of , where :

In[5]:= Jones[Link[8, Alternating, 6]][q]
Out[5]= -(9/2) -(7/2) 3 3 4 3/2 -q + q - ---- + ---- - ------- + 3 Sqrt[q] - 2 q + 5/2 3/2 Sqrt[q] q q 5/2 7/2 2 q - q
In[6]:= PowerExpand[Jones[Link[8, Alternating, 6]][t^2]]
Out[6]= -9 -7 3 3 4 3 5 7 -t + t - -- + -- - - + 3 t - 2 t + 2 t - t 5 3 t t t

The Jones polynomial attains 2110 values on the 2226 knots and links known to KnotTheory`:

In[7]:= all = Join[AllKnots[], AllLinks[]];
In[8]:= Length /@ {Union[Jones[#][q]& /@ all], all}
Out[8]= {2110, 2226}

How is the Jones polynomial computed?

(See also: The Kauffman Bracket using Haskell)

The Jones polynomial is so simple to compute using Mathematica that it's worthwhile pause and see how this is done, even for readers with limited prior programming experience. First, recall (say from [Kauffman]) the definition of the Jones polynomial using the Kauffman bracket :

[KBDef]
Failed to parse (unknown function "\slashoverback"): {\displaystyle \langle\emptyset\rangle=1; \qquad \langle\bigcirc L\rangle = (-A^2-B^2)\langle L\rangle; \qquad \langle\slashoverback\rangle = A\langle\hsmoothing\rangle + B\langle\smoothing\rangle; }

here is a commutative variable, , and is the writhe of , the difference where and count the positive Failed to parse (unknown function "\overcrossing"): {\displaystyle (\overcrossing)} and negative Failed to parse (unknown function "\undercrossing"): {\displaystyle (\undercrossing)} crossings of respectively.

PD[X[1,4,2,5], X[3,6,4,1], X[5,2,6,3]] and P[1,4] P[1,5] P[2,4] P[2,6] P[3,5] P[3,6]

Just for concreteness, let us start by fixing to be the trefoil knot shown above:

In[9]:= L = PD[Knot[3, 1]]
Out[9]= PD[X[1, 4, 2, 5], X[3, 6, 4, 1], X[5, 2, 6, 3]]

Our first task is to perform the replacement Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \langle\slashoverback\rangle\to A\langle\hsmoothing\rangle + B\langle\smoothing\rangle} on all crossings of . By our conventions (see Planar Diagrams) the edges around a crossing are labeled , , and : Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle {}^c_d\slashoverback{}_a^b} . Labeling the smoothings Failed to parse (unknown function "\hsmoothing"): {\displaystyle (\hsmoothing, \ \smoothing)} in the same way, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle {}^c_d\hsmoothing{}_a^b} and Failed to parse (unknown function "\smoothing"): {\displaystyle {}^c_d\smoothing{}_a^b} , we are lead to the symbolic replacement rule . Let us apply this rule to , switch to a multiplicative notation and expand:

In[10]:= t1 = L /. X[a_,b_,c_,d_] :> A P[a,d] P[b,c] + B P[a,b] P[c,d]
Out[10]= PD[A P[1, 5] P[2, 4] + B P[1, 4] P[2, 5], B P[1, 4] P[3, 6] + A P[1, 3] P[4, 6], A P[2, 6] P[3, 5] + B P[2, 5] P[3, 6]]
In[11]:= t2 = Expand[Times @@ t1]
Out[11]= 2 A B P[1, 4] P[1, 5] P[2, 4] P[2, 6] P[3, 5] P[3, 6] + 2 2 A B P[1, 4] P[2, 5] P[2, 6] P[3, 5] P[3, 6] + 2 2 A B P[1, 4] P[1, 5] P[2, 4] P[2, 5] P[3, 6] + 3 2 2 2 B P[1, 4] P[2, 5] P[3, 6] + 3 A P[1, 3] P[1, 5] P[2, 4] P[2, 6] P[3, 5] P[4, 6] + 2 A B P[1, 3] P[1, 4] P[2, 5] P[2, 6] P[3, 5] P[4, 6] + 2 A B P[1, 3] P[1, 5] P[2, 4] P[2, 5] P[3, 6] P[4, 6] + 2 2 A B P[1, 3] P[1, 4] P[2, 5] P[3, 6] P[4, 6]

In the above expression the product P[1,4] P[1,5] P[2,4] P[2,6] P[3,5] P[3,6] represents a path in which 1 is connected to 4, 1 is connected to 5, 2 is connected to 4, etc. (see the right half of the figure above). We simplify such paths by repeatedly applying the rules and :

In[12]:= t3 = t2 //. {P[a_,b_]P[b_,c_] :> P[a,c], P[a_,b_]^2 :> P[a,a]}
Out[12]= 3 2 B P[1, 1] P[2, 2] P[3, 3] + A B P[2, 2] P[4, 4] + 3 2 2 A P[3, 3] P[4, 4] + A B P[3, 3] P[4, 4] + 3 A B P[5, 5] + 2 A B P[1, 1] P[5, 5]

To complete the computation of the Kauffman bracket, all that remains is to replace closed cycles (paths of the form by , to replace by , and to simplify:

In[13]:= t4 = Expand[t3 /. P[a_,a_] -> -A^2-B^2 /. B -> 1/A]
Out[13]= -9 1 3 7 -A + - + A + A A

We could have, of course, combined the above four lines to a single very short program, that compues the Kauffman bracket from the beginning to the end:

In[14]:= KB0[pd_] := Expand[ Expand[Times @@ pd /. X[a_,b_,c_,d_] :> A P[a,d] P[b,c] + 1/A P[a,b] P[c,d]] //. {P[a_,b_]P[b_,c_] :> P[a,c], P[a_,b_]^2 :> P[a,a], P[a_,a_] -> -A^2-1/A^2}]
In[15]:= t4 = KB0[PD[Knot[3, 1]]]
Out[15]= -9 1 3 7 -A + - + A + A A

We will skip the uninteresting code for the computation of the writhe here; it is a linear time computation, and if that's all we ever wanted to compute, we wouldn't have bothered to purchase a computer. For our the result is , and hence the Jones polynomial of is given by

In[16]:= (-A^3)^(-3) * t4 / (-A^2-1/A^2) /. A -> q^(1/4) // Simplify // Expand
Out[16]= -4 -3 1 -q + q + - q
L11a548.gif
L11a548

At merely 3 lines of code, our program is surely nice and elegant. But it is very slow:

In[17]:= time0 = Timing[KB0[PD[Link[11, Alternating, 548]]]]
Out[17]= -23 5 10 -3 5 13 17 21 25 {1., A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A } 15 7 A A

Here's the much faster alternative employed by KnotTheory`:

In[18]:= KB1[pd_PD] := KB1[pd, {}, 1]; KB1[pd_PD, inside_, web_] := Module[ {pos = First[Ordering[Length[Complement[List @@ #, inside]]& /@ pd]]}, pd[[pos]] /. X[a_,b_,c_,d_] :> KB1[ Delete[pd, pos], Union[inside, {a,b,c,d}], Expand[web*(A P[a,d] P[b,c]+1/A P[a,b] P[c,d])] //. { P[e_,f_]P[f_,g_] :> P[e,g], P[e_,_]^2 :> P[e,e], P[e_,e_] -> -A^2-1/A^2 } ] ]; KB1[PD[],_,web_] := Expand[web]
In[19]:= time1 = Timing[KB1[PD[Link[11, Alternating, 548]]]]
Out[19]= -23 5 10 -3 5 13 17 21 {0.015, A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - 15 7 A A 25 A }

(So on L11a548 KB1 is -23 5 10 -3 5 13 17 21 25 {1., A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A }1,1

            15    7
           A     A/         -23    5    10    -3            5      13      17      21    25

{0.015, A + --- + -- + A + 6 A + 6 A + 5 A - 5 A + 4 A - A }1,1

               15    7
              A     A ~              -23    5    10    -3            5      13      17      21    25
      {1., A    + --- + -- + A   + 6 A + 6 A  + 5 A   - 5 A   + 4 A   - A  }1,1
                   15    7
                  A     A

Round[--------------------------------------------------------------------------------]

              -23    5    10    -3            5      13      17      21    25
     {0.015, A    + --- + -- + A   + 6 A + 6 A  + 5 A   - 5 A   + 4 A   - A  }1,1
                     15    7
                    A     A times faster than KB0.)

The idea here is to maintain a "computation front", a planar domain which starts empty and gradualy increases until the whole link diagram is enclosed. Within the front, the rules defining the Kauffman bracket, Equation [KBDef], are applied and the result is expanded as much as possible. Outside of the front the link diagram remains untouched. At every step we choose a crossing outside the front with the most legs inside and "conquer" it -- apply the rules of [KBDef] and expand again. As our new outpost is maximally connected to our old territory, the length of the boundary is increased in a minimal way, and hence the size of the "web" within our front remains as small as possible and thus quick to manipulate.

In further detail, the routine KB1[pd, inside, web] computes the Kauffman bracket assuming the labels of the edges inside the front are in the variable inside, the already-computed inside of the front is in the variable web and the part of the link diagram yet untouched is pd. The single argument KB1[pd] simply calls KB1[pd, inside, web] with an empty inside and with web set to 1. The three argument KB1[pd, inside, web] finds the position of the crossing maximmally connected to the front using the somewhat cryptic assignment

pos = First[Ordering[Length[Complement[List @@ #, inside]]& /@ pd]]}

KB1[pd, inside, web] then recursively calls itself with that crossing removed from pd}, with its legs added to the inside, and with web updated in accordance with [KBDef]. Finally, when pd is empty, the output is simply the value of web.

[Kauffman] ^  L. H. Kauffman, On knots, Princeton Univ. Press, Princeton, 1987.