<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://drorbn.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zak</id>
	<title>Drorbn - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://drorbn.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zak"/>
	<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=Special:Contributions/Zak"/>
	<updated>2026-05-01T16:09:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3097</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3097"/>
		<updated>2006-12-06T09:10:15Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* Disclaimer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page.&lt;br /&gt;
If this page can&#039;t be smart maybe it can look good.&lt;br /&gt;
I&#039;ve made some SVG files of the generators mimicking Dror&#039;s BPlus. Feel free&lt;br /&gt;
to copy them so I don&#039;t feel bad about copying you.&lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|[[Image:06-1350-T.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-R.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-Phi.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BMinus.svg|100px]]&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3096</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3096"/>
		<updated>2006-12-06T09:07:40Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Generators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page.&lt;br /&gt;
If this page can&#039;t be smart maybe it can look good.&lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|[[Image:06-1350-T.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-R.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-Phi.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BMinus.svg|100px]]&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=File:06-1350-T.svg&amp;diff=3095</id>
		<title>File:06-1350-T.svg</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=File:06-1350-T.svg&amp;diff=3095"/>
		<updated>2006-12-06T09:07:22Z</updated>

		<summary type="html">&lt;p&gt;Zak: This is the T generator of the planar algebra of shielded tangled graphs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the T generator of the planar algebra of shielded tangled graphs.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3094</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3094"/>
		<updated>2006-12-06T08:35:16Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Generators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page.&lt;br /&gt;
If this page can&#039;t be smart maybe it can look good.&lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|&lt;br /&gt;
|[[Image:06-1350-R.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-Phi.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BMinus.svg|100px]]&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=File:06-1350-R.svg&amp;diff=3093</id>
		<title>File:06-1350-R.svg</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=File:06-1350-R.svg&amp;diff=3093"/>
		<updated>2006-12-06T08:34:48Z</updated>

		<summary type="html">&lt;p&gt;Zak: This is the R  generator of the planar algebra of shielded tangled graphs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the R  generator of the planar algebra of shielded tangled graphs.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3092</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3092"/>
		<updated>2006-12-06T08:18:38Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Generators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page.&lt;br /&gt;
If this page can&#039;t be smart maybe it can look good.&lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[Image:06-1350-Phi.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BMinus.svg|100px]]&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=File:06-1350-Phi.svg&amp;diff=3091</id>
		<title>File:06-1350-Phi.svg</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=File:06-1350-Phi.svg&amp;diff=3091"/>
		<updated>2006-12-06T08:17:28Z</updated>

		<summary type="html">&lt;p&gt;Zak: This is the Phi  generator of the planar algebra of shielded tangled graphs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Phi  generator of the planar algebra of shielded tangled graphs.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3090</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3090"/>
		<updated>2006-12-06T07:37:33Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* Disclaimer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page.&lt;br /&gt;
If this page can&#039;t be smart maybe it can look good.&lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BMinus.svg|100px]]&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3089</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3089"/>
		<updated>2006-12-06T07:35:36Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* Disclaimer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page.&lt;br /&gt;
If this page can&#039;t be smart maybe at least it can look good.&lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BMinus.svg|100px]]&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3088</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3088"/>
		<updated>2006-12-06T07:19:06Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Generators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page. &lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|[[Image:06-1350-BMinus.svg|100px]]&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=File:06-1350-BMinus.svg&amp;diff=3087</id>
		<title>File:06-1350-BMinus.svg</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=File:06-1350-BMinus.svg&amp;diff=3087"/>
		<updated>2006-12-06T07:16:58Z</updated>

		<summary type="html">&lt;p&gt;Zak: BMinus Inkscape Image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BMinus Inkscape Image&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3051</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3051"/>
		<updated>2006-12-05T18:30:18Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Disclaimer===&lt;br /&gt;
&lt;br /&gt;
This page has nothing new yet! I&#039;ve just copied Dror&#039;s page. &lt;br /&gt;
&lt;br /&gt;
===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3050</id>
		<title>User:Zak/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Zak/06-1350-HW4&amp;diff=3050"/>
		<updated>2006-12-05T18:26:58Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===The Generators===&lt;br /&gt;
&lt;br /&gt;
Our generators are &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt;:&lt;br /&gt;
{| align=center cellpadding=10 style=&amp;quot;border: solid orange 1px&amp;quot;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Picture&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[Image:06-1350-BPlus.svg|100px]]&lt;br /&gt;
|&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Generator&lt;br /&gt;
|&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;B^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|- align=center valign=middle&lt;br /&gt;
|align=left|Perturbation&lt;br /&gt;
|&amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^-&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister Move R3====&lt;br /&gt;
The picture (with three sides of the shielding removed) is&lt;br /&gt;
[[Image:06-1350-R4.svg|400px|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+&amp;lt;/math&amp;gt;.&amp;lt;/center&amp;gt;&lt;br /&gt;
Linearized and written in functional form, this becomes&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_4) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The Syzygies===&lt;br /&gt;
&lt;br /&gt;
====The &amp;quot;B around B&amp;quot; Syzygy====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-BAroundB.svg|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://www.inkscape.org/ Inkscape])&amp;lt;br&amp;gt;(note that lower quality pictures are also acceptable)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The functional form of this syzygy is&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;BB(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho_3(x_1, x_2, x_3, x_5) + \rho_3(x_1 + x_5, x_2, x_3, x_4) - \rho_3(x_1 + x_2, x_3, x_4, x_5)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_3(x_1, x_2, x_4, x_5) - \rho_3(x_1 + x_4, x_2, x_3, x_5) - \rho_3(x_1, x_2, x_3, x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_3(x_1, x_3, x_4, x_5) + \rho_3(x_1 + x_3, x_2, x_4, x_5).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===A Mathematica Verification===&lt;br /&gt;
&lt;br /&gt;
The following simulated Mathematica session proves that for our single relation and single syzygy, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;. Copy paste it into a live Mathematica session to see that it&#039;s right!&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;d1 = {&lt;br /&gt;
  rho3[x1_, x2_, x3_, x4_] :&amp;gt; bp[x1, x2, x3] + bp[x1 + x3, x2, x4] +&lt;br /&gt;
  bp[x1, x3, x4] - bp[x1 + x2, x3, x4] - bp[x1, x2, x4] -&lt;br /&gt;
  bp[x1 + x4, x2, x3]&lt;br /&gt;
};&lt;br /&gt;
d2 = {&lt;br /&gt;
  BAroundB[x1_, x2_, x3_, x4_, x5_] :&amp;gt; rho3[x1, x2, x3, x5] + &lt;br /&gt;
  rho3[x1 + x5, x2, x3, x4] - rho3[x1 + x2, x3, x4, x5] -&lt;br /&gt;
  rho3[x1, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5] -&lt;br /&gt;
  rho3[x1, x2, x3, x4] + rho3[x1, x3, x4, x5] +&lt;br /&gt;
  rho3[x1 + x3, x2, x4, x5]&lt;br /&gt;
};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;- rho3[x1, x2, x3, x4] + rho3[x1, x2, x3, x5] - rho3[x1, x2, x4, x5]&lt;br /&gt;
+ rho3[x1, x3, x4, x5] - rho3[x1 + x2, x3, x4, x5]&lt;br /&gt;
+ rho3[x1 + x3, x2, x4, x5] - rho3[x1 + x4, x2, x3, x5]&lt;br /&gt;
+ rho3[x1 + x5, x2, x3, x4]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;BAroundB[x1, x2, x3, x4, x5] /. d2 /. d1&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;0&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=06-1350/Homework_Assignment_4&amp;diff=3049</id>
		<title>06-1350/Homework Assignment 4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=06-1350/Homework_Assignment_4&amp;diff=3049"/>
		<updated>2006-12-05T18:25:02Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{06-1350/Navigation}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This assignment is due on Tuesday, December 5 2006.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is an unusual assignment; the task at hand is to do some real research, stuff that to the best of my knowledge had never been done before and most definitely was never written up. Thus the rules will also be a bit different - your work (or at least the accumulation of work on this topic by everyone in class) is meant to be used and useful. So it must be presented in a very readable form (i.e., typed up and with figures) and it must be reliable; in fact, it will be computer verifiable. But some rules will be relaxed, as well.&lt;br /&gt;
