The Coloured Jones Polynomials: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
No edit summary
m (Reverted edits by RicorNorac (Talk); changed back to last version by Scott)
 
(14 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Manual TOC Sidebar}}
{{Manual TOC Sidebar}}


<code>KnotTheory`</code> can compute the coloured Jones polynomial of braid
<code>KnotTheory`</code> can compute the coloured Jones polynomial of knots and links, using the formulas in {{ref|Garoufalidis Le}}:
closures, using the same formulas as in {{ref|Garoufalidis Le}}:


{{Startup Note}}
{{Startup Note}}
<!--$$?ColouredJones$$-->
<!--$$?ColouredJones$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{HelpAndAbout|
{{HelpAndAbout1|n=2|s=ColouredJones}}
n = 2 |
ColouredJones[br, n][q] computes the coloured Jones polynomial of the closure of the braid br in colour n (i.e., in the (n+1)-dimensional representation) and with respect to the variable q. ColouredJones[K, n][q] does the same for knots for which a braid representative is known to this program.
n1 = 3 |
{{HelpAndAbout2|n=3|s=ColouredJones}}
in = <nowiki>ColouredJones</nowiki> |
The ColouredJones program was written jointly with Stavros Garoufalidis, based on formulas provided to us by Thang Le.
out= <nowiki>ColouredJones[K, n][q] returns the coloured Jones polynomial of a knot in colour n (i.e., in the (n+1)-dimensional representation) in the indeterminate q. Some of these polynomials have been precomputed in KnotTheory`. To force computation, use ColouredJones[K,n, Program -> "prog"][q], with "prog" replaced by one of the two available programs, "REngine" or "Braid" (including the quotes). "REngine" (default) computes the invariant for closed knots (as well as links where all components are coloured by the same integer) directly from the MorseLink presentation of the knot, while "Braid" computes the invariant via a presentation of the knot as a braid closure. "REngine" will usually be faster, but it might be better to use "Braid" when (roughly): 1) a "good" braid representative is available for the knot, and 2) the length of this braid is less than the maximum width of the MorseLink presentation of the knot.</nowiki> |
{{HelpAndAbout3}}
about= <nowiki>The "REngine" algorithm was written by Siddarth Sankaran in the summer of 2005, while the "Braid" algorithm was written jointly by Dror Bar-Natan and Stavros Garoufalidis. Both are based on formulas by Thang Le and Stavros Garoufalidis; see [Garoufalidis, S. and Le, T. "The coloured Jones function is q-holonomic." Geom. Top., v9, 2005 (1253-1293)].</nowiki>}}
<!--END-->
<!--END-->


Line 18: Line 18:


<!--$$ColouredJones[Knot[4, 1], 3][q]$$-->
<!--$$ColouredJones[Knot[4, 1], 3][q]$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{InOut1|n=4}}
{{InOut|
n = 4 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>ColouredJones[Knot[4, 1], 3][q]</nowiki></pre>
in = <nowiki>ColouredJones[Knot[4, 1], 3][q]</nowiki> |
{{InOut2|n=4}}<pre style="border: 0px; padding: 0em"><nowiki> -12 -11 -10 2 2 3 3 2 4 6 8 10 11 12
3 + q - q - q + -- - -- + -- - -- - 3 q + 3 q - 2 q + 2 q - q - q + q
out= <nowiki> -12 -11 -10 2 2 3 3 2 4 6
3 + q - q - q + -- - -- + -- - -- - 3 q + 3 q - 2 q +
8 6 4 2
8 6 4 2
q q q q</nowiki></pre>
q q q q
{{InOut3}}
8 10 11 12
2 q - q - q + q</nowiki>}}
<!--END-->
<!--END-->


Line 33: Line 36:


<!--$$ColouredJones[Knot[4, 1], 1][q]$$-->
<!--$$ColouredJones[Knot[4, 1], 1][q]$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{InOut1|n=5}}
{{InOut|
n = 5 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>ColouredJones[Knot[4, 1], 1][q]</nowiki></pre>
in = <nowiki>ColouredJones[Knot[4, 1], 1][q]</nowiki> |
{{InOut2|n=5}}<pre style="border: 0px; padding: 0em"><nowiki> -2 1 2
out= <nowiki> -2 1 2
1 + q - - - q + q
1 + q - - - q + q
q</nowiki></pre>
q</nowiki>}}
{{InOut3}}
<!--END-->
<!--END-->


<!--$$Jones[Knot[4, 1]][q]$$-->
<!--$$Jones[Knot[4, 1]][q]$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{InOut1|n=6}}
{{InOut|
n = 6 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>Jones[Knot[4, 1]][q]</nowiki></pre>
in = <nowiki>Jones[Knot[4, 1]][q]</nowiki> |
{{InOut2|n=6}}<pre style="border: 0px; padding: 0em"><nowiki> -2 1 2
out= <nowiki> -2 1 2
1 + q - - - q + q
1 + q - - - q + q
q</nowiki></pre>
q</nowiki>}}
{{InOut3}}
<!--END-->
<!--END-->

{{Knot Image Pair|4_1|gif|3_1|gif}}


<!--$$?CJ`Summand$$-->
<!--$$?CJ`Summand$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{HelpLine|
{{Help1|n=7|s=CJ`Summand}}
n = 7 |
CJ`Summand[br, n] returned a pair {s, vars} where s is the summand in the the big sum that makes up ColouredJones[br, n][q] and where vars is the list of variables that need to be summed over (from 0 to n) to get ColouredJones[br, n][q]. CJ`Summand[K, n] is the same for knots for which a braid representative is known to this program.
in = <nowiki>CJ`Summand</nowiki> |
{{Help2}}
out= <nowiki>CJ`Summand[br, n] returned a pair {s, vars} where s is the summand in the the big sum that makes up ColouredJones[br, n][q] and where vars is the list of variables that need to be summed over (from 0 to n) to get ColouredJones[br, n][q]. CJ`Summand[K, n] is the same for knots for which a braid representative is known to this program.</nowiki>}}
<!--END-->
<!--END-->


Line 62: Line 68:


<!--$$s = CJ`Summand[Mirror[Knot[3, 1]], n]$$-->
<!--$$s = CJ`Summand[Mirror[Knot[3, 1]], n]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 8 |
in = <nowiki>s = CJ`Summand[Mirror[Knot[3, 1]], n]</nowiki> |
out= <nowiki> (3 n)/2 + n CJ`k[1] + (-n + 2 CJ`k[1])/2 1
{CJ`q qBinomial[0, 0, ----]
CJ`q
1 1
qBinomial[CJ`k[1], 0, ----] qBinomial[CJ`k[1], CJ`k[1], ----]
CJ`q CJ`q
n 1 n 1
qPochhammer[CJ`q , ----, 0] qPochhammer[CJ`q , ----, CJ`k[1]]
CJ`q CJ`q
n - CJ`k[1] 1
qPochhammer[CJ`q , ----, 0], {CJ`k[1]}}
CJ`q</nowiki>}}
<!--END-->
<!--END-->


