Vassiliev Invariants to Degree 6

Pensieve Header: Vassiliev invariants to degree 6, using data files, interface programs, and examples by Petr Dunin-Barkowski of barkovs@itep.ru, Andrey Smirnov of asmirnov@itep.ru, and Alexei Sleptsov of sleptsov@itep.ru.

Loading ...

SetDirectory["C:\\drorbn\\AcademicPensieve\\2010-10"];
<< knotTheory`

BeginPackage["KnotTheory`Vass4Knots`",{"KnotTheory`"}];
VI;
Begin["`Private`"];
Vs=Import["VassilievTo6Data.m"];
nar={0,1,1,3,4,9};
num[n_,i_]:=Module[{j},Return[Sum[nar[[j]],{j,1,n-1}]+i];];
numkn[n_,i_]:=Module[{j},Return[Sum[NumberOfKnots[j],{j,3,n-1}]+i];];
For[n=2,n≤6,n++,For[i=1,i≤nar[[n]],i++,For[k1=3,k1≤14,k1++,For[k2=1,k2≤NumberOfKnots[k1],k2++,VI[n,i,Knot[k1,k2]]=Vs[[numkn[k1,k2],num[n,i]]];]]]];
Clear[Ks,Vs];
End[];EndPackage[]

VI[_,_, Knot[0,1]] = "?";
VI[m_,j_, Knot[n_, Alternating, k_]] := VI[m,j,Knot[n,k]];
VI[m_,j_, Knot[n_, NonAlternating, k_]] := VI[m,j,Knot[n,NumberOfKnots[n, Alternating]+k]];

Total[(4Vassiliev[2][#] == VI[2,1,#])& /@ AllKnots[{3,11}]]

Total[(8Vassiliev[3][#] == VI[3,1,#])& /@ AllKnots[{3,11}]]

{VI[5,2,Knot[14,1]], VI[3,1,Knot[3,1]], Vassiliev[3][Knot[3,1]], VI[3,1,Knot[8,1]], Vassiliev[3][Knot[8,1]]}

Drawing ...

(*"The fish" (i.e. Vassiliev invarian of degree 3 plotted against Vassiliev invariant of degree 2), plotted for all knots up to 14 crossings*)
For[n=3,n≤14,n++,
fish=Join@@Table[
{{VI[2,1,Knot[n,i]],VI[3,1,Knot[n,i]]},{VI[2,1,Knot[n,i]],-VI[3,1,Knot[n,i]]}},{i,NumberOfKnots[n]}];
];
ListPlot[fish,PlotStyle->PointSize[0.004],PlotRange->All,AspectRatio->1] // Rasterize

(*"The horns" (i.e. VI4,2 plotted against VI2,1), plotted for all knots up to 14 crossings*)
For[n=3,n≤14,n++,
horns=Join@@Table[
{{VI[3,1,Knot[n,i]],VI[4,2,Knot[n,i]]-31/6*VI[2,1,Knot[n,i]]},{-VI[3,1,Knot[n,i]],VI[4,2,Knot[n,i]]-31/6*VI[2,1,Knot[n,i]]}},{i,NumberOfKnots[n]}];
];
ListPlot[horns,PlotStyle->PointSize[0.004],PlotRange->All,AspectRatio->1] // Rasterize

(*"The Reaper" (i.e. "pure" Vassilev invariant of degree 4, 5*VI4,2-31*VI4,3, plotted against Vassiliev invariant of degree 3)*)
For[n=3,n≤14,n++,
reaper=Join@@Table[
{{VI[3,1,Knot[n,i]],5*VI[4,2,Knot[n,i]]-31*VI[4,3,Knot[n,i]]},
{-VI[3,1,Knot[n,i]],5*VI[4,2,Knot[n,i]]-31*VI[4,3,Knot[n,i]]}},{i,NumberOfKnots[n]}];
];
ListPlot[reaper,PlotStyle->PointSize[0.004],PlotRange->All,AspectRatio->1] // Rasterize

For[n=3,n≤14,n++,
pterfiddlestick=Join@@Table[
{{VI[5,3,Knot[n,i]],5*VI[4,2,Knot[n,i]]-31*VI[4,3,Knot[n,i]]},
{-VI[5,3,Knot[n,i]],5*VI[4,2,Knot[n,i]]-31*VI[4,3,Knot[n,i]]}},{i,NumberOfKnots[n]}];
];
ListPlot[pterfiddlestick,PlotStyle->PointSize[0.004],PlotRange->All,AspectRatio->1] // Rasterize

Uploading to the Knot Atlas ...

WikiUser = "DrorsRobot";
WikiPassword = InputString["Enter wiki password for "<>WikiUser];
CreateWikiConnection[
"http://katlas.math.toronto.edu/w/index.php",
WikiUser,
WikiPassword
];
WikiUserName[]

UploadVI[K_Knot, n_,k_] := WikiSetPageText[
"Data:"<>NameString[K]<>"/V_"<>ToString[n]<>","<>ToString[k],
"<math>"<>ToString[VI[n,k,K], TeXForm]<>"</math>"
]

VI[6,9,Knot[3,1]]

UploadVI[Knot[3,1], 6,9]

UploadVIs[K_Knot] := (
doing=K;
And @@ Flatten[
Table[
UploadVI[K, n, k],
{n, 2, 6}, {k, 1, {Null, 1,1,3,4,9}[[n]]}
]
]
)

Dynamic[doing]

UploadVIs[Knot[3,1]]

UploadVIs /@ AllKnots[{0,10}]

UploadVIs /@ AllKnots[11]