&lt;br /&gt;
The task is a bit technical. But hey, it is a homework assignment, after all!&lt;br /&gt;
&lt;br /&gt;
==The Task==&lt;br /&gt;
&lt;br /&gt;
Write all the relations between &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;B^{\pm}&amp;lt;/math&amp;gt; in a completely explicit way, both as formulas and as illuminating figures, and then do the same to all the syzygies between these relations. Finally, enter everything you have written into a Mathemmatica script that will verify that for the complex you have created, &amp;lt;math&amp;gt;d^2=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that when I write &amp;quot;all relations&amp;quot; or &amp;quot;all syzygies&amp;quot; above I really mean &amp;quot;a complete independent set of relations/syzygies&amp;quot;. And while this cannot be formalized, &#039;&#039;the prettier your representatives are, the better!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==The Rules==&lt;br /&gt;
&lt;br /&gt;
The first relation and the first syzygy were written by {{Dror}} (see below or visit [[User:Drorbn/06-1350-HW4]]). You are to copy his work into your user space and complete it there.&lt;br /&gt;
* On this wiki create a page named &amp;quot;User:YourUsernameHere/06-1350-HW4&amp;quot; (or simply &amp;quot;User:YourUsernameHere/HW4&amp;quot;). If necessary, go to [[Help:Contents]] to see how this is done.&lt;br /&gt;
* Copy [[User:Drorbn/06-1350-HW4]] into your page. The easiest way to do that is to edit [[User:Drorbn/06-1350-HW4]] and copy the source code into your page using copy-paste on your windowing system. Then &amp;quot;preview&amp;quot; or &amp;quot;save&amp;quot; your copy but &amp;quot;cancel&amp;quot; the edit to [[User:Drorbn/06-1350-HW4]].&lt;br /&gt;
* Now work on your page...&lt;br /&gt;
* Copying is legal! You are allowed, indeed encouraged, to collaborate with others or to simply copy results from other people&#039;s pages into yours. The goal is to get something complete. If one of you will start with something incomplete and somebody else will do some other incomplete thing and yet another person will merge the two, we may achieve the goal.&lt;br /&gt;
* If you copy, always credit the original source! Likewise, if I will ever use any of the material that will be first produced here, I am committed to crediting the source(s). &lt;br /&gt;
* You will get a good though not perfect grade on this assignment for doing anything at all, or even for doing nothing at all but copying on the understanding that by submitting your work you are testifying that you understand it. Perfect grades will go to the people who will make substantial contributions.&lt;br /&gt;
* Elegance counts! Beauty counts! A systematic approach counts!&lt;br /&gt;
&lt;br /&gt;
==A Bonus Question==&lt;br /&gt;
&lt;br /&gt;
Find the definitive completion of the silliest proof for the existence of exponentials. In other words, find the definitive proof that if &amp;lt;math&amp;gt;M(u,v)&amp;lt;/math&amp;gt; is a two-variable power series for which &amp;lt;math&amp;gt;M(y,z)-M(x+y,z)+M(x,y+z)-M(x,y)=0&amp;lt;/math&amp;gt;, the there exists a single-variable power series &amp;lt;math&amp;gt;\epsilon(t)&amp;lt;/math&amp;gt; for which &amp;lt;math&amp;gt;M(u,v)=\epsilon(v)-\epsilon(u+v)+\epsilon(u)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==User:Drorbn/06-1350-HW4==&lt;br /&gt;
&lt;br /&gt;
{{User:Drorbn/06-1350-HW4}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
In order to make it easier for us to see each others work, and not all work on the same parts of the assignment I suggest that you can link here to your assignment page.  You can also say what you have worked out there and what you are planing on working on.&lt;br /&gt;
&lt;br /&gt;
My page is [[User:Jana/06-1350-HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:Shawkm/06-1350-HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:Andy/06-1350-HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:Zak/06-1350-HW4]]&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=06-1350/Some_Equations_by_Kurlin&amp;diff=1972</id>
		<title>06-1350/Some Equations by Kurlin</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=06-1350/Some_Equations_by_Kurlin&amp;diff=1972"/>
		<updated>2006-09-20T07:12:32Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{06-1350/Navigation}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Claim&#039;&#039;&#039; {{ref|Kurlin}}. The function &amp;lt;math&amp;gt;f(\lambda,\mu)&amp;lt;/math&amp;gt; defined by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;1+2\lambda\mu f(\lambda,\mu) = \frac{e^{\lambda+\mu}-e^{-\lambda-\mu}}{2(\lambda+\mu)} \left(\frac{2\lambda}{e^\lambda-e^{-\lambda}}+\frac{2\mu}{e^\mu-e^{-\mu}}-1\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Satisfies&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;f(\lambda,\mu)+e^\mu f(\mu,-\lambda-\mu)+e^{-\lambda}f(\lambda,-\lambda-\mu) = \frac{1}{\lambda+\mu} \left(\frac{e^\mu-1}{\mu}+\frac{e^{-\lambda}-1}{\lambda}\right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The claim is, of course, very easily verifiable and if this class is successful, at some point in the future I will tell you why I care.&lt;br /&gt;
&lt;br /&gt;
Typically long equations have no closed form solutions. Yet note that Kurlin first derived the equation and only then found its solution. Was he merely lucky that a solution existed, or was there some deeper principle guarding him from failure? I don&#039;t believe in luck and I prefer to believe in principles. Yet, at what level did the principle arise? Is it that all solvable equations of this kind have closed-form solutions, or was there an a priori reason why the math that Kurlin was doing lead him to an equation with a closed form solution?&lt;br /&gt;
&lt;br /&gt;
Here are a few concrete questions to expose my ignorance of simple algebra. Note that &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; is is a rational function in its variables and their exponentials. Let&#039;s call such functions &amp;quot;tame&amp;quot;. The equation &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; satisfies involves rational expressions in the variables and their exponentials and linear substitutions applied to &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;. Let us call such equations &amp;quot;tame&amp;quot;. (The equation is also linear in &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;. You may or may not wish to include this in the definition of &amp;quot;tame&amp;quot;). So we see that this particular tame equation has a tame solution.&lt;br /&gt;
&lt;br /&gt;
* Is that always the case?&lt;br /&gt;
** A pretty example is the tame equation &amp;lt;math&amp;gt;e(x+y)=e(x)e(y)&amp;lt;/math&amp;gt;, whose solution is the &amp;quot;first&amp;quot; transcendental function &amp;lt;math&amp;gt;e^x&amp;lt;/math&amp;gt;.&lt;br /&gt;
** Are we done defining &amp;quot;new&amp;quot; special functions after we&#039;ve defined &amp;lt;math&amp;gt;e^x&amp;lt;/math&amp;gt; or are there further ones that cannot be defined in terms of it?&lt;br /&gt;
** If there are further ones, why haven&#039;t we heard about them? Or else, where do we read about them?&lt;br /&gt;
** If there aren&#039;t further ones, this is a lovely &amp;quot;closure&amp;quot; property enjoyed by exponentials. How come I don&#039;t know it yet?&lt;br /&gt;
&lt;br /&gt;
* Assuming not all tame equations have tame solutions, what was special about our equation, that lead to the existence of a tame solution? Can you write a very general condition on tame equations that will ensure the existence of a tame solution? In other words, was Kurlin simply lucky that his equation had a tame solution (and clever that he found it!), or are there some general rules that guarded him against the wilderness?&lt;br /&gt;
&lt;br /&gt;
{{note|Kurlin}} &#039;&#039;Compressed Drinfel&#039;d Associators,&#039;&#039; V. Kurlin, {{arXiv|math.GT/0408398}}.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_User%27s_Guide&amp;diff=1700</id>
		<title>VasCalc Documentation - User&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_User%27s_Guide&amp;diff=1700"/>
		<updated>2006-08-16T11:54:39Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* Special Form of ASeries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the ChordsMod4T component of the [[VasCalc]] project. This page is also under construction.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This package provides a Mathematica interface to work with the space generated by chord diagrams on a fixed skeleton of lines and circles, modulo the 4-T relation. See Dror Bar-Natan&#039;s [[Survey of Finite Type Invariants]] for further details. &lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
The software requirements of this package are Mathematica 4.1 and Java 1.4 (or greater, in both cases). However, note that default installations of Mathematica 4.1 and up include a Java runtime binary, and require no further configuration for this package to work. &lt;br /&gt;
&lt;br /&gt;
While there are no specific hardware requirements, the computations involved are rather resource-intensive. Users of low-end machines will see a smaller range of parameters for which the computation is practicable. We&#039;ll have an expected performance profile once work on this package is done.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
If you have an up-to-date copy of the [http://katlas.math.toronto.edu/svn/VasCalc/ repository], skip ahead. If not, download [http://katlas.math.toronto.edu/svn/VasCalc/trunk/ChordsMod4T.tar.gz ChordsMod4T.tar.gz] and extract it to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
You must also ensure that there is a directory named &amp;quot;CM4TData&amp;quot; under the installation directory, creating it if neccessary. This is for save/load functionality to work properly.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
====Initialization====&lt;br /&gt;
In a Mathematica session, load the definitions by typing:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;/path_to_install_folder/CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_install_folder&amp;quot; is either the &amp;quot;trunk&amp;quot; folder of the repository, or the folder in which the above archive, if downloaded, was unpacked.&lt;br /&gt;
&lt;br /&gt;
You must also issue the following command, to inform Mathematica of the location of the required Java objects:&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; SetVasCalcPath[&amp;quot;/path_to_install_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
These steps must be followed at the start of each Mathematica session you wish to use this package.&lt;br /&gt;
&lt;br /&gt;
====Representing Chord Diagrams====&lt;br /&gt;
Our convention for representing a chord diagram in Mathematica is through a &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; object containing &amp;lt;code&amp;gt;Line&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Circle&amp;lt;/code&amp;gt; expressions as per the skeleton. To construct such a representation,&lt;br /&gt;
* Number the chords on the diagram. &lt;br /&gt;
* For each line on the skeleton, put within the brackets of its &amp;lt;code&amp;gt;Line&amp;lt;/code&amp;gt; expression the numbers of the chords that have their endpoints on that line, starting from the bottom and working up. For each circle, do the same, but one can choose an arbitrary starting point and count around. If there are no chords on a given line or circle, leave the brackets empty, as in &amp;lt;code&amp;gt;Line[]&amp;lt;/code&amp;gt;.&lt;br /&gt;
Naturally, there are many representations for a given diagram. &lt;br /&gt;
This package also allows for formal linear combinations of &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; objects.&lt;br /&gt;
&lt;br /&gt;
====Computing chord diagram spaces modulo 4T and FI relations====&lt;br /&gt;
&lt;br /&gt;
[[Image:The_4T_Relation.png|300px|right|thumb|The 4T relation: The dotted lines indicated regions that are identical in all diagrams.]]&lt;br /&gt;
The object &amp;lt;code&amp;gt;CDSpace[l,m,n]&amp;lt;/code&amp;gt; represents the rational vector space generated by chord diagrams with &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; chords on a skeleton with &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; lines and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; circles, modulo the 4-T relation. The first time a space is encountered in a session, a check is made to see if there is data for the required space on disc (under the path_to_install_folder/CM4TData directory). If no such entry exists, the space is computed, and by default the results are saved on disc for future use - this computation may be substantial, depending on the values of the parameters. One can prevent the saving of data by using the command &amp;lt;code&amp;gt;CDSpace[l,m,n, WriteToDisc -&amp;gt; False] &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
One can obtain the dimension of a chord diagram space, as follows:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;GetDimension[CDSpace[1,1,3]]&amp;lt;/nowiki&amp;gt;|out=19}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One can also obtain a basis for a chord diagram space (modulo 4T), expressed as a list of chord diagrams:&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;GetCDBasis[ CDSpace[1,1,3] ]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;{CD[Line[1, 1], Circle[2, 2, 3, 3]], CD[Line[1, 1], Circle[2, 3, 2, 3]], &lt;br /&gt;
  CD[Line[1], Circle[1, 2, 3, 2, 3]], CD[Line[1], Circle[1, 2, 3, 3, 2]], &lt;br /&gt;
  CD[Line[], Circle[1, 1, 2, 3, 3, 2]], CD[Line[1, 2, 1, 2], Circle[3, 3]], &lt;br /&gt;
  CD[Line[], Circle[1, 2, 1, 3, 2, 3]], CD[Line[1, 2], Circle[1, 3, 3, 2]], &lt;br /&gt;
  CD[Line[1, 2, 2, 1], Circle[3, 3]], CD[Line[1, 2, 2], Circle[1, 3, 3]], &lt;br /&gt;
  CD[Line[], Circle[1, 2, 3, 1, 2, 3]], CD[Line[1, 2, 3], Circle[1, 3, 2]], &lt;br /&gt;
  CD[Line[1, 2, 3, 2, 1, 3], Circle[]], CD[Line[1, 2, 3, 2], Circle[1, 3]], &lt;br /&gt;
  CD[Line[1, 2, 3, 3], Circle[1, 2]], CD[Line[1, 2, 3, 2, 3, 1], Circle[]], &lt;br /&gt;
  CD[Line[1, 2, 3, 2, 3], Circle[1]], CD[Line[1, 2, 3, 3, 2, 1], Circle[]], &lt;br /&gt;
  CD[Line[1, 2, 3, 3, 2], Circle[1]]} &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
In addition, one can work with chord diagram spaces modulo the 4T and framing independence (FI) relations, using the command &amp;lt;code&amp;gt; CDrSpace[l,m,n,opts] &amp;lt;/code&amp;gt; - the &amp;quot;r&amp;quot; stands for &amp;quot;further reduced&amp;quot;. The above commands work in a similar fashion for these spaces.&lt;br /&gt;
====Using &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects====&lt;br /&gt;
Because operations on chord diagrams (such as multiplication and reduction) can often be resource-intensive, it is desirable to work with representations in Java as much as possible. The &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; object is meant to facilitate this. To create one, use the command &amp;lt;code&amp;gt;ASeries[CDcombo, l, m]&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;CDcombo&amp;lt;/code&amp;gt; is a linear combination of chord diagrams (represented by &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt;&#039;s, and possibly a constant term), all of which are on a fixed skeleton of &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; lines and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; circles, and may have a different number of chords. It is important to note that an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; carries with it the notion of an order, defined implicitly by the maximum number of chords to appear in a diagram in &amp;lt;code&amp;gt;CDcombo&amp;lt;/code&amp;gt;; the result of any and all computations are only given up to the lowest order appearing therein. (Soon to come: option to explicitly specify order).&lt;br /&gt;
&lt;br /&gt;
There are several operations one can perform on an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; object. Addition and multiplication is achieved using the &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; operators respectively. Also, &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects can be inverted (up to the highest order), provided they are of the form &amp;lt;code&amp;gt;(1 + higher order terms) &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Additionally, the following unary operations are available:&lt;br /&gt;
*&amp;lt;code&amp;gt;AddStrand[ASeries, n]&amp;lt;/code&amp;gt; adds an empty strand to all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; after the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th position.&lt;br /&gt;
*&amp;lt;code&amp;gt;DoubleStrand[ASeries, n]&amp;lt;/code&amp;gt; doubles the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th strand in all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&amp;lt;code&amp;gt;ReverseStrand[ASeries, n]&amp;lt;/code&amp;gt; reverses the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th strand in all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;. &lt;br /&gt;
*&amp;lt;code&amp;gt;ConnectStrand[ASeries, i, j]&amp;lt;/code&amp;gt; is the linear extension of the operation that for each diagram, appends the &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&#039;th strand to the end of the &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&#039;th one.&lt;br /&gt;
*&amp;lt;code&amp;gt;PermuteStrand[ASeries, perm]&amp;lt;/code&amp;gt; applies the permutation &amp;lt;code&amp;gt;perm&amp;lt;/code&amp;gt; to the strands of the chord diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;. The permutation is to be represented as a list of cycles.&lt;br /&gt;
*&amp;lt;code&amp;gt;Reduce[ASeries]&amp;lt;/code&amp;gt; returns another &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; equivalent to the first modulo the 4T relation. This operation may take some time if the relevant chord diagram spaces need to be computed.&lt;br /&gt;
*&amp;lt;code&amp;gt;ReduceFI[ASeries]&amp;lt;/code&amp;gt; returns another &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; equivalent to the first modulo the 4T relation, and the FI relations. As before, this operation may take some time if the relevant chord diagram spaces need to be computed.&lt;br /&gt;
&lt;br /&gt;
All these operations will be put to use in the next section.&lt;br /&gt;
&lt;br /&gt;
Finally, to convert an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; back to a human-readable form, use the command: &amp;lt;code&amp;gt;CD[ AS ]&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;AS&amp;lt;/code&amp;gt; is the object to be converted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Special Form of ASeries====&lt;br /&gt;
&lt;br /&gt;
When calculating the invariant of a knot or a braid, we multiply the invariant of&lt;br /&gt;
the different &amp;quot;events&amp;quot; in the knot&#039;s presentation. In the case where this event&lt;br /&gt;
is a crossing, one must keep in mind that two strands have been permuted. For&lt;br /&gt;
this reason one must apply &amp;lt;code&amp;gt;PermuteStrand[]&amp;lt;/code&amp;gt; in order to get the&lt;br /&gt;
correct answer. This causes the resulting expressions to be rather inelegant.&lt;br /&gt;
For this reason we have devised a new form of &amp;lt;code&amp;gt;ASeries[]&amp;lt;/code&amp;gt; that keeps&lt;br /&gt;
track of the permutation of the strands so one does not need to manually permute&lt;br /&gt;
them when multiplying. &lt;br /&gt;
&lt;br /&gt;
This format only applies when there are no circles in our ASeries, as in the &lt;br /&gt;
case of knots and braids. One can then define an ASeries using the format:&lt;br /&gt;
&amp;lt;code&amp;gt;ASeries[Permutation_list, CV_list]&amp;lt;/code&amp;gt;. Here, &amp;lt;code&amp;gt;Permutation&amp;lt;/code&amp;gt; is a list&lt;br /&gt;
of integers from &amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt; to &amp;lt;/math&amp;gt;n&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is&lt;br /&gt;
the number of lines in the diagram. &amp;lt;code&amp;gt;CV&amp;lt;/code&amp;gt; is a list containing Chord vectors&lt;br /&gt;
of increasing degree.&lt;br /&gt;
&lt;br /&gt;
====Checking the pentagon and hexagon relations====&lt;br /&gt;
&lt;br /&gt;
For paranthesized braids, the pentagon and hexagon equations are given by&lt;br /&gt;
{| align=center width=100%&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:The Pentagon For Parenthesized Braids.jpg|350px]]&lt;br /&gt;
|[[Image:The Hexagons For Parenthesized Braids.jpg|500px]]&lt;br /&gt;
|- align=center&lt;br /&gt;
|colspan=2|&#039;&#039;&#039;The Pentagon and the Hexagons for Parenthesized Braids&#039;&#039;&#039;&lt;br /&gt;
|}.&lt;br /&gt;
&lt;br /&gt;
Algebraically, these relations can be written as&lt;br /&gt;
&lt;br /&gt;
{{Equation|Pentagon|&amp;lt;math&amp;gt;\Phi^{123}\cdot(1\otimes\Delta\otimes 1)(\Phi)\cdot\Phi^{234}=(\Delta\otimes 1\otimes 1)(\Phi)\cdot(1\otimes 1\otimes\Delta)(\Phi)&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;in&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;math&amp;gt;A_4&amp;lt;/math&amp;gt;,}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Equation|Hexagons|&amp;lt;math&amp;gt;(\Delta\otimes 1)(R^{\pm 1}) = \Phi^{123}\cdot (R^{\pm 1})^{23}\cdot(\Phi^{-1})^{132}\cdot(R^{\pm 1})^{13}\cdot\Phi^{312}&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;in&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;math&amp;gt;A_3&amp;lt;/math&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;A_n&amp;lt;/math&amp;gt; is the algebra of chord diagrams on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands modulo the 4-T relations.&lt;br /&gt;
&lt;br /&gt;
Let us check that a proposed pair &amp;lt;math&amp;gt;\{R, \Phi\}&amp;lt;/math&amp;gt; satisfy these equations, up to the third order. After running through the initialization above, we introduce our candidates as &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects:&lt;br /&gt;
{{InOut|n=3|in= &amp;lt;nowiki&amp;gt;Phi = ASeries[&lt;br /&gt;
         1 + (1/24)*CD[Line[1], Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], &lt;br /&gt;
      3,0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{InOut|n=4|in= &amp;lt;nowiki&amp;gt;R = ASeries[&lt;br /&gt;
         1 + (1/2)CD[Line[1], Line[1]] + (1/8)CD[Line[1, 2], Line[1, 2]] + &lt;br /&gt;
        (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]],&lt;br /&gt;
     2,0]&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;ASeries[2, 0,«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
First, we&#039;ll check the pentagon equation. Writing the difference of the two sides for &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;,&lt;br /&gt;
{{InOut|n=5|in=&amp;lt;nowiki&amp;gt; (AddStrand[Phi,0].DoubleStrand[Phi,2].AddStrand[Phi,3]) - (DoubleStrand[Phi,1].DoubleStrand[Phi,3])&amp;lt;/nowiki&amp;gt; | out= &amp;lt;nowiki&amp;gt;ASeries[4, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we reduce the result modulo the 4T relations, and convert back to &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; notation:&lt;br /&gt;
{{InOut|n=6|in=&amp;lt;nowiki&amp;gt;CD[Reduce[%]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
Thus our candidate &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; solves the pentagon equation.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s also test one of the hexagon equations:&lt;br /&gt;
{{InOut|n=7|in = &amp;lt;nowiki&amp;gt;(DoubleStrand[R, 1]) - &lt;br /&gt;
  Phi.AddStrand[R, 0].PermuteStrand[ Phi^(-1) , {{2, 3}}].AddStrand[R, &lt;br /&gt;
      1].PermuteStrand[Phi, {{1, 3, 2}}]&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Reducing the result, we see that our choices of &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; yield a solution to the first hexagon equation.&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;CD[Reduce[%]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
The second hexagon equation can be verified in a similar fashion, and the result is the same.&lt;br /&gt;
&lt;br /&gt;
====Braid Invariants====&lt;br /&gt;
&lt;br /&gt;
To come: definition of Z[B[n]], demonstration of Reidemeister moves. For now, [[VasCalc Documentation - An example| reidemeister.nb]].&lt;br /&gt;
&lt;br /&gt;
====(Unframed) Knot Invariants====&lt;br /&gt;
To compute &amp;lt;math&amp;gt;Z(K)&amp;lt;/math&amp;gt; for a knot, we need to extend the definition of &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; to include &amp;quot;caps&amp;quot; and &amp;quot;cups&amp;quot;. In addition, framing independence forces us to introduce the FI relation - hence all the formulae in this section take place in the &amp;quot;further reduced&amp;quot; space of chord diagrams. We proceed using the &amp;lt;math&amp;gt;Z_{\infty}&amp;lt;/math&amp;gt; correction term in [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf]. To begin, let us choose a pair &amp;lt;math&amp;gt;(R, \Phi)&amp;lt;/math&amp;gt; which solve the pentagon and hexagon equations to fourth degree:&lt;br /&gt;
&lt;br /&gt;
{{In|n=9|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + CD[Line[1], Line[2], Line[1, 2]]/24 - &lt;br /&gt;
 (7*CD[Line[1], Line[2, 3, 4], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[2], Line[1], Line[1, 2]]/24 + &lt;br /&gt;
 (7*CD[Line[2], Line[1, 3, 4], Line[1, 2, 3, 4]])/1920 - &lt;br /&gt;
 (7*CD[Line[3], Line[1, 2, 4], Line[1, 2, 3, 4]])/1920 + &lt;br /&gt;
 (7*CD[Line[4], Line[1, 2, 3], Line[1, 2, 3, 4]])/5760 + &lt;br /&gt;
 (7*CD[Line[1, 2], Line[3, 4], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[1, 3], Line[2, 4], Line[1, 2, 3, 4]]/640 - &lt;br /&gt;
 CD[Line[1, 4], Line[2, 3], Line[1, 2, 3, 4]]/1152 - &lt;br /&gt;
 CD[Line[2, 3], Line[1, 4], Line[1, 2, 3, 4]]/1152 + &lt;br /&gt;
 (19*CD[Line[2, 4], Line[1, 3], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 (7*CD[Line[3, 4], Line[1, 2], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[1, 2, 3], Line[4], Line[1, 2, 3, 4]]/1440 + &lt;br /&gt;
 CD[Line[1, 2, 4], Line[3], Line[1, 2, 3, 4]]/480 - &lt;br /&gt;
 CD[Line[1, 3, 4], Line[2], Line[1, 2, 3, 4]]/480 + &lt;br /&gt;
 CD[Line[2, 3, 4], Line[1], Line[1, 2, 3, 4]]/1440,&lt;br /&gt;
   3,0]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + CD[Line[1], Line[1]]/2 + CD[Line[1, 2], Line[1, 2]]/8 + &lt;br /&gt;
 CD[Line[1, 2, 3], Line[1, 2, 3]]/48 + &lt;br /&gt;
 CD[Line[1, 2, 3, 4], Line[1, 2, 3, 4]]/384, &lt;br /&gt;
   2, 0];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The definition of &amp;lt;math&amp;gt;Z_\infty&amp;lt;/math&amp;gt; involves going up the third strand, down the second, and up the first strand of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;:&lt;br /&gt;
{{InOut|n=11|in=&amp;lt;nowiki&amp;gt;Zinf = ConnectStrand[ConnectStrand[ReverseStrand[Phi, 2], 3, 2], 2, 1]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=&amp;lt;nowiki&amp;gt;ASeries[1, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The invariant of the unknot &amp;lt;math&amp;gt;Z(O)&amp;lt;/math&amp;gt; is given by closing &amp;lt;math&amp;gt;Z_\infty&amp;lt;/math&amp;gt; to a circle (the first line below), and taking the inverse:&lt;br /&gt;
{{InOut|n=12|in=&amp;lt;nowiki&amp;gt;ZinfInverseCircle = ASeries[CD[(Zinf)^(-1)] /. Line -&amp;gt; Circle, 0 , 1]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;ASeries[0, 1, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{InOut|n=13|in=&amp;lt;nowiki&amp;gt;CD[ReduceFI[ZinfInverseCircle]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;1 - CD[Circle[1, 2, 1, 2]]/24 - CD[Circle[1, 2, 3, 1, 4, 2, 3, 4]]/360 + &lt;br /&gt;
CD[Circle[1, 2, 3, 1, 4, 3, 2, 4]]/720 +  (7*CD[Circle[1, 2, 3, 4, 1, 2, 3, 4]])/5760 &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==Performance Issues==&lt;br /&gt;
&lt;br /&gt;
We are currently working to improve the performance of this program. For larger computations, it would likely help to increase the maximum heap size available to Java. To do this, type the following into Mathematica &amp;lt;i&amp;gt;before&amp;lt;/i&amp;gt; loading the CDinterface.m definitions (step 1 above):&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;Needs[&amp;quot;JLink`&amp;quot;];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;InstallJava[CommandLine -&amp;gt; &amp;quot;/path_to_java_runtime/java -Xmx128M&amp;quot;]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
This allows Java to use up to 128 megabytes of memory; you may change the number &amp;quot;128&amp;quot; in the parameter &amp;quot;-Xmx128M&amp;quot; to suit your needs. Note that the first line needs to be entered exactly as shown - the funny apostrophe is located next to the &amp;quot;1&amp;quot; key on many keyboards.&lt;br /&gt;
==References==&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt; D. Bar-Natan, [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]. Geometric Topology (proceedings of the Georgia International Topology Conference, W. H. Kazez ed.), 139-183, Amer. Math. Soc. and International Press, Providence, 1997.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_User%27s_Guide&amp;diff=1699</id>
		<title>VasCalc Documentation - User&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_User%27s_Guide&amp;diff=1699"/>
		<updated>2006-08-16T11:47:54Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* Special Form of ASeries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the ChordsMod4T component of the [[VasCalc]] project. This page is also under construction.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This package provides a Mathematica interface to work with the space generated by chord diagrams on a fixed skeleton of lines and circles, modulo the 4-T relation. See Dror Bar-Natan&#039;s [[Survey of Finite Type Invariants]] for further details. &lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
The software requirements of this package are Mathematica 4.1 and Java 1.4 (or greater, in both cases). However, note that default installations of Mathematica 4.1 and up include a Java runtime binary, and require no further configuration for this package to work. &lt;br /&gt;
&lt;br /&gt;
While there are no specific hardware requirements, the computations involved are rather resource-intensive. Users of low-end machines will see a smaller range of parameters for which the computation is practicable. We&#039;ll have an expected performance profile once work on this package is done.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
If you have an up-to-date copy of the [http://katlas.math.toronto.edu/svn/VasCalc/ repository], skip ahead. If not, download [http://katlas.math.toronto.edu/svn/VasCalc/trunk/ChordsMod4T.tar.gz ChordsMod4T.tar.gz] and extract it to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
You must also ensure that there is a directory named &amp;quot;CM4TData&amp;quot; under the installation directory, creating it if neccessary. This is for save/load functionality to work properly.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
====Initialization====&lt;br /&gt;
In a Mathematica session, load the definitions by typing:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;/path_to_install_folder/CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_install_folder&amp;quot; is either the &amp;quot;trunk&amp;quot; folder of the repository, or the folder in which the above archive, if downloaded, was unpacked.&lt;br /&gt;
&lt;br /&gt;
You must also issue the following command, to inform Mathematica of the location of the required Java objects:&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; SetVasCalcPath[&amp;quot;/path_to_install_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
These steps must be followed at the start of each Mathematica session you wish to use this package.&lt;br /&gt;
&lt;br /&gt;
====Representing Chord Diagrams====&lt;br /&gt;
Our convention for representing a chord diagram in Mathematica is through a &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; object containing &amp;lt;code&amp;gt;Line&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Circle&amp;lt;/code&amp;gt; expressions as per the skeleton. To construct such a representation,&lt;br /&gt;
* Number the chords on the diagram. &lt;br /&gt;
* For each line on the skeleton, put within the brackets of its &amp;lt;code&amp;gt;Line&amp;lt;/code&amp;gt; expression the numbers of the chords that have their endpoints on that line, starting from the bottom and working up. For each circle, do the same, but one can choose an arbitrary starting point and count around. If there are no chords on a given line or circle, leave the brackets empty, as in &amp;lt;code&amp;gt;Line[]&amp;lt;/code&amp;gt;.&lt;br /&gt;
Naturally, there are many representations for a given diagram. &lt;br /&gt;
This package also allows for formal linear combinations of &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; objects.&lt;br /&gt;
&lt;br /&gt;
====Computing chord diagram spaces modulo 4T and FI relations====&lt;br /&gt;
&lt;br /&gt;
[[Image:The_4T_Relation.png|300px|right|thumb|The 4T relation: The dotted lines indicated regions that are identical in all diagrams.]]&lt;br /&gt;
The object &amp;lt;code&amp;gt;CDSpace[l,m,n]&amp;lt;/code&amp;gt; represents the rational vector space generated by chord diagrams with &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; chords on a skeleton with &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; lines and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; circles, modulo the 4-T relation. The first time a space is encountered in a session, a check is made to see if there is data for the required space on disc (under the path_to_install_folder/CM4TData directory). If no such entry exists, the space is computed, and by default the results are saved on disc for future use - this computation may be substantial, depending on the values of the parameters. One can prevent the saving of data by using the command &amp;lt;code&amp;gt;CDSpace[l,m,n, WriteToDisc -&amp;gt; False] &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
One can obtain the dimension of a chord diagram space, as follows:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;GetDimension[CDSpace[1,1,3]]&amp;lt;/nowiki&amp;gt;|out=19}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One can also obtain a basis for a chord diagram space (modulo 4T), expressed as a list of chord diagrams:&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;GetCDBasis[ CDSpace[1,1,3] ]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;{CD[Line[1, 1], Circle[2, 2, 3, 3]], CD[Line[1, 1], Circle[2, 3, 2, 3]], &lt;br /&gt;
  CD[Line[1], Circle[1, 2, 3, 2, 3]], CD[Line[1], Circle[1, 2, 3, 3, 2]], &lt;br /&gt;
  CD[Line[], Circle[1, 1, 2, 3, 3, 2]], CD[Line[1, 2, 1, 2], Circle[3, 3]], &lt;br /&gt;
  CD[Line[], Circle[1, 2, 1, 3, 2, 3]], CD[Line[1, 2], Circle[1, 3, 3, 2]], &lt;br /&gt;
  CD[Line[1, 2, 2, 1], Circle[3, 3]], CD[Line[1, 2, 2], Circle[1, 3, 3]], &lt;br /&gt;
  CD[Line[], Circle[1, 2, 3, 1, 2, 3]], CD[Line[1, 2, 3], Circle[1, 3, 2]], &lt;br /&gt;
  CD[Line[1, 2, 3, 2, 1, 3], Circle[]], CD[Line[1, 2, 3, 2], Circle[1, 3]], &lt;br /&gt;
  CD[Line[1, 2, 3, 3], Circle[1, 2]], CD[Line[1, 2, 3, 2, 3, 1], Circle[]], &lt;br /&gt;
  CD[Line[1, 2, 3, 2, 3], Circle[1]], CD[Line[1, 2, 3, 3, 2, 1], Circle[]], &lt;br /&gt;
  CD[Line[1, 2, 3, 3, 2], Circle[1]]} &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
In addition, one can work with chord diagram spaces modulo the 4T and framing independence (FI) relations, using the command &amp;lt;code&amp;gt; CDrSpace[l,m,n,opts] &amp;lt;/code&amp;gt; - the &amp;quot;r&amp;quot; stands for &amp;quot;further reduced&amp;quot;. The above commands work in a similar fashion for these spaces.&lt;br /&gt;
====Using &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects====&lt;br /&gt;
Because operations on chord diagrams (such as multiplication and reduction) can often be resource-intensive, it is desirable to work with representations in Java as much as possible. The &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; object is meant to facilitate this. To create one, use the command &amp;lt;code&amp;gt;ASeries[CDcombo, l, m]&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;CDcombo&amp;lt;/code&amp;gt; is a linear combination of chord diagrams (represented by &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt;&#039;s, and possibly a constant term), all of which are on a fixed skeleton of &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; lines and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; circles, and may have a different number of chords. It is important to note that an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; carries with it the notion of an order, defined implicitly by the maximum number of chords to appear in a diagram in &amp;lt;code&amp;gt;CDcombo&amp;lt;/code&amp;gt;; the result of any and all computations are only given up to the lowest order appearing therein. (Soon to come: option to explicitly specify order).&lt;br /&gt;
&lt;br /&gt;
There are several operations one can perform on an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; object. Addition and multiplication is achieved using the &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; operators respectively. Also, &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects can be inverted (up to the highest order), provided they are of the form &amp;lt;code&amp;gt;(1 + higher order terms) &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Additionally, the following unary operations are available:&lt;br /&gt;
*&amp;lt;code&amp;gt;AddStrand[ASeries, n]&amp;lt;/code&amp;gt; adds an empty strand to all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; after the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th position.&lt;br /&gt;
*&amp;lt;code&amp;gt;DoubleStrand[ASeries, n]&amp;lt;/code&amp;gt; doubles the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th strand in all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&amp;lt;code&amp;gt;ReverseStrand[ASeries, n]&amp;lt;/code&amp;gt; reverses the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th strand in all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;. &lt;br /&gt;
*&amp;lt;code&amp;gt;ConnectStrand[ASeries, i, j]&amp;lt;/code&amp;gt; is the linear extension of the operation that for each diagram, appends the &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&#039;th strand to the end of the &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&#039;th one.&lt;br /&gt;
*&amp;lt;code&amp;gt;PermuteStrand[ASeries, perm]&amp;lt;/code&amp;gt; applies the permutation &amp;lt;code&amp;gt;perm&amp;lt;/code&amp;gt; to the strands of the chord diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;. The permutation is to be represented as a list of cycles.&lt;br /&gt;
*&amp;lt;code&amp;gt;Reduce[ASeries]&amp;lt;/code&amp;gt; returns another &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; equivalent to the first modulo the 4T relation. This operation may take some time if the relevant chord diagram spaces need to be computed.&lt;br /&gt;
*&amp;lt;code&amp;gt;ReduceFI[ASeries]&amp;lt;/code&amp;gt; returns another &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; equivalent to the first modulo the 4T relation, and the FI relations. As before, this operation may take some time if the relevant chord diagram spaces need to be computed.&lt;br /&gt;
&lt;br /&gt;
All these operations will be put to use in the next section.&lt;br /&gt;
&lt;br /&gt;
Finally, to convert an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; back to a human-readable form, use the command: &amp;lt;code&amp;gt;CD[ AS ]&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;AS&amp;lt;/code&amp;gt; is the object to be converted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Special Form of ASeries====&lt;br /&gt;
&lt;br /&gt;
When calculating the invariant of a knot or a braid, we multiply the invariant of&lt;br /&gt;
the different &amp;quot;events&amp;quot; in the knot&#039;s presentation. In the case where this event&lt;br /&gt;
is a crossing, one must keep in mind that two strands have been permuted. For&lt;br /&gt;
this reason one must apply &amp;lt;code&amp;gt;PermuteStrand[]&amp;lt;/code&amp;gt; in order to get the&lt;br /&gt;
correct answer. This causes the resulting expressions to be rather inelegant.&lt;br /&gt;
For this reason we have devised a new form of &amp;lt;code&amp;gt;ASeries[]&amp;lt;/code&amp;gt; that keeps&lt;br /&gt;
track of the permutation of the strands so one does not need to manually permute&lt;br /&gt;
them when multiplying. &lt;br /&gt;
&lt;br /&gt;
This format only applies when there are no circles in our ASeries, as in the &lt;br /&gt;
case of knots and braids. One can then define an ASeries using the format:&lt;br /&gt;
&amp;lt;code&amp;gt;ASeries[Permutation_list, CV_list]&amp;lt;/code&amp;gt;. Here, &amp;lt;code&amp;gt;Permutation&amp;lt;/code&amp;gt; is a list&lt;br /&gt;
of integers from &amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt; to &amp;lt;/math&amp;gt;n&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is&lt;br /&gt;
the number of lines in the diagram. &amp;lt;/code&amp;gt;CV&amp;lt;/code&amp;gt; is a list containing Chord vectors&lt;br /&gt;
of increasing degree.&lt;br /&gt;
&lt;br /&gt;
====Checking the pentagon and hexagon relations====&lt;br /&gt;
&lt;br /&gt;
For paranthesized braids, the pentagon and hexagon equations are given by&lt;br /&gt;
{| align=center width=100%&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:The Pentagon For Parenthesized Braids.jpg|350px]]&lt;br /&gt;
|[[Image:The Hexagons For Parenthesized Braids.jpg|500px]]&lt;br /&gt;
|- align=center&lt;br /&gt;
|colspan=2|&#039;&#039;&#039;The Pentagon and the Hexagons for Parenthesized Braids&#039;&#039;&#039;&lt;br /&gt;
|}.&lt;br /&gt;
&lt;br /&gt;
Algebraically, these relations can be written as&lt;br /&gt;
&lt;br /&gt;
{{Equation|Pentagon|&amp;lt;math&amp;gt;\Phi^{123}\cdot(1\otimes\Delta\otimes 1)(\Phi)\cdot\Phi^{234}=(\Delta\otimes 1\otimes 1)(\Phi)\cdot(1\otimes 1\otimes\Delta)(\Phi)&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;in&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;math&amp;gt;A_4&amp;lt;/math&amp;gt;,}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Equation|Hexagons|&amp;lt;math&amp;gt;(\Delta\otimes 1)(R^{\pm 1}) = \Phi^{123}\cdot (R^{\pm 1})^{23}\cdot(\Phi^{-1})^{132}\cdot(R^{\pm 1})^{13}\cdot\Phi^{312}&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;in&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;math&amp;gt;A_3&amp;lt;/math&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;A_n&amp;lt;/math&amp;gt; is the algebra of chord diagrams on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands modulo the 4-T relations.&lt;br /&gt;
&lt;br /&gt;
Let us check that a proposed pair &amp;lt;math&amp;gt;\{R, \Phi\}&amp;lt;/math&amp;gt; satisfy these equations, up to the third order. After running through the initialization above, we introduce our candidates as &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects:&lt;br /&gt;
{{InOut|n=3|in= &amp;lt;nowiki&amp;gt;Phi = ASeries[&lt;br /&gt;
         1 + (1/24)*CD[Line[1], Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], &lt;br /&gt;
      3,0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{InOut|n=4|in= &amp;lt;nowiki&amp;gt;R = ASeries[&lt;br /&gt;
         1 + (1/2)CD[Line[1], Line[1]] + (1/8)CD[Line[1, 2], Line[1, 2]] + &lt;br /&gt;
        (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]],&lt;br /&gt;
     2,0]&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;ASeries[2, 0,«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
First, we&#039;ll check the pentagon equation. Writing the difference of the two sides for &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;,&lt;br /&gt;
{{InOut|n=5|in=&amp;lt;nowiki&amp;gt; (AddStrand[Phi,0].DoubleStrand[Phi,2].AddStrand[Phi,3]) - (DoubleStrand[Phi,1].DoubleStrand[Phi,3])&amp;lt;/nowiki&amp;gt; | out= &amp;lt;nowiki&amp;gt;ASeries[4, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we reduce the result modulo the 4T relations, and convert back to &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; notation:&lt;br /&gt;
{{InOut|n=6|in=&amp;lt;nowiki&amp;gt;CD[Reduce[%]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
Thus our candidate &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; solves the pentagon equation.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s also test one of the hexagon equations:&lt;br /&gt;
{{InOut|n=7|in = &amp;lt;nowiki&amp;gt;(DoubleStrand[R, 1]) - &lt;br /&gt;
  Phi.AddStrand[R, 0].PermuteStrand[ Phi^(-1) , {{2, 3}}].AddStrand[R, &lt;br /&gt;
      1].PermuteStrand[Phi, {{1, 3, 2}}]&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Reducing the result, we see that our choices of &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; yield a solution to the first hexagon equation.&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;CD[Reduce[%]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
The second hexagon equation can be verified in a similar fashion, and the result is the same.&lt;br /&gt;
&lt;br /&gt;
====Braid Invariants====&lt;br /&gt;
&lt;br /&gt;
To come: definition of Z[B[n]], demonstration of Reidemeister moves. For now, [[VasCalc Documentation - An example| reidemeister.nb]].&lt;br /&gt;
&lt;br /&gt;
====(Unframed) Knot Invariants====&lt;br /&gt;
To compute &amp;lt;math&amp;gt;Z(K)&amp;lt;/math&amp;gt; for a knot, we need to extend the definition of &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; to include &amp;quot;caps&amp;quot; and &amp;quot;cups&amp;quot;. In addition, framing independence forces us to introduce the FI relation - hence all the formulae in this section take place in the &amp;quot;further reduced&amp;quot; space of chord diagrams. We proceed using the &amp;lt;math&amp;gt;Z_{\infty}&amp;lt;/math&amp;gt; correction term in [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf]. To begin, let us choose a pair &amp;lt;math&amp;gt;(R, \Phi)&amp;lt;/math&amp;gt; which solve the pentagon and hexagon equations to fourth degree:&lt;br /&gt;
&lt;br /&gt;
{{In|n=9|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + CD[Line[1], Line[2], Line[1, 2]]/24 - &lt;br /&gt;
 (7*CD[Line[1], Line[2, 3, 4], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[2], Line[1], Line[1, 2]]/24 + &lt;br /&gt;
 (7*CD[Line[2], Line[1, 3, 4], Line[1, 2, 3, 4]])/1920 - &lt;br /&gt;
 (7*CD[Line[3], Line[1, 2, 4], Line[1, 2, 3, 4]])/1920 + &lt;br /&gt;
 (7*CD[Line[4], Line[1, 2, 3], Line[1, 2, 3, 4]])/5760 + &lt;br /&gt;
 (7*CD[Line[1, 2], Line[3, 4], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[1, 3], Line[2, 4], Line[1, 2, 3, 4]]/640 - &lt;br /&gt;
 CD[Line[1, 4], Line[2, 3], Line[1, 2, 3, 4]]/1152 - &lt;br /&gt;
 CD[Line[2, 3], Line[1, 4], Line[1, 2, 3, 4]]/1152 + &lt;br /&gt;
 (19*CD[Line[2, 4], Line[1, 3], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 (7*CD[Line[3, 4], Line[1, 2], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[1, 2, 3], Line[4], Line[1, 2, 3, 4]]/1440 + &lt;br /&gt;
 CD[Line[1, 2, 4], Line[3], Line[1, 2, 3, 4]]/480 - &lt;br /&gt;
 CD[Line[1, 3, 4], Line[2], Line[1, 2, 3, 4]]/480 + &lt;br /&gt;
 CD[Line[2, 3, 4], Line[1], Line[1, 2, 3, 4]]/1440,&lt;br /&gt;
   3,0]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + CD[Line[1], Line[1]]/2 + CD[Line[1, 2], Line[1, 2]]/8 + &lt;br /&gt;
 CD[Line[1, 2, 3], Line[1, 2, 3]]/48 + &lt;br /&gt;
 CD[Line[1, 2, 3, 4], Line[1, 2, 3, 4]]/384, &lt;br /&gt;
   2, 0];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The definition of &amp;lt;math&amp;gt;Z_\infty&amp;lt;/math&amp;gt; involves going up the third strand, down the second, and up the first strand of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;:&lt;br /&gt;
{{InOut|n=11|in=&amp;lt;nowiki&amp;gt;Zinf = ConnectStrand[ConnectStrand[ReverseStrand[Phi, 2], 3, 2], 2, 1]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=&amp;lt;nowiki&amp;gt;ASeries[1, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The invariant of the unknot &amp;lt;math&amp;gt;Z(O)&amp;lt;/math&amp;gt; is given by closing &amp;lt;math&amp;gt;Z_\infty&amp;lt;/math&amp;gt; to a circle (the first line below), and taking the inverse:&lt;br /&gt;
{{InOut|n=12|in=&amp;lt;nowiki&amp;gt;ZinfInverseCircle = ASeries[CD[(Zinf)^(-1)] /. Line -&amp;gt; Circle, 0 , 1]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;ASeries[0, 1, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{InOut|n=13|in=&amp;lt;nowiki&amp;gt;CD[ReduceFI[ZinfInverseCircle]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;1 - CD[Circle[1, 2, 1, 2]]/24 - CD[Circle[1, 2, 3, 1, 4, 2, 3, 4]]/360 + &lt;br /&gt;
CD[Circle[1, 2, 3, 1, 4, 3, 2, 4]]/720 +  (7*CD[Circle[1, 2, 3, 4, 1, 2, 3, 4]])/5760 &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==Performance Issues==&lt;br /&gt;
&lt;br /&gt;
We are currently working to improve the performance of this program. For larger computations, it would likely help to increase the maximum heap size available to Java. To do this, type the following into Mathematica &amp;lt;i&amp;gt;before&amp;lt;/i&amp;gt; loading the CDinterface.m definitions (step 1 above):&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;Needs[&amp;quot;JLink`&amp;quot;];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;InstallJava[CommandLine -&amp;gt; &amp;quot;/path_to_java_runtime/java -Xmx128M&amp;quot;]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
This allows Java to use up to 128 megabytes of memory; you may change the number &amp;quot;128&amp;quot; in the parameter &amp;quot;-Xmx128M&amp;quot; to suit your needs. Note that the first line needs to be entered exactly as shown - the funny apostrophe is located next to the &amp;quot;1&amp;quot; key on many keyboards.&lt;br /&gt;
==References==&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt; D. Bar-Natan, [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]. Geometric Topology (proceedings of the Georgia International Topology Conference, W. H. Kazez ed.), 139-183, Amer. Math. Soc. and International Press, Providence, 1997.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_User%27s_Guide&amp;diff=1698</id>
		<title>VasCalc Documentation - User&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_User%27s_Guide&amp;diff=1698"/>
		<updated>2006-08-16T11:34:42Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* Using &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the ChordsMod4T component of the [[VasCalc]] project. This page is also under construction.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This package provides a Mathematica interface to work with the space generated by chord diagrams on a fixed skeleton of lines and circles, modulo the 4-T relation. See Dror Bar-Natan&#039;s [[Survey of Finite Type Invariants]] for further details. &lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
The software requirements of this package are Mathematica 4.1 and Java 1.4 (or greater, in both cases). However, note that default installations of Mathematica 4.1 and up include a Java runtime binary, and require no further configuration for this package to work. &lt;br /&gt;
&lt;br /&gt;
While there are no specific hardware requirements, the computations involved are rather resource-intensive. Users of low-end machines will see a smaller range of parameters for which the computation is practicable. We&#039;ll have an expected performance profile once work on this package is done.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
If you have an up-to-date copy of the [http://katlas.math.toronto.edu/svn/VasCalc/ repository], skip ahead. If not, download [http://katlas.math.toronto.edu/svn/VasCalc/trunk/ChordsMod4T.tar.gz ChordsMod4T.tar.gz] and extract it to a directory of your choice.&lt;br /&gt;
&lt;br /&gt;
You must also ensure that there is a directory named &amp;quot;CM4TData&amp;quot; under the installation directory, creating it if neccessary. This is for save/load functionality to work properly.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
====Initialization====&lt;br /&gt;
In a Mathematica session, load the definitions by typing:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;/path_to_install_folder/CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_install_folder&amp;quot; is either the &amp;quot;trunk&amp;quot; folder of the repository, or the folder in which the above archive, if downloaded, was unpacked.&lt;br /&gt;
&lt;br /&gt;
You must also issue the following command, to inform Mathematica of the location of the required Java objects:&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; SetVasCalcPath[&amp;quot;/path_to_install_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
These steps must be followed at the start of each Mathematica session you wish to use this package.&lt;br /&gt;
&lt;br /&gt;
====Representing Chord Diagrams====&lt;br /&gt;
Our convention for representing a chord diagram in Mathematica is through a &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; object containing &amp;lt;code&amp;gt;Line&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Circle&amp;lt;/code&amp;gt; expressions as per the skeleton. To construct such a representation,&lt;br /&gt;
* Number the chords on the diagram. &lt;br /&gt;
* For each line on the skeleton, put within the brackets of its &amp;lt;code&amp;gt;Line&amp;lt;/code&amp;gt; expression the numbers of the chords that have their endpoints on that line, starting from the bottom and working up. For each circle, do the same, but one can choose an arbitrary starting point and count around. If there are no chords on a given line or circle, leave the brackets empty, as in &amp;lt;code&amp;gt;Line[]&amp;lt;/code&amp;gt;.&lt;br /&gt;
Naturally, there are many representations for a given diagram. &lt;br /&gt;
This package also allows for formal linear combinations of &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; objects.&lt;br /&gt;
&lt;br /&gt;
====Computing chord diagram spaces modulo 4T and FI relations====&lt;br /&gt;
&lt;br /&gt;
[[Image:The_4T_Relation.png|300px|right|thumb|The 4T relation: The dotted lines indicated regions that are identical in all diagrams.]]&lt;br /&gt;
The object &amp;lt;code&amp;gt;CDSpace[l,m,n]&amp;lt;/code&amp;gt; represents the rational vector space generated by chord diagrams with &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; chords on a skeleton with &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; lines and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; circles, modulo the 4-T relation. The first time a space is encountered in a session, a check is made to see if there is data for the required space on disc (under the path_to_install_folder/CM4TData directory). If no such entry exists, the space is computed, and by default the results are saved on disc for future use - this computation may be substantial, depending on the values of the parameters. One can prevent the saving of data by using the command &amp;lt;code&amp;gt;CDSpace[l,m,n, WriteToDisc -&amp;gt; False] &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
One can obtain the dimension of a chord diagram space, as follows:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;GetDimension[CDSpace[1,1,3]]&amp;lt;/nowiki&amp;gt;|out=19}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One can also obtain a basis for a chord diagram space (modulo 4T), expressed as a list of chord diagrams:&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;GetCDBasis[ CDSpace[1,1,3] ]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;{CD[Line[1, 1], Circle[2, 2, 3, 3]], CD[Line[1, 1], Circle[2, 3, 2, 3]], &lt;br /&gt;
  CD[Line[1], Circle[1, 2, 3, 2, 3]], CD[Line[1], Circle[1, 2, 3, 3, 2]], &lt;br /&gt;
  CD[Line[], Circle[1, 1, 2, 3, 3, 2]], CD[Line[1, 2, 1, 2], Circle[3, 3]], &lt;br /&gt;
  CD[Line[], Circle[1, 2, 1, 3, 2, 3]], CD[Line[1, 2], Circle[1, 3, 3, 2]], &lt;br /&gt;
  CD[Line[1, 2, 2, 1], Circle[3, 3]], CD[Line[1, 2, 2], Circle[1, 3, 3]], &lt;br /&gt;
  CD[Line[], Circle[1, 2, 3, 1, 2, 3]], CD[Line[1, 2, 3], Circle[1, 3, 2]], &lt;br /&gt;
  CD[Line[1, 2, 3, 2, 1, 3], Circle[]], CD[Line[1, 2, 3, 2], Circle[1, 3]], &lt;br /&gt;
  CD[Line[1, 2, 3, 3], Circle[1, 2]], CD[Line[1, 2, 3, 2, 3, 1], Circle[]], &lt;br /&gt;
  CD[Line[1, 2, 3, 2, 3], Circle[1]], CD[Line[1, 2, 3, 3, 2, 1], Circle[]], &lt;br /&gt;
  CD[Line[1, 2, 3, 3, 2], Circle[1]]} &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
In addition, one can work with chord diagram spaces modulo the 4T and framing independence (FI) relations, using the command &amp;lt;code&amp;gt; CDrSpace[l,m,n,opts] &amp;lt;/code&amp;gt; - the &amp;quot;r&amp;quot; stands for &amp;quot;further reduced&amp;quot;. The above commands work in a similar fashion for these spaces.&lt;br /&gt;
====Using &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects====&lt;br /&gt;
Because operations on chord diagrams (such as multiplication and reduction) can often be resource-intensive, it is desirable to work with representations in Java as much as possible. The &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; object is meant to facilitate this. To create one, use the command &amp;lt;code&amp;gt;ASeries[CDcombo, l, m]&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;CDcombo&amp;lt;/code&amp;gt; is a linear combination of chord diagrams (represented by &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt;&#039;s, and possibly a constant term), all of which are on a fixed skeleton of &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; lines and &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; circles, and may have a different number of chords. It is important to note that an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; carries with it the notion of an order, defined implicitly by the maximum number of chords to appear in a diagram in &amp;lt;code&amp;gt;CDcombo&amp;lt;/code&amp;gt;; the result of any and all computations are only given up to the lowest order appearing therein. (Soon to come: option to explicitly specify order).&lt;br /&gt;
&lt;br /&gt;
There are several operations one can perform on an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; object. Addition and multiplication is achieved using the &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; operators respectively. Also, &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects can be inverted (up to the highest order), provided they are of the form &amp;lt;code&amp;gt;(1 + higher order terms) &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Additionally, the following unary operations are available:&lt;br /&gt;
*&amp;lt;code&amp;gt;AddStrand[ASeries, n]&amp;lt;/code&amp;gt; adds an empty strand to all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; after the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th position.&lt;br /&gt;
*&amp;lt;code&amp;gt;DoubleStrand[ASeries, n]&amp;lt;/code&amp;gt; doubles the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th strand in all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&amp;lt;code&amp;gt;ReverseStrand[ASeries, n]&amp;lt;/code&amp;gt; reverses the &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&#039;th strand in all the diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;. &lt;br /&gt;
*&amp;lt;code&amp;gt;ConnectStrand[ASeries, i, j]&amp;lt;/code&amp;gt; is the linear extension of the operation that for each diagram, appends the &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;&#039;th strand to the end of the &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;&#039;th one.&lt;br /&gt;
*&amp;lt;code&amp;gt;PermuteStrand[ASeries, perm]&amp;lt;/code&amp;gt; applies the permutation &amp;lt;code&amp;gt;perm&amp;lt;/code&amp;gt; to the strands of the chord diagrams in the given &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt;. The permutation is to be represented as a list of cycles.&lt;br /&gt;
*&amp;lt;code&amp;gt;Reduce[ASeries]&amp;lt;/code&amp;gt; returns another &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; equivalent to the first modulo the 4T relation. This operation may take some time if the relevant chord diagram spaces need to be computed.&lt;br /&gt;
*&amp;lt;code&amp;gt;ReduceFI[ASeries]&amp;lt;/code&amp;gt; returns another &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; equivalent to the first modulo the 4T relation, and the FI relations. As before, this operation may take some time if the relevant chord diagram spaces need to be computed.&lt;br /&gt;
&lt;br /&gt;
All these operations will be put to use in the next section.&lt;br /&gt;
&lt;br /&gt;
Finally, to convert an &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; back to a human-readable form, use the command: &amp;lt;code&amp;gt;CD[ AS ]&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;AS&amp;lt;/code&amp;gt; is the object to be converted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Special Form of ASeries====&lt;br /&gt;
&lt;br /&gt;
====Checking the pentagon and hexagon relations====&lt;br /&gt;
&lt;br /&gt;
For paranthesized braids, the pentagon and hexagon equations are given by&lt;br /&gt;
{| align=center width=100%&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:The Pentagon For Parenthesized Braids.jpg|350px]]&lt;br /&gt;
|[[Image:The Hexagons For Parenthesized Braids.jpg|500px]]&lt;br /&gt;
|- align=center&lt;br /&gt;
|colspan=2|&#039;&#039;&#039;The Pentagon and the Hexagons for Parenthesized Braids&#039;&#039;&#039;&lt;br /&gt;
|}.&lt;br /&gt;
&lt;br /&gt;
Algebraically, these relations can be written as&lt;br /&gt;
&lt;br /&gt;
{{Equation|Pentagon|&amp;lt;math&amp;gt;\Phi^{123}\cdot(1\otimes\Delta\otimes 1)(\Phi)\cdot\Phi^{234}=(\Delta\otimes 1\otimes 1)(\Phi)\cdot(1\otimes 1\otimes\Delta)(\Phi)&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;in&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;math&amp;gt;A_4&amp;lt;/math&amp;gt;,}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Equation|Hexagons|&amp;lt;math&amp;gt;(\Delta\otimes 1)(R^{\pm 1}) = \Phi^{123}\cdot (R^{\pm 1})^{23}\cdot(\Phi^{-1})^{132}\cdot(R^{\pm 1})^{13}\cdot\Phi^{312}&amp;lt;/math&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;in&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;math&amp;gt;A_3&amp;lt;/math&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;A_n&amp;lt;/math&amp;gt; is the algebra of chord diagrams on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands modulo the 4-T relations.&lt;br /&gt;
&lt;br /&gt;
Let us check that a proposed pair &amp;lt;math&amp;gt;\{R, \Phi\}&amp;lt;/math&amp;gt; satisfy these equations, up to the third order. After running through the initialization above, we introduce our candidates as &amp;lt;code&amp;gt;ASeries&amp;lt;/code&amp;gt; objects:&lt;br /&gt;
{{InOut|n=3|in= &amp;lt;nowiki&amp;gt;Phi = ASeries[&lt;br /&gt;
         1 + (1/24)*CD[Line[1], Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], &lt;br /&gt;
      3,0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{InOut|n=4|in= &amp;lt;nowiki&amp;gt;R = ASeries[&lt;br /&gt;
         1 + (1/2)CD[Line[1], Line[1]] + (1/8)CD[Line[1, 2], Line[1, 2]] + &lt;br /&gt;
        (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]],&lt;br /&gt;
     2,0]&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;ASeries[2, 0,«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
First, we&#039;ll check the pentagon equation. Writing the difference of the two sides for &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;,&lt;br /&gt;
{{InOut|n=5|in=&amp;lt;nowiki&amp;gt; (AddStrand[Phi,0].DoubleStrand[Phi,2].AddStrand[Phi,3]) - (DoubleStrand[Phi,1].DoubleStrand[Phi,3])&amp;lt;/nowiki&amp;gt; | out= &amp;lt;nowiki&amp;gt;ASeries[4, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we reduce the result modulo the 4T relations, and convert back to &amp;lt;code&amp;gt;CD&amp;lt;/code&amp;gt; notation:&lt;br /&gt;
{{InOut|n=6|in=&amp;lt;nowiki&amp;gt;CD[Reduce[%]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
Thus our candidate &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; solves the pentagon equation.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s also test one of the hexagon equations:&lt;br /&gt;
{{InOut|n=7|in = &amp;lt;nowiki&amp;gt;(DoubleStrand[R, 1]) - &lt;br /&gt;
  Phi.AddStrand[R, 0].PermuteStrand[ Phi^(-1) , {{2, 3}}].AddStrand[R, &lt;br /&gt;
      1].PermuteStrand[Phi, {{1, 3, 2}}]&amp;lt;/nowiki&amp;gt;|out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Reducing the result, we see that our choices of &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; yield a solution to the first hexagon equation.&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;CD[Reduce[%]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
The second hexagon equation can be verified in a similar fashion, and the result is the same.&lt;br /&gt;
&lt;br /&gt;
====Braid Invariants====&lt;br /&gt;
&lt;br /&gt;
To come: definition of Z[B[n]], demonstration of Reidemeister moves. For now, [[VasCalc Documentation - An example| reidemeister.nb]].&lt;br /&gt;
&lt;br /&gt;
====(Unframed) Knot Invariants====&lt;br /&gt;
To compute &amp;lt;math&amp;gt;Z(K)&amp;lt;/math&amp;gt; for a knot, we need to extend the definition of &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; to include &amp;quot;caps&amp;quot; and &amp;quot;cups&amp;quot;. In addition, framing independence forces us to introduce the FI relation - hence all the formulae in this section take place in the &amp;quot;further reduced&amp;quot; space of chord diagrams. We proceed using the &amp;lt;math&amp;gt;Z_{\infty}&amp;lt;/math&amp;gt; correction term in [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf]. To begin, let us choose a pair &amp;lt;math&amp;gt;(R, \Phi)&amp;lt;/math&amp;gt; which solve the pentagon and hexagon equations to fourth degree:&lt;br /&gt;
&lt;br /&gt;
{{In|n=9|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + CD[Line[1], Line[2], Line[1, 2]]/24 - &lt;br /&gt;
 (7*CD[Line[1], Line[2, 3, 4], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[2], Line[1], Line[1, 2]]/24 + &lt;br /&gt;
 (7*CD[Line[2], Line[1, 3, 4], Line[1, 2, 3, 4]])/1920 - &lt;br /&gt;
 (7*CD[Line[3], Line[1, 2, 4], Line[1, 2, 3, 4]])/1920 + &lt;br /&gt;
 (7*CD[Line[4], Line[1, 2, 3], Line[1, 2, 3, 4]])/5760 + &lt;br /&gt;
 (7*CD[Line[1, 2], Line[3, 4], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[1, 3], Line[2, 4], Line[1, 2, 3, 4]]/640 - &lt;br /&gt;
 CD[Line[1, 4], Line[2, 3], Line[1, 2, 3, 4]]/1152 - &lt;br /&gt;
 CD[Line[2, 3], Line[1, 4], Line[1, 2, 3, 4]]/1152 + &lt;br /&gt;
 (19*CD[Line[2, 4], Line[1, 3], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 (7*CD[Line[3, 4], Line[1, 2], Line[1, 2, 3, 4]])/5760 - &lt;br /&gt;
 CD[Line[1, 2, 3], Line[4], Line[1, 2, 3, 4]]/1440 + &lt;br /&gt;
 CD[Line[1, 2, 4], Line[3], Line[1, 2, 3, 4]]/480 - &lt;br /&gt;
 CD[Line[1, 3, 4], Line[2], Line[1, 2, 3, 4]]/480 + &lt;br /&gt;
 CD[Line[2, 3, 4], Line[1], Line[1, 2, 3, 4]]/1440,&lt;br /&gt;
   3,0]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + CD[Line[1], Line[1]]/2 + CD[Line[1, 2], Line[1, 2]]/8 + &lt;br /&gt;
 CD[Line[1, 2, 3], Line[1, 2, 3]]/48 + &lt;br /&gt;
 CD[Line[1, 2, 3, 4], Line[1, 2, 3, 4]]/384, &lt;br /&gt;
   2, 0];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The definition of &amp;lt;math&amp;gt;Z_\infty&amp;lt;/math&amp;gt; involves going up the third strand, down the second, and up the first strand of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;:&lt;br /&gt;
{{InOut|n=11|in=&amp;lt;nowiki&amp;gt;Zinf = ConnectStrand[ConnectStrand[ReverseStrand[Phi, 2], 3, 2], 2, 1]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=&amp;lt;nowiki&amp;gt;ASeries[1, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The invariant of the unknot &amp;lt;math&amp;gt;Z(O)&amp;lt;/math&amp;gt; is given by closing &amp;lt;math&amp;gt;Z_\infty&amp;lt;/math&amp;gt; to a circle (the first line below), and taking the inverse:&lt;br /&gt;
{{InOut|n=12|in=&amp;lt;nowiki&amp;gt;ZinfInverseCircle = ASeries[CD[(Zinf)^(-1)] /. Line -&amp;gt; Circle, 0 , 1]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;ASeries[0, 1, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
    «JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{InOut|n=13|in=&amp;lt;nowiki&amp;gt;CD[ReduceFI[ZinfInverseCircle]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;1 - CD[Circle[1, 2, 1, 2]]/24 - CD[Circle[1, 2, 3, 1, 4, 2, 3, 4]]/360 + &lt;br /&gt;
CD[Circle[1, 2, 3, 1, 4, 3, 2, 4]]/720 +  (7*CD[Circle[1, 2, 3, 4, 1, 2, 3, 4]])/5760 &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==Performance Issues==&lt;br /&gt;
&lt;br /&gt;
We are currently working to improve the performance of this program. For larger computations, it would likely help to increase the maximum heap size available to Java. To do this, type the following into Mathematica &amp;lt;i&amp;gt;before&amp;lt;/i&amp;gt; loading the CDinterface.m definitions (step 1 above):&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;Needs[&amp;quot;JLink`&amp;quot;];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;InstallJava[CommandLine -&amp;gt; &amp;quot;/path_to_java_runtime/java -Xmx128M&amp;quot;]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
This allows Java to use up to 128 megabytes of memory; you may change the number &amp;quot;128&amp;quot; in the parameter &amp;quot;-Xmx128M&amp;quot; to suit your needs. Note that the first line needs to be entered exactly as shown - the funny apostrophe is located next to the &amp;quot;1&amp;quot; key on many keyboards.&lt;br /&gt;
==References==&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt; D. Bar-Natan, [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]. Geometric Topology (proceedings of the Georgia International Topology Conference, W. H. Kazez ed.), 139-183, Amer. Math. Soc. and International Press, Providence, 1997.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1697</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1697"/>
		<updated>2006-08-16T11:32:29Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use [[VasCalc]] to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror Bar-Natan&#039;s paper on Non-Associative Tangles[http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf]:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt;. Where &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; stands for our (pseudo) Vassiliev invariant and &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt; is the invariant of a braid on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands with a crossing on the strands &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k+1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[(Phi)^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Here we need to make an exception for the case &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt; because the above will not work:&lt;br /&gt;
&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt;Z[B[1], n_] := Module[{tbl, ser},&lt;br /&gt;
    ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, R, n - 2];&lt;br /&gt;
    tbl = Table[i, {i, ser[[1]]}];&lt;br /&gt;
    tbl = ReplacePart[tbl, 2, 1];&lt;br /&gt;
    tbl = ReplacePart[tbl, 1, 2];&lt;br /&gt;
    ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we are ready to verify the move. If &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; is an invariant of the Reidemeister three move&lt;br /&gt;
we must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Z(B(k),n).Z(B(k+1),n).Z(B(k),n) = Z(B(k+1),n).Z(B(k),n).Z(B(k+1),n)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We calculate the right and left hand sides separately for &amp;lt;math&amp;gt;k=3&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;n=6&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;ll = Z[B[3], 6].Z[B[4], 6].Z[B[3], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=9|in=&amp;lt;nowiki&amp;gt;rr = Z[B[4], 6].Z[B[3], 6].Z[B[4], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to compare:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=10|in=&amp;lt;nowiki&amp;gt;CD[Reduce[ll - rr]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt; D. Bar-Natan, [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]. Geometric Topology (proceedings of the Georgia International Topology Conference, W. H. Kazez ed.), 139-183, Amer. Math. Soc. and International Press, Providence, 1997.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1696</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1696"/>
		<updated>2006-08-16T11:27:55Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use [[VasCalc]] to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror Bar-Natan&#039;s paper on Non-Associative Tangles[http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf]:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt;. Where &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; stands for our (pseudo) Vassiliev invariant and &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt; is the invariant of a braid on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands with a crossing on the strands &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k+1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[(Phi)^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Here we need to make an exception for the case &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt; because the above will not work:&lt;br /&gt;
&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt;Z[B[1], n_] := Module[{tbl, ser},&lt;br /&gt;
    ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, R, n - 2];&lt;br /&gt;
    tbl = Table[i, {i, ser[[1]]}];&lt;br /&gt;
    tbl = ReplacePart[tbl, 2, 1];&lt;br /&gt;
    tbl = ReplacePart[tbl, 1, 2];&lt;br /&gt;
    ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we are ready to verify the move. If &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; is an invariant of the Reidemeister three move&lt;br /&gt;
we must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Z(B(k),n).Z(B(k+1),n).Z(B(k),n) = Z(B(k+1),n).Z(B(k),n).Z(B(k+1),n)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We calculate the right and left hand sides separately for &amp;lt;math&amp;gt;k=3&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;n=6&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;ll = Z[B[3], 6].Z[B[4], 6].Z[B[3], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=9|in=&amp;lt;nowiki&amp;gt;ll = rr = Z[B[4], 6].Z[B[3], 6].Z[B[4], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to compare:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=10|in=&amp;lt;nowiki&amp;gt;CD[Reduce[ll - rr]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt; D. Bar-Natan, [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]. Geometric Topology (proceedings of the Georgia International Topology Conference, W. H. Kazez ed.), 139-183, Amer. Math. Soc. and International Press, Providence, 1997.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1695</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1695"/>
		<updated>2006-08-16T11:26:44Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use [[VasCalc]] to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror Bar-Natan&#039;s paper on Non-Associative Tangles[http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf]:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt;. Where &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; stands for our (pseudo) Vassiliev invariant and &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt; is the invariant of a braid on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands with a crossing on the strands &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k+1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[(Phi)^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Here we need to make an exception for the case &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt; because the above will not work:&lt;br /&gt;
&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt;Z[B[1], n_] := Module[{tbl, ser},&lt;br /&gt;
    ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, R, n - 2];&lt;br /&gt;
    tbl = Table[i, {i, ser[[1]]}];&lt;br /&gt;
    tbl = ReplacePart[tbl, 2, 1];&lt;br /&gt;
    tbl = ReplacePart[tbl, 1, 2];&lt;br /&gt;
    ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we are ready to verify the move. If &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; is an invariant of the Reidemeister three move&lt;br /&gt;
we must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Z(B(k),n).Z(B(k+1),n).Z(B(k),n) = Z(B(k+1),n).Z(B(k),n).Z(B(k+1),n)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We calculate the right and left hand sides separately.&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;ll = Z[B[3], 6].Z[B[4], 6].Z[B[3], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=9|in=&amp;lt;nowiki&amp;gt;ll = rr = Z[B[4], 6].Z[B[3], 6].Z[B[4], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to compare:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=10|in=&amp;lt;nowiki&amp;gt;CD[Reduce[ll - rr]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt; D. Bar-Natan, [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]. Geometric Topology (proceedings of the Georgia International Topology Conference, W. H. Kazez ed.), 139-183, Amer. Math. Soc. and International Press, Providence, 1997.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1694</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1694"/>
		<updated>2006-08-16T11:24:46Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use [[VasCalc]] to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror Bar-Natan&#039;s paper [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt;. Where &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; stands for our (pseudo) Vassiliev invariant and &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt; is the invariant of a braid on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands with a crossing on the strands &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k+1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[(Phi)^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Here we need to make an exception for the case &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt; because the above will not work:&lt;br /&gt;
&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt;Z[B[1], n_] := Module[{tbl, ser},&lt;br /&gt;
    ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, R, n - 2];&lt;br /&gt;
    tbl = Table[i, {i, ser[[1]]}];&lt;br /&gt;
    tbl = ReplacePart[tbl, 2, 1];&lt;br /&gt;
    tbl = ReplacePart[tbl, 1, 2];&lt;br /&gt;
    ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we are ready to verify the move. If &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; is an invariant of the Reidemeister three move&lt;br /&gt;
we must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Z(B(k),n).Z(B(k+1),n).Z(B(k),n) = Z(B(k+1),n).Z(B(k),n).Z(B(k+1),n)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We calculate the right and left hand sides separately.&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;ll = Z[B[3], 6].Z[B[4], 6].Z[B[3], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=9|in=&amp;lt;nowiki&amp;gt;ll = rr = Z[B[4], 6].Z[B[3], 6].Z[B[4], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to compare:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=10|in=&amp;lt;nowiki&amp;gt;CD[Reduce[ll - rr]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;[1]&amp;lt;/nowiki&amp;gt; D. Bar-Natan, [http://www.math.toronto.edu/~drorbn/papers/nat/nat.pdf &amp;lt;i&amp;gt;Non-Associative Tangles&amp;lt;/i&amp;gt;]. Geometric Topology (proceedings of the Georgia International Topology Conference, W. H. Kazez ed.), 139-183, Amer. Math. Soc. and International Press, Providence, 1997.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1693</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1693"/>
		<updated>2006-08-16T11:22:10Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use [[VasCalc]] to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror&#039;s paper on Non-Associative Tangles:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt;. Where &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; stands for our (pseudo) Vassiliev invariant and &amp;lt;math&amp;gt;Z(B(k),n)&amp;lt;/math&amp;gt; is the invariant of a braid on &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; strands with a crossing on the strands &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k+1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[(Phi)^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Here we need to make an exception for the case &amp;lt;math&amp;gt;k=1&amp;lt;/math&amp;gt; because the above will not work:&lt;br /&gt;
&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt;Z[B[1], n_] := Module[{tbl, ser},&lt;br /&gt;
    ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, R, n - 2];&lt;br /&gt;
    tbl = Table[i, {i, ser[[1]]}];&lt;br /&gt;
    tbl = ReplacePart[tbl, 2, 1];&lt;br /&gt;
    tbl = ReplacePart[tbl, 1, 2];&lt;br /&gt;
    ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we are ready to verify the move. If &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; is an invariant of the Reidemeister three move&lt;br /&gt;
we must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Z(B(k),n).Z(B(k+1),n).Z(B(k),n) = Z(B(k+1),n).Z(B(k),n).Z(B(k+1),n)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We calculate the right and left hand sides separately.&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;ll = Z[B[3], 6].Z[B[4], 6].Z[B[3], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=9|in=&amp;lt;nowiki&amp;gt;ll = rr = Z[B[4], 6].Z[B[3], 6].Z[B[4], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to compare:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=10|in=&amp;lt;nowiki&amp;gt;CD[Reduce[ll - rr]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1692</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1692"/>
		<updated>2006-08-16T11:16:48Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use [[VasCalc]] to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the [[VasCalc]] package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror&#039;s paper on Non-Associative Tangles:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of Z(B(k),n). Where Z stands for our (pseudo) Vassiliev&lt;br /&gt;
invariant and Z(B(k),n) is the invariant of a braid on n strands with a crossing&lt;br /&gt;
on the strands k and k+1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[(Phi)^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Here we need to make an exception for when k is 1 because the above will not work:&lt;br /&gt;
&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt;Z[B[1], n_] := Module[{tbl, ser},&lt;br /&gt;
    ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, R, n - 2];&lt;br /&gt;
    tbl = Table[i, {i, ser[[1]]}];&lt;br /&gt;
    tbl = ReplacePart[tbl, 2, 1];&lt;br /&gt;
    tbl = ReplacePart[tbl, 1, 2];&lt;br /&gt;
    ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we are ready to verify the move. If Z is an invariant of the Reidemeister three move&lt;br /&gt;
we must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Z(B(k),n).Z(B(k+1),n).Z(B(k),n) = Z(B(k+1),n).Z(B(k),n).Z(B(k+1),n)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We calculate the right and left hand sides separately.&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;ll = Z[B[3], 6].Z[B[4], 6].Z[B[3], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=9|in=&amp;lt;nowiki&amp;gt;ll = rr = Z[B[4], 6].Z[B[3], 6].Z[B[4], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to compare:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=10|in=&amp;lt;nowiki&amp;gt;CD[Reduce[ll - rr]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1691</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1691"/>
		<updated>2006-08-16T11:15:57Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use VasCalc to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror&#039;s paper on Non-Associative Tangles:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of Z(B(k),n). Where Z stands for our (pseudo) Vassiliev&lt;br /&gt;
invariant and Z(B(k),n) is the invariant of a braid on n strands with a crossing&lt;br /&gt;
on the strands k and k+1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[(Phi)^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Here we need to make an exception for when k is 1 because the above will not work:&lt;br /&gt;
&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt;Z[B[1], n_] := Module[{tbl, ser},&lt;br /&gt;
    ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, R, n - 2];&lt;br /&gt;
    tbl = Table[i, {i, ser[[1]]}];&lt;br /&gt;
    tbl = ReplacePart[tbl, 2, 1];&lt;br /&gt;
    tbl = ReplacePart[tbl, 1, 2];&lt;br /&gt;
    ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we are ready to verify the move. If Z is an invariant of the Reidemeister three move&lt;br /&gt;
we must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Z(B(k),n).Z(B(k+1),n).Z(B(k),n) = Z(B(k+1),n).Z(B(k),n).Z(B(k+1),n)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We calculate the right and left hand sides separately.&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in=&amp;lt;nowiki&amp;gt;ll = Z[B[3], 6].Z[B[4], 6].Z[B[3], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=9|in=&amp;lt;nowiki&amp;gt;ll = rr = Z[B[4], 6].Z[B[3], 6].Z[B[4], 6]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=ASeries[{1, 2, 5, 4, 3, 6}, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}]/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to compare:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=10|in=&amp;lt;nowiki&amp;gt;CD[Reduce[ll - rr]]&amp;lt;/nowiki&amp;gt;|out=0}}&lt;br /&gt;
&lt;br /&gt;
Voila!&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1690</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1690"/>
		<updated>2006-08-16T11:06:37Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use VasCalc to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror&#039;s paper on Non-Associative Tangles:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we define the definition of Z(B(k),n). Where Z stands for our (pseudo) Vassiliev&lt;br /&gt;
invariant and Z(B(k),n) is the invariant of a braid on n strands with a crossing&lt;br /&gt;
on the strands k and k+1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt;Clear[Z] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt;Z[B[k_],n_] /; k &amp;gt; 1 := &lt;br /&gt;
 Module[{ser, tbl},&lt;br /&gt;
  ser = Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, Phi, k - 2], n - k - 1]. &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[AddStrand[#, 0] &amp;amp;, R, k - 1], n - k - 1] . &lt;br /&gt;
   Nest[AddStrand[#, #[[1]]] &amp;amp;, Nest[DoubleStrand[#, 0] &amp;amp;, &lt;br /&gt;
   PermuteStrand[((Phi))^(-1), {{2, 3}}], k - 2], n - k - 1]; &lt;br /&gt;
  tbl = Table[i, {i, ser[[1]]}]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k + 1, k]; &lt;br /&gt;
  tbl = ReplacePart[tbl, k, k + 1]; &lt;br /&gt;
  ASeries[tbl, ser[[3]]]]&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1689</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1689"/>
		<updated>2006-08-16T10:52:46Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use VasCalc to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror&#039;s paper on Non-Associative Tangles:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4|in=&amp;lt;nowiki&amp;gt;R = ASeries[1 + (1/2)CD[Line[1], Line[1]] &lt;br /&gt;
+ (1/8)CD[Line[1, 2], Line[1, 2]] + (1/48)CD[Line[1, 2, 3], Line[1, 2, 3]]&lt;br /&gt;
, 2, 0]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;ASeries[2, 0, {«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», «JavaObject[ChordVector]», «JavaObject[ChordVector]»}] &amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1688</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1688"/>
		<updated>2006-08-16T10:51:20Z</updated>

		<summary type="html">&lt;p&gt;Zak: /* The Reidemeister 3 Move */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== The Reidemeister 3 Move == &lt;br /&gt;
&lt;br /&gt;
We want to use VasCalc to verify the third Reidemeister move. This is meant&lt;br /&gt;
as a small example of how to use the VasCalc package.&lt;br /&gt;
&lt;br /&gt;
The first couple of steps are to load up VasCalc.&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;CDinterface.m &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;SetVasCalcPath[&amp;quot;/home/zavosh/vc&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now we need to load the definitions of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; as&lt;br /&gt;
defined in Dror&#039;s paper on Non-Associative Tangles:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in=&amp;lt;nowiki&amp;gt;Phi = ASeries[1 + (1/24)*CD[Line[1], &lt;br /&gt;
Line[2], Line[1, 2]] - (1/24)*CD[Line[2], Line[1], Line[1, 2]], 3, 0, 3]&amp;lt;/nowiki&amp;gt;| out=&amp;lt;nowiki&amp;gt;ASeries[3, 0, {«JavaObject[vectorSpace.Coefficient]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]», «JavaObject[ChordVector]», &lt;br /&gt;
«JavaObject[vectorSpace.Coefficient]»}] &amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1646</id>
		<title>VasCalc Documentation - An example</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_Documentation_-_An_example&amp;diff=1646"/>
		<updated>2006-08-11T18:01:03Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example of how to use [[VasCalc]]. We check the third Reidemeister move against an almost-invariant (not a technical term). &lt;br /&gt;
&lt;br /&gt;
== Example == &lt;br /&gt;
&lt;br /&gt;
[[Image:reid3.jpg]]&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=File:Reid3.jpg&amp;diff=1645</id>
		<title>File:Reid3.jpg</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=File:Reid3.jpg&amp;diff=1645"/>
		<updated>2006-08-11T17:57:18Z</updated>

		<summary type="html">&lt;p&gt;Zak: Mathematica example demonstrating the Reidemeister 3.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mathematica example demonstrating the Reidemeister 3.&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_Documentation&amp;diff=1644</id>
		<title>VasCalc - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_Documentation&amp;diff=1644"/>
		<updated>2006-08-11T17:31:53Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will contain the documentation for the various parts of [[VasCalc - A Vassiliev Invariants Calculator|VasCalc]], and will be updated as work gets completed. Follow the links for documentation on each component of the program:&lt;br /&gt;
&lt;br /&gt;
* [[VasCalc Documentation - vectorSpace|vectorSpace]] - a small Java package to deal with finite-dimensional vector spaces.&lt;br /&gt;
&lt;br /&gt;
*[[VasCalc Documentation - ChordsMod4T| ChordsMod4T]] - a program to compute and work with spaces of chord diagrams modulo 4T relations.&lt;br /&gt;
&lt;br /&gt;
*[[VasCalc Documentation - An example| Reidemeister]] - a small example showing how to use VasCalc to check one of the Reidemeister moves&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_Progress_Log&amp;diff=1434</id>
		<title>VasCalc - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_Progress_Log&amp;diff=1434"/>
		<updated>2006-05-30T16:42:17Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the [[VasCalc - A Vassiliev Invariants Calculator|VasCalc Project]] Progress Log.&lt;br /&gt;
====Tuesday May 30 2006====&lt;br /&gt;
A new file [http://katlas.math.toronto.edu/svn/VasCalc/trunk/ChordDiagram.java ChordDiagram.java] was committed to the repository. This is a class that holds information describing one chord diagram and contains methods that will help in constructing chord diagrams systematically. It is not yet complete, though not far from it. &lt;br /&gt;
====Monday May 29 2006====&lt;br /&gt;
I&#039;ve updated the vectorSpace package, and added a Mathematica interface, as well an almost complete [[VasCalc  Documentation - vectorSpace|document]] on the wiki. Can someone check that the instructions for installation work?&lt;br /&gt;
Also, does the simulated Mathematica session work on this wiki?&lt;br /&gt;
====Wednesday May 24 2006====&lt;br /&gt;
A new package [http://katlas.math.toronto.edu/svn/VasCalc/trunk/vectorSpace vectorSpace] has been committed to the repository, to handle quotients of finite-dimensional vector spaces. See the [[VasCalc - Documentation|documentation]] for usage details.&lt;br /&gt;
====Saturday May 20 2006====&lt;br /&gt;
Our first task is to write a program to construct and manipulate the (formal) quotient vector space A(m,n,l), consisting of diagrams with m chords between n lines and l circles, modulo the four-T relations. Here&#039;s a rough sketch of the structure of this program:&lt;br /&gt;
&lt;br /&gt;
[[Image:Dmod4T.jpg|thumb|120px|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Java things are in orange, Mathematica things are in blue. Red arrows are helper functions that need to be written, and black arrows denote &amp;quot;natural class heirarchy&amp;quot;. &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Monday May 15 2006====&lt;br /&gt;
Another slightly different HelloWorld test has been added to the [http://katlas.math.toronto.edu/svn/VasCalc/trunk/  SVN repository]. This time, one can use the default Java runtime bundled with Mathematica/Windows (so the user does not need to know anything about where Java lives on their system) by telling the Java compiler to produce code for Java 1.4. This is accomplished by issuing the command:&lt;br /&gt;
:&amp;lt;code&amp;gt;javac -source 1.4 -target 1.4 file_to_be_compiled.java &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose this prevents us from using the new features of Java 1.5, but I don&#039;t know what they are.&lt;br /&gt;
&lt;br /&gt;
As for the test program, download [http://katlas.math.toronto.edu/svn/VasCalc/trunk/javatest.m javatest.m] and [http://katlas.math.toronto.edu/svn/VasCalc/trunk/test1.class test1.class], and issue the following commands in Mathematica (replacing the &#039;/path_to_files&#039; with the location you downloaded the files to, and don&#039;t forget the quotes in the second line):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt; &amp;lt;&amp;lt; /path_to_files/javatest.m &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt; HelloWorld[VasCalcPath -&amp;gt; &amp;quot;/path_to_files&amp;quot;] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and read your mystery message!&lt;br /&gt;
&lt;br /&gt;
==== Sunday May 14 2006====&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were commited to the repository trunk. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. The JDK path is not enough because J/Link looks for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be in one of the dirs in CLASSPATH, because J/Link loads classes only through their full class name.&lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary to specify the path name for a newer version of java.exe. By default it runs the Windows java, which didn&#039;t run what was compiled with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;br /&gt;
&lt;br /&gt;
==== Thursday May 11 20006====&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px|left]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1393</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1393"/>
		<updated>2006-05-15T10:13:50Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were commited to the repository trunk. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. The JDK path is not enough because J/Link looks for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be in one of the dirs in CLASSPATH, because J/Link loads classes only through their full class name. Also, CLASSPATH wasn&#039;t defined by default.&lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary to specify the path name for a newer version of java.exe. By default it runs the Windows java, which didn&#039;t run what was compiled with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1392</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1392"/>
		<updated>2006-05-15T10:13:38Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were commited to the repository trunk. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. The JDK path is not enough because J/Link looks for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be in one of the dirs in CLASSPATH, because J/Link loads classes only through their full class name. Also, CLASSPATH wasn&#039;t defined by default.&lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary to specify the path name for a newer version of java.exe. By default it runs the Windows java, which didn&#039;t run what was compiled with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible? (Zavosh)&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1391</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1391"/>
		<updated>2006-05-15T10:11:44Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were commited to the repository trunk. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. The JDK path is not enough because J/Link looks for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be in one of the dirs in CLASSPATH, because J/Link loads classes only through their full class name. Also, CLASSPATH wasn&#039;t defined by default.&lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary to specify the path name for a newer version of java.exe. By default it runs the Windows java, which didn&#039;t run what was compiled with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1390</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1390"/>
		<updated>2006-05-15T10:09:25Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were commited to the repository trunk. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. The JDK path is not enough because J/Link looks for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be copied into a CLASSPATH folder, because J/Link loads classes only through their full class name. &lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary to specify the path name for a newer version of java.exe. By default it runs the Windows java, which didn&#039;t run what was compiled with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1389</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1389"/>
		<updated>2006-05-15T10:08:30Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were commited to the repository trunk. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. The JDK path is not enough because J/Link looks for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be copied into a CLASSPATH folder, because J/Link loads only classes through their full class name. &lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary to specify the path name for a newer version of java.exe. By default it runs the Windows java, which didn&#039;t run what was compiled with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1388</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1388"/>
		<updated>2006-05-15T10:08:05Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were uploaded to the repository. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. The JDK path is not enough because J/Link looks for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be copied into a CLASSPATH folder, because J/Link loads only classes through their full class name. &lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary to specify the path name for a newer version of java.exe. By default it runs the Windows java, which didn&#039;t run what was compiled with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1387</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1387"/>
		<updated>2006-05-15T10:07:34Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were uploaded to the repository. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
* The JRE bin directory had to be added to the PATH. &lt;br /&gt;
  The JDK path is not enough because J/Link looks&lt;br /&gt;
  for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
* HelloWorld.class had to be copied into a CLASSPATH folder, because&lt;br /&gt;
  J/Link loads only classes through their full class name. &lt;br /&gt;
* In Mathematica, when running InstallJava[], it was necessary&lt;br /&gt;
  to specify the path name for a newer version of java.exe. By default&lt;br /&gt;
  it runs the Windows java, which didn&#039;t run what was compiled&lt;br /&gt;
  with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1386</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1386"/>
		<updated>2006-05-15T10:07:11Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J/Link passed the Hello World test. The java class and Mathematica&lt;br /&gt;
notebook were uploaded to the repository. Note the Mathematica file&lt;br /&gt;
must be edited in order to specify the path to java and the class.&lt;br /&gt;
In order to get it to work I had to tweak a few things:&lt;br /&gt;
- The JRE bin directory had to be added to the PATH. &lt;br /&gt;
  The JDK path is not enough because J/Link looks&lt;br /&gt;
  for files like jawt.dll and awt.dll that don&#039;t come with JDK.&lt;br /&gt;
- HelloWorld.class had to be copied into a CLASSPATH folder, because&lt;br /&gt;
  J/Link loads only classes through their full class name. &lt;br /&gt;
- In Mathematica, when running InstallJava[], it was necessary&lt;br /&gt;
  to specify the path name for a newer version of java.exe. By default&lt;br /&gt;
  it runs the Windows java, which didn&#039;t run what was compiled&lt;br /&gt;
  with a new JDK. &lt;br /&gt;
&lt;br /&gt;
Ideally, one would like to write a Mathematica notebook without&lt;br /&gt;
any hardcoded paths that others can use with no changes. Is this&lt;br /&gt;
possible?&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1385</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1385"/>
		<updated>2006-05-15T06:01:48Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1384</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1384"/>
		<updated>2006-05-15T06:01:34Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1383</id>
		<title>VasCalc - A Vassiliev Invariants Calculator</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=VasCalc_-_A_Vassiliev_Invariants_Calculator&amp;diff=1383"/>
		<updated>2006-05-15T06:01:19Z</updated>

		<summary type="html">&lt;p&gt;Zak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages document our work on VasCalc. Let us start with the project description as appeared in our NSERC proposal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Finite type (Vassiliev) invariants stand in the centre of knot theory.&lt;br /&gt;
They are known to encompass very many of the invariants pivotal to knot&lt;br /&gt;
theory and to low dimensional topology, and thus hundreds of papers&lt;br /&gt;
were written about them. Finite type invariants are in principle&lt;br /&gt;
algorithmic and computable, yet the computations are a complicated&lt;br /&gt;
many-step procedure and there aren&#039;t yet coherent computer programs to&lt;br /&gt;
carry them out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After 15 years of progress regarding finite type invariants, I feel&lt;br /&gt;
that finally our understanding of the mathematics is stable enough to&lt;br /&gt;
justify and guide a computational effort. I propose that this work be&lt;br /&gt;
carried out as a joint NSERC summer research internship by Zavosh&lt;br /&gt;
Amir-Khosravi and Siddarth Sankaran, where Zavosh will be writing the&lt;br /&gt;
java- or C++-based &amp;quot;inner most loop&amp;quot; while Siddarth will be working on&lt;br /&gt;
all the surrounding logic. We will make sure that every piece of the&lt;br /&gt;
work will be well documented and will have some &amp;quot;stand alone&amp;quot; value, so&lt;br /&gt;
overall, I expect the project to have significant impact on the subject&lt;br /&gt;
of finite type invariants.&lt;br /&gt;
&lt;br /&gt;
* [http://www.third-bit.com/swc2/lec/version.html A bit about subversion] and [http://katlas.math.toronto.edu/svn/VasCalc/ our subversion repository].&lt;br /&gt;
* First day meeting&#039;s blackboard: [[Image:060511-1.jpg|thumb|160px]].&lt;/div&gt;</summary>
		<author><name>Zak</name></author>
	</entry>
</feed>