Line 67: Line 92:


<!--$$?qPochhammer$$-->
<!--$$?qPochhammer$$-->
<!--Robot Land, no human edits to "END"-->
{{HelpLine|
n = 9 |
in = <nowiki>qPochhammer</nowiki> |
out= <nowiki>qPochhammer[a, q, k] represents the q-shifted factorial of a in base q with index k. See Eric Weisstein's
http://mathworld.wolfram.com/q-PochhammerSymbol.html and Axel Riese's
www.risc.uni-linz.ac.at/research/combinat/risc/software/qMultiSum/</nowiki>}}
<!--END-->
<!--END-->


<!--$$?qBinomial$$-->
<!--$$?qBinomial$$-->
<!--Robot Land, no human edits to "END"-->
{{HelpLine|
n = 10 |
in = <nowiki>qBinomial</nowiki> |
out= <nowiki>qBinomial[n, k, q] represents the q-binomial coefficient of n and k in base q. For k<0 it is 0; otherwise it is
qPochhammer[q^(n-k+1), q, k] / qPochhammer[q, q, k].</nowiki>}}
<!--END-->
<!--END-->


Line 80: Line 118:
</math></center>
</math></center>


and <code>qBinomial[n, k, q]</math> is
and <code>qBinomial[n, k, q]</code> is


<center><math>
<center><math>
Line 90: Line 128:
0 & k<0.
0 & k<0.
\end{cases}
\end{cases}
</math</center>
</math></center>


The function <code>qExpand</code> replaces every occurence of a <code>qPochhammer[a, q, k]</code>
The function <code>qExpand</code> replaces every occurence of a <code>qPochhammer[a, q, k]</code>
symbol or a <code>qBinomial[n, k, q]</math> symbol by its definition:
symbol or a <code>qBinomial[n, k, q]</code> symbol by its definition:


<!--$$?qExpand$$-->
<!--$$?qExpand$$-->
<!--Robot Land, no human edits to "END"-->
{{HelpLine|
n = 11 |
in = <nowiki>qExpand</nowiki> |
out= <nowiki>qExpand[expr_] replaces all occurences of qPochhammer and qBinomial in expr by their definitions as products. See the documentation for qPochhammer and for qBinomial for details.</nowiki>}}
<!--END-->
<!--END-->


Line 101: Line 144:


<!--$$qPochhammer[a, q, 6] // qExpand$$-->
<!--$$qPochhammer[a, q, 6] // qExpand$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 12 |
in = <nowiki>qPochhammer[a, q, 6] // qExpand</nowiki> |
out= <nowiki> 2 3 4 5
(-1 + a) (-1 + a q) (-1 + a q ) (-1 + a q ) (-1 + a q ) (-1 + a q )</nowiki>}}
<!--END-->
<!--END-->


<!--$$First[s] /. {n -> 3, CJ`k[1] -> 2} // qExpand$$-->
<!--$$First[s] /. {n -> 3, CJ`k[1] -> 2} // qExpand$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 13 |
in = <nowiki>First[s] /. {n -> 3, CJ`k[1] -> 2} // qExpand</nowiki> |
out= <nowiki> 11 2 3
CJ`q (-1 + CJ`q ) (-1 + CJ`q )</nowiki>}}
<!--END-->
<!--END-->


Line 111: Line 166:


<!--$$?ColoredJones$$-->
<!--$$?ColoredJones$$-->
<!--Robot Land, no human edits to "END"-->
{{HelpLine|
n = 14 |
in = <nowiki>ColoredJones</nowiki> |
out= <nowiki>Type ColoredJones and see for yourself.</nowiki>}}
<!--END-->
<!--END-->



Latest revision as of 22:17, 27 May 2009


KnotTheory` can compute the coloured Jones polynomial of knots and links, using the formulas in [Garoufalidis Le]:

(For In[1] see Setup)

In[2]:= ?ColouredJones
ColouredJones[K, n][q] returns the coloured Jones polynomial of a knot in colour n (i.e., in the (n+1)-dimensional representation) in the indeterminate q. Some of these polynomials have been precomputed in KnotTheory`. To force computation, use ColouredJones[K,n, Program -> "prog"][q], with "prog" replaced by one of the two available programs, "REngine" or "Braid" (including the quotes). "REngine" (default) computes the invariant for closed knots (as well as links where all components are coloured by the same integer) directly from the MorseLink presentation of the knot, while "Braid" computes the invariant via a presentation of the knot as a braid closure. "REngine" will usually be faster, but it might be better to use "Braid" when (roughly): 1) a "good" braid representative is available for the knot, and 2) the length of this braid is less than the maximum width of the MorseLink presentation of the knot.
In[3]:= ColouredJones::about
The "REngine" algorithm was written by Siddarth Sankaran in the summer of 2005, while the "Braid" algorithm was written jointly by Dror Bar-Natan and Stavros Garoufalidis. Both are based on formulas by Thang Le and Stavros Garoufalidis; see [Garoufalidis, S. and Le, T. "The coloured Jones function is q-holonomic." Geom. Top., v9, 2005 (1253-1293)].

Thus, for example, here's the coloured Jones polynomial of the knot 4_1 in the 4-dimensional representation of :

In[4]:= ColouredJones[Knot[4, 1], 3][q]
Out[4]= -12 -11 -10 2 2 3 3 2 4 6 3 + q - q - q + -- - -- + -- - -- - 3 q + 3 q - 2 q + 8 6 4 2 q q q q 8 10 11 12 2 q - q - q + q

And here's the coloured Jones polynomial of the same knot in the two dimensional representation of ; this better be equal to the ordinary Jones polynomial of 4_1!

In[5]:= ColouredJones[Knot[4, 1], 1][q]
Out[5]= -2 1 2 1 + q - - - q + q q
In[6]:= Jones[Knot[4, 1]][q]
Out[6]= -2 1 2 1 + q - - - q + q q
4 1.gif
4_1
3 1.gif
3_1
In[7]:= ?CJ`Summand
CJ`Summand[br, n] returned a pair {s, vars} where s is the summand in the the big sum that makes up ColouredJones[br, n][q] and where vars is the list of variables that need to be summed over (from 0 to n) to get ColouredJones[br, n][q]. CJ`Summand[K, n] is the same for knots for which a braid representative is known to this program.

The coloured Jones polynomial of 3_1 is computed via a single summation. Indeed,

In[8]:= s = CJ`Summand[Mirror[Knot[3, 1]], n]
Out[8]= (3 n)/2 + n CJ`k[1] + (-n + 2 CJ`k[1])/2 1 {CJ`q qBinomial[0, 0, ----] CJ`q 1 1 qBinomial[CJ`k[1], 0, ----] qBinomial[CJ`k[1], CJ`k[1], ----] CJ`q CJ`q n 1 n 1 qPochhammer[CJ`q , ----, 0] qPochhammer[CJ`q , ----, CJ`k[1]] CJ`q CJ`q n - CJ`k[1] 1 qPochhammer[CJ`q , ----, 0], {CJ`k[1]}} CJ`q

The symbols in the above formula require a definition:

In[9]:= ?qPochhammer
qPochhammer[a, q, k] represents the q-shifted factorial of a in base q with index k. See Eric Weisstein's http://mathworld.wolfram.com/q-PochhammerSymbol.html and Axel Riese's www.risc.uni-linz.ac.at/research/combinat/risc/software/qMultiSum/
In[10]:= ?qBinomial
qBinomial[n, k, q] represents the q-binomial coefficient of n and k in base q. For k<0 it is 0; otherwise it is qPochhammer[q^(n-k+1), q, k] / qPochhammer[q, q, k].

More precisely, qPochhammer[a, q, k] is

and qBinomial[n, k, q] is

The function qExpand replaces every occurence of a qPochhammer[a, q, k] symbol or a qBinomial[n, k, q] symbol by its definition:

In[11]:= ?qExpand
qExpand[expr_] replaces all occurences of qPochhammer and qBinomial in expr by their definitions as products. See the documentation for qPochhammer and for qBinomial for details.

Hence,

In[12]:= qPochhammer[a, q, 6] // qExpand
Out[12]= 2 3 4 5 (-1 + a) (-1 + a q) (-1 + a q ) (-1 + a q ) (-1 + a q ) (-1 + a q )
In[13]:= First[s] /. {n -> 3, CJ`k[1] -> 2} // qExpand
Out[13]= 11 2 3 CJ`q (-1 + CJ`q ) (-1 + CJ`q )

Finally,


In[14]:= ?ColoredJones
Type ColoredJones and see for yourself.

[Garoufalidis Le] ^  S. Garoufalidis and T. Q. T. Le, The Colored Jones Function is -Holonomic, Georgia Institute of Technology preprint, September 2003, arXiv:math.GT/0309214.