<?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=Karenechu</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=Karenechu"/>
	<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=Special:Contributions/Karenechu"/>
	<updated>2026-05-01T16:09:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3500</id>
		<title>User:Karenechu/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3500"/>
		<updated>2007-01-12T01:55:11Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* The Operation unzip */&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;
A low-tech completed version of this chart (Suzie&#039;s):&lt;br /&gt;
&lt;br /&gt;
[[Image:chart.jpg]]&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Symmetry of B (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
To eliminate the choice involved in placing a B at a crossing, it has to have 180 degrees rotational symmetry. This yields the following picture:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The relation cannot be written in the first notation, as on the right side the chords ending on different red lines could end up on the same pink line.&lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation though we can express this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_1(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)-b^+(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation: on the right side, chords on the first red line can drop off on either the third, second or the first strand, morover, the orders are reversed, hence the minus signs. &lt;br /&gt;
&lt;br /&gt;
The same picture for B^- yields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_2(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)-b^-(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The symmetry of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; has to have A(4)-symmetry. For example, rotation around the &amp;quot;top&amp;quot; vertex yields the following picture and relation:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
The same explanation goes here, and we get the relation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And here is the full picture and the relations (I suppose it would be enough to take a few that generate A(4), but we&#039;re on the safe side writing all these up... and I kind of got into drawing tetrahedrons.):&lt;br /&gt;
&lt;br /&gt;
[[Image:Tetrahedrons.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_4(x_1,x_2,x_3)=\varphi(-x_1-x_2,-x_2-x_3,x_2)-\varphi(x_1+x_2,x_3,-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_5(x_1,x_2,x_3)=\varphi(x_1+x_2,x_3,-x_2-x_3)-\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_6(x_1,x_2,x_3)=\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)-\varphi(-x_1-x_2,x_1,x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_7(x_1,x_2,x_3)=\varphi(-x_1-x_2,x_1,x_2+x_3)-\varphi(x_2+x_3,-x_3,-x_1-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_8(x_1,x_2,x_3)=\varphi(x_2+x_3,-x_3,-x_1-x_2)-\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_9(x_1,x_2,x_3)=\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)-\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{10}(x_1,x_2,x_3)=\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)-\varphi(-x_2-x_3,-x_1,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{11}(x_1,x_2,x_3)=\varphi(-x_2-x_3,-x_1,x_1+x_2)-\varphi(-x_1,x_1+x_2+x_3,-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{12}(x_1,x_2,x_3)=\varphi(-x_1,x_1+x_2+x_3,-x_3)-\varphi(x_3,-x_1-x_2-x_3,x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{13}(x_1,x_2,x_3)=\varphi(x_3,-x_1-x_2-x_3,x_1)-\varphi(-x_3,-x_2,-x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R1 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
[[Image:Reidemeister1.jpg]]&lt;br /&gt;
&lt;br /&gt;
As with the symmetry relations, we cannot write this one in the first notation either. &lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation, it looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \rho_1(x_1,x_2)=b^-(x_1,x_2,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where the negative sign is because the order of the chords is reversed as we slide them along the little loop.&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R2 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
With three sides of the shielding removed, the picture is:&lt;br /&gt;
[[Image:Reidemeister2.jpg]]&lt;br /&gt;
&lt;br /&gt;
This means:&lt;br /&gt;
&amp;lt;math&amp;gt;(123)^\star B^+ (132)^\star B^- = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linearized and in functional form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)+b^-(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And we get the other R2 by switching both crossings, i.e. switching b^+ and b^-:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2&#039;(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)+b^+(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&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 Reidemeister Move R4, source:Andy====&lt;br /&gt;
First version of R4: &lt;br /&gt;
[[Image:06-1350-R4a.png|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 \Phi = (1123)^\star \Phi (1233)^\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_{4a}(x_1,x_2,x_3,x_4) = b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + \phi(x_1,x_3,x_4) - \phi(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_3+x_4).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Second version: &lt;br /&gt;
[[Image:06-1350-R4b.png|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1123)^\star B^+ (1203)^\star B^+ (1231)^\star \Phi = (1230)^\star \Phi (1223)^\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_{4b}(x_1,x_2,x_3,x_4) = b^+(x_1+x_2,x_3,x_4) + b^+(x_1,x_2,x_4) + \phi(x_1+x_4,x_2,x_3) - \phi(x_1,x_2,x_3) - b^+(x_1,x_2+x_3,x_4).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The Operation unzip====&lt;br /&gt;
&lt;br /&gt;
Warning:  I am not sure if this is correct, but thought it better to post than not post.&lt;br /&gt;
&lt;br /&gt;
We have found the &amp;lt;math&amp;gt; u^A &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; d^A &amp;lt;/math&amp;gt;,&amp;lt;math&amp;gt; \#^A &amp;lt;/math&amp;gt; operations in the space &amp;lt;math&amp;gt;A(\Tau)&amp;lt;/math&amp;gt; corresponding to the &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt;,&amp;lt;math&amp;gt;  d&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \#&amp;lt;/math&amp;gt;,  in the space of &amp;lt;math&amp;gt;K(\Tau) &amp;lt;/math&amp;gt;, so that for the instance &amp;lt;math&amp;gt; u^A_e (Z (\gamma))= Z( u_e (\gamma))&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:unzip.jpg]]&lt;br /&gt;
&lt;br /&gt;
(on the LHS,I chose escapes routes for the chords ending on any shield first, then unzip in the space A (here I am not sure if I handled it correctly), and this should equal to the LHS: Z of the unzipped knot projection.)&lt;br /&gt;
&lt;br /&gt;
Linearized and in functional form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\phi(x_1,x_2,x_3)+\phi(x_1+x_2,x_3,x_2)+\phi(x_1,x_2,x_3)+\phi+(x_1+x_3,x_3,x_2)==0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The part I don&#039;t quite understand: &lt;br /&gt;
When we unzip an edge with chords ending on it, we need to sum up all combinations of individual chords ending on the 2 unzipped edges; but here we have been treating the chords ending on an edge as just one single collection, so I only summed up the 2 ways of the collection ending on the unzipped edges&lt;br /&gt;
&lt;br /&gt;
====The Operation delete====&lt;br /&gt;
&lt;br /&gt;
Warning: sorry, I must be doing something wrong to obtain 0 on the LHS--since there are chords ending on the edge to be deleted, but non-zero on the RHS. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As above, &amp;lt;math&amp;gt; d^A_e (Z (\gamma))= Z( d_e (\gamma))&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:del.jpg]]&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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around B&amp;quot; Syzygy- I copy-pasted this from Andy, as well as R4====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding (and any other helpful notations) removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundB.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi B(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_{4a}(x_1+x_5,x_2,x_3,x_4) + \rho_{4b}(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_3+x_4,x_5) - \rho_{4a}(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_{4b}(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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&amp;quot; Syzygy -also taken from Andy====&lt;br /&gt;
&lt;br /&gt;
note: I&#039;ve changed Andy&#039;s notation to fit my version of R2.&lt;br /&gt;
&lt;br /&gt;
The picture is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundPhi.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi\Phi(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;-\rho_2&#039;(x_1+x_2,x_3,x_4) - \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) + \rho_{4b}(x_1+x_2,x_4,x_5,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_2&#039;(x_1,x_2,x_4) - \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_{4b}(x_1,x_4,x_5,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_{4a}(x_1,x_4+x_5,x_2,x_3) - \rho_{4b}(x_1,x_4,x_5,x_2+x_3) - \rho_{4a}(x_1+x_4,x_5,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) - \rho_{4a}(x_1,x_4,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1,x_2,x_4) + \rho_2&#039;(x_1+x_2,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the first and last terms cancel, as the two steps at the top of the diagram are opposites.&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>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=06-1350/Homework_Assignment_4&amp;diff=3499</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=3499"/>
		<updated>2007-01-12T01:54:41Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* 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;br /&gt;
&lt;br /&gt;
[[User:zsuzsi/HW4]] (worked out some relations and copied Andy&#039;s work)&lt;br /&gt;
&lt;br /&gt;
[[User:Sankaran/06-1350-HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:Bailey/HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:michael/HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:Karenechu/06-1350-HW4]] (posted an attempt on the unzip operation, problem with the delete operation and copied Suzsi&#039;s and Andy&#039;s work)&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3498</id>
		<title>User:Karenechu/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3498"/>
		<updated>2007-01-12T01:52:35Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* The Operation delete */&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;
A low-tech completed version of this chart (Suzie&#039;s):&lt;br /&gt;
&lt;br /&gt;
[[Image:chart.jpg]]&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Symmetry of B (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
To eliminate the choice involved in placing a B at a crossing, it has to have 180 degrees rotational symmetry. This yields the following picture:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The relation cannot be written in the first notation, as on the right side the chords ending on different red lines could end up on the same pink line.&lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation though we can express this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_1(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)-b^+(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation: on the right side, chords on the first red line can drop off on either the third, second or the first strand, morover, the orders are reversed, hence the minus signs. &lt;br /&gt;
&lt;br /&gt;
The same picture for B^- yields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_2(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)-b^-(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The symmetry of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; has to have A(4)-symmetry. For example, rotation around the &amp;quot;top&amp;quot; vertex yields the following picture and relation:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
The same explanation goes here, and we get the relation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And here is the full picture and the relations (I suppose it would be enough to take a few that generate A(4), but we&#039;re on the safe side writing all these up... and I kind of got into drawing tetrahedrons.):&lt;br /&gt;
&lt;br /&gt;
[[Image:Tetrahedrons.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_4(x_1,x_2,x_3)=\varphi(-x_1-x_2,-x_2-x_3,x_2)-\varphi(x_1+x_2,x_3,-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_5(x_1,x_2,x_3)=\varphi(x_1+x_2,x_3,-x_2-x_3)-\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_6(x_1,x_2,x_3)=\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)-\varphi(-x_1-x_2,x_1,x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_7(x_1,x_2,x_3)=\varphi(-x_1-x_2,x_1,x_2+x_3)-\varphi(x_2+x_3,-x_3,-x_1-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_8(x_1,x_2,x_3)=\varphi(x_2+x_3,-x_3,-x_1-x_2)-\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_9(x_1,x_2,x_3)=\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)-\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{10}(x_1,x_2,x_3)=\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)-\varphi(-x_2-x_3,-x_1,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{11}(x_1,x_2,x_3)=\varphi(-x_2-x_3,-x_1,x_1+x_2)-\varphi(-x_1,x_1+x_2+x_3,-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{12}(x_1,x_2,x_3)=\varphi(-x_1,x_1+x_2+x_3,-x_3)-\varphi(x_3,-x_1-x_2-x_3,x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{13}(x_1,x_2,x_3)=\varphi(x_3,-x_1-x_2-x_3,x_1)-\varphi(-x_3,-x_2,-x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R1 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
[[Image:Reidemeister1.jpg]]&lt;br /&gt;
&lt;br /&gt;
As with the symmetry relations, we cannot write this one in the first notation either. &lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation, it looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \rho_1(x_1,x_2)=b^-(x_1,x_2,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where the negative sign is because the order of the chords is reversed as we slide them along the little loop.&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R2 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
With three sides of the shielding removed, the picture is:&lt;br /&gt;
[[Image:Reidemeister2.jpg]]&lt;br /&gt;
&lt;br /&gt;
This means:&lt;br /&gt;
&amp;lt;math&amp;gt;(123)^\star B^+ (132)^\star B^- = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linearized and in functional form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)+b^-(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And we get the other R2 by switching both crossings, i.e. switching b^+ and b^-:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2&#039;(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)+b^+(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&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 Reidemeister Move R4, source:Andy====&lt;br /&gt;
First version of R4: &lt;br /&gt;
[[Image:06-1350-R4a.png|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 \Phi = (1123)^\star \Phi (1233)^\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_{4a}(x_1,x_2,x_3,x_4) = b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + \phi(x_1,x_3,x_4) - \phi(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_3+x_4).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Second version: &lt;br /&gt;
[[Image:06-1350-R4b.png|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1123)^\star B^+ (1203)^\star B^+ (1231)^\star \Phi = (1230)^\star \Phi (1223)^\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_{4b}(x_1,x_2,x_3,x_4) = b^+(x_1+x_2,x_3,x_4) + b^+(x_1,x_2,x_4) + \phi(x_1+x_4,x_2,x_3) - \phi(x_1,x_2,x_3) - b^+(x_1,x_2+x_3,x_4).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The Operation unzip====&lt;br /&gt;
&lt;br /&gt;
Warning:  I am not sure if this is correct, but thought it better to post than not post.&lt;br /&gt;
&lt;br /&gt;
We have found the &amp;lt;math&amp;gt; u^A &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; d^A &amp;lt;/math&amp;gt;,&amp;lt;math&amp;gt; \#^A &amp;lt;/math&amp;gt; operations in the space &amp;lt;math&amp;gt;A(\Tau)&amp;lt;/math&amp;gt; corresponding to the &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt;,&amp;lt;math&amp;gt;  d&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \#&amp;lt;/math&amp;gt;,  in the space of &amp;lt;math&amp;gt;K(\Tau) &amp;lt;/math&amp;gt;, so that for the instance &amp;lt;math&amp;gt; u^A_e (Z (\gamma))= Z( u_e (\gamma))&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:unzip.jpg]]&lt;br /&gt;
&lt;br /&gt;
(on the LHS,I chose escapes routes for the chords ending on any shield first, then unzip in the space A (here I am not sure if I handled it correctly), and this should equal to the LHS: Z of the unzipped knot projection.)&lt;br /&gt;
&lt;br /&gt;
Linearized and in functional form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\phi(x_1,x_2,x_3)+\phi+(x_1+x_2,x_3,x_2)+\phi(x_1,x_2,x_3)+\phi+(x_1+x_3,x_3,x_2)==0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The part I don&#039;t quite understand: &lt;br /&gt;
When we unzip an edge with chords ending on it, we need to sum up all combinations of individual chords ending on the 2 unzipped edges; but here we have been treating the chords ending on an edge as just one single collection, so I only summed up the 2 ways of the collection ending on the unzipped edges&lt;br /&gt;
&lt;br /&gt;
====The Operation delete====&lt;br /&gt;
&lt;br /&gt;
Warning: sorry, I must be doing something wrong to obtain 0 on the LHS--since there are chords ending on the edge to be deleted, but non-zero on the RHS. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As above, &amp;lt;math&amp;gt; d^A_e (Z (\gamma))= Z( d_e (\gamma))&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:del.jpg]]&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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around B&amp;quot; Syzygy- I copy-pasted this from Andy, as well as R4====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding (and any other helpful notations) removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundB.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi B(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_{4a}(x_1+x_5,x_2,x_3,x_4) + \rho_{4b}(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_3+x_4,x_5) - \rho_{4a}(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_{4b}(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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&amp;quot; Syzygy -also taken from Andy====&lt;br /&gt;
&lt;br /&gt;
note: I&#039;ve changed Andy&#039;s notation to fit my version of R2.&lt;br /&gt;
&lt;br /&gt;
The picture is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundPhi.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi\Phi(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;-\rho_2&#039;(x_1+x_2,x_3,x_4) - \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) + \rho_{4b}(x_1+x_2,x_4,x_5,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_2&#039;(x_1,x_2,x_4) - \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_{4b}(x_1,x_4,x_5,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_{4a}(x_1,x_4+x_5,x_2,x_3) - \rho_{4b}(x_1,x_4,x_5,x_2+x_3) - \rho_{4a}(x_1+x_4,x_5,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) - \rho_{4a}(x_1,x_4,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1,x_2,x_4) + \rho_2&#039;(x_1+x_2,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the first and last terms cancel, as the two steps at the top of the diagram are opposites.&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>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=File:Del.jpg&amp;diff=3497</id>
		<title>File:Del.jpg</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=File:Del.jpg&amp;diff=3497"/>
		<updated>2007-01-12T01:50:12Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=File:Unzip.jpg&amp;diff=3488</id>
		<title>File:Unzip.jpg</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=File:Unzip.jpg&amp;diff=3488"/>
		<updated>2007-01-12T00:58:11Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3487</id>
		<title>User:Karenechu/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3487"/>
		<updated>2007-01-12T00:57:28Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* The Relations */&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;
A low-tech completed version of this chart (Suzie&#039;s):&lt;br /&gt;
&lt;br /&gt;
[[Image:chart.jpg]]&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Symmetry of B (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
To eliminate the choice involved in placing a B at a crossing, it has to have 180 degrees rotational symmetry. This yields the following picture:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The relation cannot be written in the first notation, as on the right side the chords ending on different red lines could end up on the same pink line.&lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation though we can express this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_1(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)-b^+(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation: on the right side, chords on the first red line can drop off on either the third, second or the first strand, morover, the orders are reversed, hence the minus signs. &lt;br /&gt;
&lt;br /&gt;
The same picture for B^- yields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_2(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)-b^-(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The symmetry of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; has to have A(4)-symmetry. For example, rotation around the &amp;quot;top&amp;quot; vertex yields the following picture and relation:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
The same explanation goes here, and we get the relation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And here is the full picture and the relations (I suppose it would be enough to take a few that generate A(4), but we&#039;re on the safe side writing all these up... and I kind of got into drawing tetrahedrons.):&lt;br /&gt;
&lt;br /&gt;
[[Image:Tetrahedrons.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_4(x_1,x_2,x_3)=\varphi(-x_1-x_2,-x_2-x_3,x_2)-\varphi(x_1+x_2,x_3,-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_5(x_1,x_2,x_3)=\varphi(x_1+x_2,x_3,-x_2-x_3)-\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_6(x_1,x_2,x_3)=\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)-\varphi(-x_1-x_2,x_1,x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_7(x_1,x_2,x_3)=\varphi(-x_1-x_2,x_1,x_2+x_3)-\varphi(x_2+x_3,-x_3,-x_1-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_8(x_1,x_2,x_3)=\varphi(x_2+x_3,-x_3,-x_1-x_2)-\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_9(x_1,x_2,x_3)=\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)-\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{10}(x_1,x_2,x_3)=\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)-\varphi(-x_2-x_3,-x_1,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{11}(x_1,x_2,x_3)=\varphi(-x_2-x_3,-x_1,x_1+x_2)-\varphi(-x_1,x_1+x_2+x_3,-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{12}(x_1,x_2,x_3)=\varphi(-x_1,x_1+x_2+x_3,-x_3)-\varphi(x_3,-x_1-x_2-x_3,x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{13}(x_1,x_2,x_3)=\varphi(x_3,-x_1-x_2-x_3,x_1)-\varphi(-x_3,-x_2,-x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R1 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
[[Image:Reidemeister1.jpg]]&lt;br /&gt;
&lt;br /&gt;
As with the symmetry relations, we cannot write this one in the first notation either. &lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation, it looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \rho_1(x_1,x_2)=b^-(x_1,x_2,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where the negative sign is because the order of the chords is reversed as we slide them along the little loop.&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R2 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
With three sides of the shielding removed, the picture is:&lt;br /&gt;
[[Image:Reidemeister2.jpg]]&lt;br /&gt;
&lt;br /&gt;
This means:&lt;br /&gt;
&amp;lt;math&amp;gt;(123)^\star B^+ (132)^\star B^- = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linearized and in functional form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)+b^-(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And we get the other R2 by switching both crossings, i.e. switching b^+ and b^-:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2&#039;(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)+b^+(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&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 Reidemeister Move R4, source:Andy====&lt;br /&gt;
First version of R4: &lt;br /&gt;
[[Image:06-1350-R4a.png|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 \Phi = (1123)^\star \Phi (1233)^\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_{4a}(x_1,x_2,x_3,x_4) = b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + \phi(x_1,x_3,x_4) - \phi(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_3+x_4).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Second version: &lt;br /&gt;
[[Image:06-1350-R4b.png|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1123)^\star B^+ (1203)^\star B^+ (1231)^\star \Phi = (1230)^\star \Phi (1223)^\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_{4b}(x_1,x_2,x_3,x_4) = b^+(x_1+x_2,x_3,x_4) + b^+(x_1,x_2,x_4) + \phi(x_1+x_4,x_2,x_3) - \phi(x_1,x_2,x_3) - b^+(x_1,x_2+x_3,x_4).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The Operation unzip====&lt;br /&gt;
[[Image:unzip.jpg]]&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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around B&amp;quot; Syzygy- I copy-pasted this from Andy, as well as R4====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding (and any other helpful notations) removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundB.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi B(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_{4a}(x_1+x_5,x_2,x_3,x_4) + \rho_{4b}(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_3+x_4,x_5) - \rho_{4a}(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_{4b}(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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&amp;quot; Syzygy -also taken from Andy====&lt;br /&gt;
&lt;br /&gt;
note: I&#039;ve changed Andy&#039;s notation to fit my version of R2.&lt;br /&gt;
&lt;br /&gt;
The picture is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundPhi.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi\Phi(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;-\rho_2&#039;(x_1+x_2,x_3,x_4) - \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) + \rho_{4b}(x_1+x_2,x_4,x_5,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_2&#039;(x_1,x_2,x_4) - \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_{4b}(x_1,x_4,x_5,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_{4a}(x_1,x_4+x_5,x_2,x_3) - \rho_{4b}(x_1,x_4,x_5,x_2+x_3) - \rho_{4a}(x_1+x_4,x_5,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) - \rho_{4a}(x_1,x_4,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1,x_2,x_4) + \rho_2&#039;(x_1+x_2,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the first and last terms cancel, as the two steps at the top of the diagram are opposites.&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>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3485</id>
		<title>User:Karenechu/06-1350-HW4</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=User:Karenechu/06-1350-HW4&amp;diff=3485"/>
		<updated>2007-01-11T22:07:08Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &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;
A low-tech completed version of this chart (Suzie&#039;s):&lt;br /&gt;
&lt;br /&gt;
[[Image:chart.jpg]]&lt;br /&gt;
&lt;br /&gt;
===The Relations===&lt;br /&gt;
&lt;br /&gt;
====The Symmetry of B (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
To eliminate the choice involved in placing a B at a crossing, it has to have 180 degrees rotational symmetry. This yields the following picture:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The relation cannot be written in the first notation, as on the right side the chords ending on different red lines could end up on the same pink line.&lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation though we can express this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_1(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)-b^+(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation: on the right side, chords on the first red line can drop off on either the third, second or the first strand, morover, the orders are reversed, hence the minus signs. &lt;br /&gt;
&lt;br /&gt;
The same picture for B^- yields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_2(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)-b^-(-x_1-x_2-x_3,-x_3,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The symmetry of &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; has to have A(4)-symmetry. For example, rotation around the &amp;quot;top&amp;quot; vertex yields the following picture and relation:&lt;br /&gt;
&lt;br /&gt;
[[Image:Symm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
The same explanation goes here, and we get the relation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And here is the full picture and the relations (I suppose it would be enough to take a few that generate A(4), but we&#039;re on the safe side writing all these up... and I kind of got into drawing tetrahedrons.):&lt;br /&gt;
&lt;br /&gt;
[[Image:Tetrahedrons.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_3(x_1,x_2,x_3)=\varphi(x_1,x_2,x_3)-\varphi(-x_1-x_2,-x_2-x_3,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_4(x_1,x_2,x_3)=\varphi(-x_1-x_2,-x_2-x_3,x_2)-\varphi(x_1+x_2,x_3,-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_5(x_1,x_2,x_3)=\varphi(x_1+x_2,x_3,-x_2-x_3)-\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_6(x_1,x_2,x_3)=\varphi(x_2,-x_1-x_2,x_1+x_2+x_3)-\varphi(-x_1-x_2,x_1,x_2+x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_7(x_1,x_2,x_3)=\varphi(-x_1-x_2,x_1,x_2+x_3)-\varphi(x_2+x_3,-x_3,-x_1-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_8(x_1,x_2,x_3)=\varphi(x_2+x_3,-x_3,-x_1-x_2)-\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_9(x_1,x_2,x_3)=\varphi(-x_1-x_2-x_3,-x_2,x_1+x_2)-\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{10}(x_1,x_2,x_3)=\varphi(-x_2,x_2+x_3,-x_1-x_2-x_3)-\varphi(-x_2-x_3,-x_1,x_1+x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{11}(x_1,x_2,x_3)=\varphi(-x_2-x_3,-x_1,x_1+x_2)-\varphi(-x_1,x_1+x_2+x_3,-x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{12}(x_1,x_2,x_3)=\varphi(-x_1,x_1+x_2+x_3,-x_3)-\varphi(x_3,-x_1-x_2-x_3,x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s_{13}(x_1,x_2,x_3)=\varphi(x_3,-x_1-x_2-x_3,x_1)-\varphi(-x_3,-x_2,-x_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R1 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
[[Image:Reidemeister1.jpg]]&lt;br /&gt;
&lt;br /&gt;
As with the symmetry relations, we cannot write this one in the first notation either. &lt;br /&gt;
&lt;br /&gt;
In the linearized functional notation, it looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \rho_1(x_1,x_2)=b^-(x_1,x_2,-x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where the negative sign is because the order of the chords is reversed as we slide them along the little loop.&lt;br /&gt;
&lt;br /&gt;
====The Reidemeister move R2 (Suzie&#039;s)====&lt;br /&gt;
&lt;br /&gt;
With three sides of the shielding removed, the picture is:&lt;br /&gt;
[[Image:Reidemeister2.jpg]]&lt;br /&gt;
&lt;br /&gt;
This means:&lt;br /&gt;
&amp;lt;math&amp;gt;(123)^\star B^+ (132)^\star B^- = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linearized and in functional form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2(x_1,x_2,x_3)=b^+(x_1,x_2,x_3)+b^-(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And we get the other R2 by switching both crossings, i.e. switching b^+ and b^-:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho_2&#039;(x_1,x_2,x_3)=b^-(x_1,x_2,x_3)+b^+(x_1,x_3,x_2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&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 Reidemeister Move R4, source:Andy====&lt;br /&gt;
First version of R4: &lt;br /&gt;
[[Image:06-1350-R4a.png|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 \Phi = (1123)^\star \Phi (1233)^\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_{4a}(x_1,x_2,x_3,x_4) = b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + \phi(x_1,x_3,x_4) - \phi(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_3+x_4).&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Second version: &lt;br /&gt;
[[Image:06-1350-R4b.png|center]]&lt;br /&gt;
In formulas, this is&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;(1123)^\star B^+ (1203)^\star B^+ (1231)^\star \Phi = (1230)^\star \Phi (1223)^\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_{4b}(x_1,x_2,x_3,x_4) = b^+(x_1+x_2,x_3,x_4) + b^+(x_1,x_2,x_4) + \phi(x_1+x_4,x_2,x_3) - \phi(x_1,x_2,x_3) - b^+(x_1,x_2+x_3,x_4).&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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around B&amp;quot; Syzygy- I copy-pasted this from Andy, as well as R4====&lt;br /&gt;
&lt;br /&gt;
The picture, with all shielding (and any other helpful notations) removed, is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundB.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi B(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_{4a}(x_1+x_5,x_2,x_3,x_4) + \rho_{4b}(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_3+x_4,x_5) - \rho_{4a}(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_{4b}(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;
====The &amp;quot;&amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt; around &amp;lt;math&amp;gt;\Phi&amp;lt;/math&amp;gt;&amp;quot; Syzygy -also taken from Andy====&lt;br /&gt;
&lt;br /&gt;
note: I&#039;ve changed Andy&#039;s notation to fit my version of R2.&lt;br /&gt;
&lt;br /&gt;
The picture is&lt;br /&gt;
{| align=center&lt;br /&gt;
|- align=center&lt;br /&gt;
|[[Image:06-1350-PhiAroundPhi.png|center]]&lt;br /&gt;
|-&lt;br /&gt;
|align=right|(Drawn with [http://asymptote.sf.net/ Asymptote], [[06-1350/Syzygies in Asymptote|Syzygies in Asymptote]])&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;\Phi\Phi(x_1,x_2,x_3,x_4,x_5) = &amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;-\rho_2&#039;(x_1+x_2,x_3,x_4) - \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) + \rho_{4b}(x_1+x_2,x_4,x_5,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;- \rho_2&#039;(x_1,x_2,x_4) - \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_{4b}(x_1,x_4,x_5,x_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_{4a}(x_1,x_4+x_5,x_2,x_3) - \rho_{4b}(x_1,x_4,x_5,x_2+x_3) - \rho_{4a}(x_1+x_4,x_5,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1+x_4,x_2,x_5) + \rho_2&#039;(x_1+x_2+x_4,x_3,x_5) - \rho_{4a}(x_1,x_4,x_2,x_3)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;+ \rho_2&#039;(x_1,x_2,x_4) + \rho_2&#039;(x_1+x_2,x_3,x_4)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the first and last terms cancel, as the two steps at the top of the diagram are opposites.&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>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=06-1350/Homework_Assignment_4&amp;diff=3484</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=3484"/>
		<updated>2007-01-11T22:03:33Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* 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;br /&gt;
&lt;br /&gt;
[[User:zsuzsi/HW4]] (worked out some relations and copied Andy&#039;s work)&lt;br /&gt;
&lt;br /&gt;
[[User:Sankaran/06-1350-HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:Bailey/HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:michael/HW4]]&lt;br /&gt;
&lt;br /&gt;
[[User:Karenechu/06-1350-HW4]]&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=06-1350/Class_Photo&amp;diff=2425</id>
		<title>06-1350/Class Photo</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=06-1350/Class_Photo&amp;diff=2425"/>
		<updated>2006-10-22T04:37:15Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Who We Are */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our class on September 28, 2006:&lt;br /&gt;
&lt;br /&gt;
[[Image:06-1350-ClassPhoto.jpg|thumb|center|500px|Class Photo: click to enlarge]]&lt;br /&gt;
{{06-1350/Navigation}}&lt;br /&gt;
Please identify yourself in this photo! There are two ways to do that:&lt;br /&gt;
&lt;br /&gt;
* [[Special:Userlogin|Log in]] to this Wiki and edit this page. Put your name, userid, email address and location in the picture in the alphabetical list below.&lt;br /&gt;
* Send [[User:Drorbn|Dror]] an email message with this information.&lt;br /&gt;
&lt;br /&gt;
The first option is more fun but less private.&lt;br /&gt;
&lt;br /&gt;
===Who We Are===&lt;br /&gt;
&lt;br /&gt;
{| align=center border=1&lt;br /&gt;
|-&lt;br /&gt;
!First name&lt;br /&gt;
!Last name&lt;br /&gt;
!UserID&lt;br /&gt;
!Email&lt;br /&gt;
!In the photo&lt;br /&gt;
!Comments&lt;br /&gt;
{{Photo Entry|last=Bar-Natan|first=Dror|userid=Drorbn|email=drorbn@ math.toronto.edu|location=facing everybody, as the photographer|comments=Take this entry as a model and leave it first. Otherwise alphabetize by last name. Feel free to leave some fields blank}}&lt;br /&gt;
{{Photo Entry|last=Bailey|first=Michael|userid=Michael|email=bailey@ math.toronto.edu|location=the guy looking all mysterious like it&#039;s a perfume commercial or something|comments=}}&lt;br /&gt;
{{Photo Entry|last=Chu|first=Karene|userid=Karene|email=karene@ math.toronto.edu|location=second row 3rd from left|comments=}}&lt;br /&gt;
{{Photo Entry|last=Dancso|first=Zsuzsi|userid=Zsuzsi|email=zsuzsi@ math.toronto.edu|location=first row, second from the right|comments=}}&lt;br /&gt;
{{Photo Entry|last=Hammerlindl|first=Andy|userid=Andy|email=hammera@ telusplanet.net|location=third row, third from right|comments=}}&lt;br /&gt;
{{Photo Entry|last=Ivrii|first=Oleg|userid=Oivrii|email=oleg@ math.toronto.edu|location=last row, middle of the sitting |comments=}}&lt;br /&gt;
{{Photo Entry|last=de Jong|first=Michael|userid=michael|email=michael.dejong@ utoronto.ca|location=standing in the back, on the left|comments=}}&lt;br /&gt;
{{Photo Entry|last=Archibald|first=Jana|userid=Jana|email=jfa@ math.toronto.edu|location=Third row, First on right|comments=}}&lt;br /&gt;
{{Photo Entry|last=Shaw|first=Kristin|userid=Shawkm|email=shawkm@ math.toronto.edu|location=second row, second from the left|comments=}}&lt;br /&gt;
{{Photo Entry|last=Antolin Camarena|first=Omar|userid=Oantolin|email=oantolin@ math.toronto.edu|location=second row, furthest to the left (mostly obscured by people in front row)|comments=}}&lt;br /&gt;
{{Photo Entry|last=Roukema|first=Fionntan|userid=Roukema|email=froukema@ math.toronto.edu|location=First row, furthest to the right. Head roughly where the diagonals of the picture meet. Don&#039;t seem to be wearing socks of any great worth|comments=}}&lt;br /&gt;
{{Photo Entry|last=Sankaran|first=Siddarth|userid=Sankaran|email=siddarth.sankaran@ utoronto. ca |location= Front row centre.|comments=}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=06-1350/Class_Photo&amp;diff=2424</id>
		<title>06-1350/Class Photo</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=06-1350/Class_Photo&amp;diff=2424"/>
		<updated>2006-10-22T04:35:04Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Who We Are */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our class on September 28, 2006:&lt;br /&gt;
&lt;br /&gt;
[[Image:06-1350-ClassPhoto.jpg|thumb|center|500px|Class Photo: click to enlarge]]&lt;br /&gt;
{{06-1350/Navigation}}&lt;br /&gt;
Please identify yourself in this photo! There are two ways to do that:&lt;br /&gt;
&lt;br /&gt;
* [[Special:Userlogin|Log in]] to this Wiki and edit this page. Put your name, userid, email address and location in the picture in the alphabetical list below.&lt;br /&gt;
* Send [[User:Drorbn|Dror]] an email message with this information.&lt;br /&gt;
&lt;br /&gt;
The first option is more fun but less private.&lt;br /&gt;
&lt;br /&gt;
===Who We Are===&lt;br /&gt;
&lt;br /&gt;
{| align=center border=1&lt;br /&gt;
|-&lt;br /&gt;
!First name&lt;br /&gt;
!Last name&lt;br /&gt;
!UserID&lt;br /&gt;
!Email&lt;br /&gt;
!In the photo&lt;br /&gt;
!Comments&lt;br /&gt;
{{Photo Entry|last=Bar-Natan|first=Dror|userid=Drorbn|email=drorbn@ math.toronto.edu|location=facing everybody, as the photographer|comments=Take this entry as a model and leave it first. Otherwise alphabetize by last name. Feel free to leave some fields blank}}&lt;br /&gt;
{{Photo Entry|last=Bailey|first=Michael|userid=Michael|email=bailey@ math.toronto.edu|location=the guy looking all mysterious like it&#039;s a perfume commercial or something|comments=}}&lt;br /&gt;
{{Photo Entry|last=Chu|first=Karene|userid=Karene|email=karene@ math.toronto.edu|location=|comments=}}&lt;br /&gt;
{{Photo Entry|last=Dancso|first=Zsuzsi|userid=Zsuzsi|email=zsuzsi@ math.toronto.edu|location=first row, second from the right|comments=}}&lt;br /&gt;
{{Photo Entry|last=Hammerlindl|first=Andy|userid=Andy|email=hammera@ telusplanet.net|location=third row, third from right|comments=}}&lt;br /&gt;
{{Photo Entry|last=Ivrii|first=Oleg|userid=Oivrii|email=oleg@ math.toronto.edu|location=last row, middle of the sitting |comments=}}&lt;br /&gt;
{{Photo Entry|last=de Jong|first=Michael|userid=michael|email=michael.dejong@ utoronto.ca|location=standing in the back, on the left|comments=}}&lt;br /&gt;
{{Photo Entry|last=Archibald|first=Jana|userid=Jana|email=jfa@ math.toronto.edu|location=Third row, First on right|comments=}}&lt;br /&gt;
{{Photo Entry|last=Shaw|first=Kristin|userid=Shawkm|email=shawkm@ math.toronto.edu|location=second row, second from the left|comments=}}&lt;br /&gt;
{{Photo Entry|last=Antolin Camarena|first=Omar|userid=Oantolin|email=oantolin@ math.toronto.edu|location=second row, furthest to the left (mostly obscured by people in front row)|comments=}}&lt;br /&gt;
{{Photo Entry|last=Roukema|first=Fionntan|userid=Roukema|email=froukema@ math.toronto.edu|location=First row, furthest to the right. Head roughly where the diagonals of the picture meet. Don&#039;t seem to be wearing socks of any great worth|comments=}}&lt;br /&gt;
{{Photo Entry|last=Sankaran|first=Siddarth|userid=Sankaran|email=siddarth.sankaran@ utoronto. ca |location= Front row centre.|comments=}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=2001</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=2001"/>
		<updated>2006-09-22T03:14:14Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation].&lt;br /&gt;
&lt;br /&gt;
*The trivial but time-consuming part was to try to optimize the add/simplify function.  I wrote binary search/sort functions that used the basis of the Free Lie Algebra, but realize afterwards that it would be better to just binary sort the &amp;lt;math&amp;gt;i^{th}&amp;lt;/math&amp;gt; term (assuming the summands are already reduced to a linear combination of the basis)into the 1 to &amp;lt;math&amp;gt;i-1^{th}&amp;lt;/math&amp;gt; terms because the generated basis takes up a lot of memory and limits the maximum length at which any calculation can be done just because the basis for that length is too big.  The latter option is also as efficient as the first.  Depending on if we will need to generate the basis anyways for our calculation, the add/simplify method will be changed.&lt;br /&gt;
&lt;br /&gt;
====Sept 19====&lt;br /&gt;
&lt;br /&gt;
*Written algorithm to reduce any Lie Tree of generators in the form &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; for any i,j pair to a Lie Tree with generators of the same reach only, where &amp;lt;math&amp;gt;reach (t_{i,j})= max \{i, j\}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*I now need to decide how to restructure all the java classes. For instance, should I modify the LieTree class so that any LieTree object involves generators of a generic generator class and make a child class which uses the specific generators &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; or is &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; practically the most general form of a generator already?&lt;br /&gt;
&lt;br /&gt;
====Sept 21====&lt;br /&gt;
&lt;br /&gt;
*My plan was originally to have the FreeLieMod4TTree class inherit the FreeLieTree class with the extra mod4T relation only in the child class, s.t. we can use the parent class for plain Free Lie Algebra, and also we can use the parent class as the starting point for other types of modification to the FreeLieAlgebra (e.g., modding another relation); and similarly to have the FreeLieMod4TTreeVector class inherit the FreeLieTreeVector class.  The problem is that my parent class, FreeLieTree class have fields, namely the left and right subtrees, that are of the FreeLieTree class itself, and in the child class, I would have to redeclare those fields to be of the child class type, FreeLieTreeMod4TTree, such that for each object of the child class, it would have both the subtrees declared within the child class of the child class type and also the subtrees within  the parent class structure.  I am not sure if this will simply make each tree too big, even though the subtrees within the parent class structures do not need to be initialized.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1949</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1949"/>
		<updated>2006-09-19T17:30:54Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Sept 19 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation].&lt;br /&gt;
&lt;br /&gt;
*The trivial but time-consuming part was to try to optimize the add/simplify function.  I wrote binary search/sort functions that used the basis of the Free Lie Algebra, but realize afterwards that it would be better to just binary sort the &amp;lt;math&amp;gt;i^{th}&amp;lt;/math&amp;gt; term (assuming the summands are already reduced to a linear combination of the basis)into the 1 to &amp;lt;math&amp;gt;i-1^{th}&amp;lt;/math&amp;gt; terms because the generated basis takes up a lot of memory and limits the maximum length at which any calculation can be done just because the basis for that length is too big.  The latter option is also as efficient as the first.  Depending on if we will need to generate the basis anyways for our calculation, the add/simplify method will be changed.&lt;br /&gt;
&lt;br /&gt;
====Sept 19====&lt;br /&gt;
&lt;br /&gt;
*Written algorithm to reduce any Lie Tree of generators in the form &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; for any i,j pair to a Lie Tree with generators of the same reach only, where &amp;lt;math&amp;gt;reach (t_{i,j})= max \{i, j\}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*I now need to decide how to restructure all the java classes. For instance, should I modify the LieTree class so that any LieTree object involves generators of a generic generator class and make a child class which uses the specific generators &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; or is &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; practically the most general form of a generator already?&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1948</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1948"/>
		<updated>2006-09-19T17:29:19Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Sept 19 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation].&lt;br /&gt;
&lt;br /&gt;
*The trivial but time-consuming part was to try to optimize the add/simplify function.  I wrote binary search/sort functions that used the basis of the Free Lie Algebra, but realize afterwards that it would be better to just binary sort the &amp;lt;math&amp;gt;i^{th}&amp;lt;/math&amp;gt; term (assuming the summands are already reduced to a linear combination of the basis)into the 1 to &amp;lt;math&amp;gt;i-1^{th}&amp;lt;/math&amp;gt; terms because the generated basis takes up a lot of memory and limits the maximum length at which any calculation can be done just because the basis for that length is too big.  The latter option is also as efficient as the first.  Depending on if we will need to generate the basis anyways for our calculation, the add/simplify method will be changed.&lt;br /&gt;
&lt;br /&gt;
====Sept 19====&lt;br /&gt;
&lt;br /&gt;
*Written algorithm to reduce any Lie Tree of generators in the form &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; for any i,j pair to a Lie Tree with generators of the same reach only, where &amp;lt;math&amp;gt;reach (t_{i,j})= max \{i, j\}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*I now need to decide how to restructure all the java classes. For instance, should I modify the LieTree class so that any LieTree object involves generators of a generic generator class and make a child class which uses the specific generators &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; or is &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; practically the most general form already?&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1947</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1947"/>
		<updated>2006-09-19T17:12:48Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* August 16 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation].&lt;br /&gt;
&lt;br /&gt;
*The trivial but time-consuming part was to try to optimize the add/simplify function.  I wrote binary search/sort functions that used the basis of the Free Lie Algebra, but realize afterwards that it would be better to just binary sort the &amp;lt;math&amp;gt;i^{th}&amp;lt;/math&amp;gt; term (assuming the summands are already reduced to a linear combination of the basis)into the 1 to &amp;lt;math&amp;gt;i-1^{th}&amp;lt;/math&amp;gt; terms because the generated basis takes up a lot of memory and limits the maximum length at which any calculation can be done just because the basis for that length is too big.  The latter option is also as efficient as the first.  Depending on if we will need to generate the basis anyways for our calculation, the add/simplify method will be changed.&lt;br /&gt;
&lt;br /&gt;
====Sept 19====&lt;br /&gt;
&lt;br /&gt;
*Written algorithm to reduce any Lie Tree of generators in the form &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; for any i,j pair to a Lie Tree with generators of the same reach only, where &amp;lt;math&amp;gt;reach (t_{i,j})= max \{i, j\}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*I now need to decide how to restructure all the java classes. For instance, should I modify the LieTree class so that any LieTree object involves generators of a generic generator class and make a child class which uses the specific generators &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt;?&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1946</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1946"/>
		<updated>2006-09-19T17:09:18Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Sept 19 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation].&lt;br /&gt;
&lt;br /&gt;
*The trivial but time-consuming part was to try to optimize the add/simplify function.  I wrote binary search/sort functions that used the basis of the Free Lie Algebra, but realize afterwards that it would be better to just binary sort the i^{th} term (assuming the summands are already reduced to a linear combination of the basis)into the 1 to i-1^{th} terms because the generated basis takes up a lot of memory and limits the maximum length at which any calculation can be done just because the basis for that length is too big.  The latter option is also as efficient as the first.  Depending on if we will need to generate the basis anyways for our calculation, the add/simplify method will be changed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Sept 19====&lt;br /&gt;
&lt;br /&gt;
*Written algorithm to reduce any Lie Tree of generators in the form &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; for any i,j pair to a Lie Tree with generators of the same reach only, where &amp;lt;math&amp;gt;reach (t_{i,j})= max \{i, j\}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*I now need to decide how to restructure all the java classes. For instance, should I modify the LieTree class so that any LieTree object involves generators of a generic generator class and make a child class which uses the specific generators &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt;?&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1945</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1945"/>
		<updated>2006-09-19T17:07:27Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation].&lt;br /&gt;
&lt;br /&gt;
*The trivial but time-consuming part was to try to optimize the add/simplify function.  I wrote binary search/sort functions that used the basis of the Free Lie Algebra, but realize afterwards that it would be better to just binary sort the i^{th} term (assuming the summands are already reduced to a linear combination of the basis)into the 1 to i-1^{th} terms because the generated basis takes up a lot of memory and limits the maximum length at which any calculation can be done just because the basis for that length is too big.  The latter option is also as efficient as the first.  Depending on if we will need to generate the basis anyways for our calculation, the add/simplify method will be changed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Sept 19====&lt;br /&gt;
&lt;br /&gt;
*Written algorithm to reduce any Lie Tree of generators in the form &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt; for any i,j pair to a Lie Tree with generators of the same reach only. &lt;br /&gt;
&lt;br /&gt;
*I now need to decide how to restructure all the java classes. For instance, should I modify the LieTree class so that any LieTree object involves generators of a generic generator class and make a child class which uses the specific generators &amp;lt;math&amp;gt;t_{i,j}&amp;lt;/math&amp;gt;?&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1738</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1738"/>
		<updated>2006-08-17T19:53:45Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* 1. Scalar multiplication and Addition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]] (not formatted yet)==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso) package ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simply open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]] and is represented, for example, by:&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, each word implies a unique tree structure.  They are represented, for example, by&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Important note&#039;&#039;&#039;&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Linear combination of Words:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (linear combination of words wrapped with the FLn head){{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] &lt;br /&gt;
                  + FL3[2LW[a, b, b, a, b, b, b] +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduced to the Lyndon basis form, but a sum of the FLn elements is.&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;      LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4  LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge.&lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[ FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
          FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[  8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1737</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1737"/>
		<updated>2006-08-17T19:52:05Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Notation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]] (not formatted yet)==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso) package ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simply open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]] and is represented, for example, by:&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, each word implies a unique tree structure.  They are represented, for example, by&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Important note&#039;&#039;&#039;&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt;      LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4  LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge.&lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[ FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
          FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[  8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1732</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1732"/>
		<updated>2006-08-17T16:56:40Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation Documentation].&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1731</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1731"/>
		<updated>2006-08-17T16:54:49Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====June 2====&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [[HoriAsso|Documentation]] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [[HoriAsso|Documentation]].&lt;br /&gt;
&lt;br /&gt;
====June 5====&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
====August 16====&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [[HoriAsso|Documentation]].&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1730</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1730"/>
		<updated>2006-08-17T16:54:31Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===June 2===&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [[HoriAsso|Documentation]] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [[HoriAsso|Documentation]].&lt;br /&gt;
&lt;br /&gt;
===June 5===&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;br /&gt;
&lt;br /&gt;
===August 16===&lt;br /&gt;
*Written the Java Free Lie Algebra package and documented it in [[HoriAsso|Documentation]].&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1725</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1725"/>
		<updated>2006-08-17T16:43:02Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* 3. Lie Brackets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso) package ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simply open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]] and is represented, for example, by:&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, each word implies a unique tree structure.  They are represented, for example, by&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Important note&#039;&#039;&#039;&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[ FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
          FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[  8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1724</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1724"/>
		<updated>2006-08-17T16:41:21Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Notation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso) package ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simply open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]] and is represented, for example, by:&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, each word implies a unique tree structure.  They are represented, for example, by&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;&#039;&#039;Important note&#039;&#039;&#039;&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
        FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1723</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1723"/>
		<updated>2006-08-17T16:39:26Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Notation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso) package ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simply open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]] and is represented by:&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
        FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1722</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1722"/>
		<updated>2006-08-17T16:37:30Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Demo &amp;#039;&amp;#039;Mathematica&amp;#039;&amp;#039; NoteBook */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso) package ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simply open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
        FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1721</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1721"/>
		<updated>2006-08-17T16:36:51Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* How to use the Free Lie Algebra (first part in the HoriAsso package) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso) package ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
        FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1720</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1720"/>
		<updated>2006-08-17T16:34:28Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* 3. Lie Brackets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=18| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
        FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1719</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1719"/>
		<updated>2006-08-17T16:33:59Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Algebraic Operation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====1. Scalar multiplication and Addition=====&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=14|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2. Reduce to linear combination of Lyndon basis elements=====&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=15|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;initializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=16| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b,  b] &lt;br /&gt;
   - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
=====3. Lie Brackets=====&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=17| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt;-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]], &lt;br /&gt;
        FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=&amp;lt;nowiki&amp;gt; FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] &lt;br /&gt;
     - 4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, c] &lt;br /&gt;
     + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, b, a, b, c, a, c] &lt;br /&gt;
     - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1718</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1718"/>
		<updated>2006-08-17T16:28:35Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Algebraic Operation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Scalar multiplication&#039;&#039;&#039; and &#039;&#039;&#039;Addition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
:At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
:Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Reduce to linear combination of Lyndon basis elements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
:For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b] &lt;br /&gt;
  + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3  LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
  -   LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5  LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
  - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4  LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
  + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9  LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
  -   LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b, b, b, b, a, b, b] &lt;br /&gt;
  -12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2  LW[a, a, a, a, b, b, a, a, b, b, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3  LW[a, a, a, a, b, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, a, b, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6  LW[a, a, a, a, b, b, b, b, a, b, b, a, b]  &lt;br /&gt;
  +   LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[a, a, a, a, b, b, b, b, b, a, b, a, b]&lt;br /&gt;
  + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - 6  LW[a, a, a, b, a, a, b, a, b, b, b, b, b] &lt;br /&gt;
  - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2  LW[a, a, a, b, a, a, b, b, b, b, a, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2  LW[a, a, a, b, a, b, a, a, b, b, b, b, b] &lt;br /&gt;
  + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4  LW[a, a, a, b, a, b, a, b, b, a, b, b, b] &lt;br /&gt;
  - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8  LW[a, a, a, b, a, b, a, b, b, b, b, a, b]&lt;br /&gt;
  - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4  LW[a, a, a, b, a, b, b, a, b, b, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2  LW[a, a, a, b, a, b, b, b, b, a, a, b, b] &lt;br /&gt;
  + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] -    LW[a, a, a, b, b, a, a, b, b, a, b, b, b] &lt;br /&gt;
  +   LW[a, a, a, b, b, a, a, b, b, b, b, a, b] -    LW[a, a, a, b, b, a, b, a, b, a, b, b, b] &lt;br /&gt;
  + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2  LW[a, a, a, b, b, b, b, a, b, a, b, a, b] &lt;br /&gt;
  + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1717</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1717"/>
		<updated>2006-08-17T16:21:38Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Algebraic Operation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Scalar multiplication&#039;&#039;&#039; and &#039;&#039;&#039;Addition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
:At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
:Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=13|in = &lt;br /&gt;
LinCombOfWords = &amp;lt;nowiki&amp;gt;  2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] &lt;br /&gt;
                 - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &lt;br /&gt;
SumOfFL3Elements = &amp;lt;nowiki&amp;gt;FL3[ -4 LW[a, b, a, b, a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]&lt;br /&gt;
                        +RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Reduce to linear combination of Lyndon basis elements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
:For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out = &amp;lt;nowiki&amp;gt; LW[a, a, a, a, a, a, b, b, b, b, b, b, b] &lt;br /&gt;
     + 4 LW[a, a, a, a, a, b, a, b, b, b, b, b, b]&lt;br /&gt;
     + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] &lt;br /&gt;
     + 3 LW[a, a, a, a, a, b, b, b, a, b, b, b, b] &lt;br /&gt;
     - LW[a, a, a, a, a, b, b, b, b, a, b, b, b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] &lt;br /&gt;
     - 7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, b, b, b, b, b] &lt;br /&gt;
     + 9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, a, b, b, b, b]&lt;br /&gt;
     - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]&amp;lt;/nowiki}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1716</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1716"/>
		<updated>2006-08-17T16:05:12Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Algebraic Operation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Scalar multiplication&#039;&#039;&#039; and &#039;&#039;&#039;Addition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:You could form either linear combinations of words (RComb and LW) as you would with other &#039;&#039;Mathematica&#039;&#039; expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum and scalar multiplication are simply formal and is the original &#039;&#039;Mathematica&#039;&#039; Plus/Times functions, but in the case with FL2, 3 or 4 heads, the sum is done in  &#039;&#039;Java&#039;&#039; and reduced into the linear combination of the Lyndon basis elements.  &lt;br /&gt;
&lt;br /&gt;
:At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
:Sum of Linear combination of Word:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] &amp;lt;br/&amp;gt;&lt;br /&gt;
- RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1715</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1715"/>
		<updated>2006-08-17T16:01:14Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Notation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
:Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 {{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample = RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample = LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
:You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Important note&#039;&#039;: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample = FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1714</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1714"/>
		<updated>2006-08-17T15:59:15Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Necessary Initialization Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
# Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
#Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 &lt;br /&gt;
{{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample=RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample=LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
Important note: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3, Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;gt;|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1713</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1713"/>
		<updated>2006-08-17T15:58:10Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Necessary Initialization Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
1. In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: &lt;br /&gt;
: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
: where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
2. (Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Performance note&#039;&#039;:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word e Notelength of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
:where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
# Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
#Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 &lt;br /&gt;
{{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample=RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample=LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
Important note: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3, Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;gt;|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1711</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1711"/>
		<updated>2006-08-16T20:42:51Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Necessary Initialization Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
# In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by: {{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt;}} where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
#(Optional) For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Performance Note:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word length of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
# Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
#Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 &lt;br /&gt;
{{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample=RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample=LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
Important note: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3, Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;gt;|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1710</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1710"/>
		<updated>2006-08-16T15:09:00Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Notation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
#  In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2(Optional).  For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Performance Note:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word length of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
&lt;br /&gt;
# Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
#Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 &lt;br /&gt;
{{In|n=9|in=&amp;lt;nowiki&amp;gt;RCombExample=RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
&lt;br /&gt;
{{In|n=10|in=&amp;lt;nowiki&amp;gt;LyndonWordExample=LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=11|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
Important note: In &#039;&#039;Java&#039;&#039;, you could replace the left or right subtree of a Lie tree by any tree, resulting in tree structures that are neither right-combs or Lyndon.  However, this Mathematica interface assumes that if a Lie tree is not a Lyndon Word, it would be a right-comb; using those Java methods (namely &#039;&#039;javatree@setLeft(or right)Subtree(new_left(or_right)_subtree))&#039;&#039; directly in &#039;&#039;Mathematica&#039;&#039; will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3, Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=12|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;gt;|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1709</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1709"/>
		<updated>2006-08-16T15:05:43Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Necessary Initialization Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
#  In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2(Optional).  For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Algebraic_Operation Algebraic Operations] section below for its impact.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Performance Note:  For the default &#039;&#039;Java&#039;&#039; runtime on a computer with 1G RAM, a maximum word length of 12 in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=8|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie-trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 &lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;RCombExample=RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;LyndonWordExample=LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
Note: In Java, you could replace the left or right subtree of a Lie tree by any tree, giving structures that are neither Right-Combs or Lyndon.  However, the interface assumes that if it is not a Lyndon Word, it would be a Right Comb; using those Java methods (namely javatree@setLeft(or right)Subtree(new_left(or_right)_subtree)) directly in Mathematica will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3, Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;gt;|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1708</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1708"/>
		<updated>2006-08-16T15:03:59Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Necessary Initialization Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
#  In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2(Optional).  For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;]    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
3. Let &#039;&#039;Mathematica&#039;&#039; know where to look for the necessary Java class files:&lt;br /&gt;
&lt;br /&gt;
{{In|n=3|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_Java_Class_folder&amp;quot; is the path to the folder that contains the downloaded &#039;&#039;Java&#039;&#039; Class files, or simply the path to the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=4|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
or Create the Lyndon basis for the different Free Lie Algebras separately by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=5|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=6|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=7|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
where the argument controls the word length up to which the Lyndon bases will contain elements of. Please read the &amp;quot;Algebraic operations&amp;quot; section below for its effect.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Performance Note:  For the default java runtime on a computer with 1G RAM, 12 as the maximum word length in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie-trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 &lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;RCombExample=RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;LyndonWordExample=LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
Note: In Java, you could replace the left or right subtree of a Lie tree by any tree, giving structures that are neither Right-Combs or Lyndon.  However, the interface assumes that if it is not a Lyndon Word, it would be a Right Comb; using those Java methods (namely javatree@setLeft(or right)Subtree(new_left(or_right)_subtree)) directly in Mathematica will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3, Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;gt;|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1707</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1707"/>
		<updated>2006-08-16T15:00:55Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Necessary Initialization Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==[[Installation and Setup for using Java in Mathematica]]==&lt;br /&gt;
&lt;br /&gt;
==[[Java Class Documentation]]==&lt;br /&gt;
&lt;br /&gt;
==How to use the Free Lie Algebra (first part in the HoriAsso package)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The space of the direct sum of free Lie algebras with 1,2, and 3 generators with an extended Lie Bracket is needed to calculate the Horizontal associator.   This first package sets up the free Lie Algebras with 1,2, and 3 generators.  &lt;br /&gt;
&lt;br /&gt;
This package uses Java Classes and a Mathematica interface.  You could use the package from Mathematica following the below instructions or build your own Java application using the Classes directly using the [[Java Class Documentation]].&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Please download the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder from our [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/  repository]. This folder includes the compiled &#039;&#039;Java&#039;&#039; Class files, and the &#039;&#039;Mathematica/Java&#039;&#039; interface &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039;;  otherwise, if you are online during the &#039;&#039;Mathematica&#039;&#039; session, enter the path to the repository during the initialization steps according to the section [http://katlas.math.toronto.edu/drorbn/index.php?title=HoriAsso_-_Documentation#Necessary_Initialization_Steps Necessary Initialization Steps]below. &lt;br /&gt;
&lt;br /&gt;
Note:  This will be archived once the package is more complete.&lt;br /&gt;
&lt;br /&gt;
===Demo &#039;&#039;Mathematica&#039;&#039; NoteBook===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;Mathematica&#039;&#039; notebook file named &#039;&#039;&#039;&#039;&#039;HoriAssoFLnSpaceDemo.nb&#039;&#039;&#039;&#039;&#039; to demonstrate the usage of this Free Lie Algebra package is included in the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder that you just downloaded from the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk/FreeLieAlgebra repository].  After installation (as above), simple open the notebook in &#039;&#039;Mathematica&#039;&#039;, follow the simple initialization steps below, (i.e., modifying path names and parameters in the demo file), and evaluate the cells as you wish.&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;HoriAsso&#039;&#039;&#039;&#039;&#039; &#039;&#039;Mathematica&#039;&#039; interface is set up to do computations only in Free Lie Algebras with 1,2, and 3 generators, named FL2, FL3, FL4 respectively, with the suffix being (1 + number of generators).  &lt;br /&gt;
&lt;br /&gt;
Note:  You could do computations in Free Lie Algebras with more generators if you use the &#039;&#039;Java&#039;&#039; classes directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Necessary Initialization Steps====&lt;br /&gt;
&lt;br /&gt;
#  In a &#039;&#039;Mathematica&#039;&#039; session, load the &#039;&#039;Java/Mathematica&#039;&#039; interface by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; &amp;lt;&amp;lt;&amp;quot;/path_to_interface_folder/HoriAssoInterface.m&amp;quot; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_interface_folder&amp;quot; is the path to folder containing the downloaded &#039;&#039;&#039;&#039;&#039;HoriAssoInterface.m&#039;&#039;&#039;&#039;&#039; file or the &#039;&#039;&#039;&#039;&#039;FreeLieAlgebra&#039;&#039;&#039;&#039;&#039; folder of this project&#039;s repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2(Optional).  For faster and bigger calculations, reinstall the Java runtime with the option to use as much memory as designated:&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; ReinstallJava[CommandLine -&amp;gt; &amp;quot;path_to_Java -Xmx800M&amp;quot;    &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where 800M in the last argument can be replaced by your choice of maximum memory to use according to your computer specs.&lt;br /&gt;
&lt;br /&gt;
3. Let Mathematica know where to look for the necessary Java class files:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; SetHoriAssoPath[&amp;quot;/path_to_Java_Class_folder&amp;quot;]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
where &amp;quot;path_to_Java_Class_folder&amp;quot; contains the downloaded Java Class files, or simply the path to the &amp;quot;Source&amp;quot; folder in our repository.&lt;br /&gt;
&lt;br /&gt;
4. Create the Lyndon bases for all three Free Lie Algebras with 1, 2, and 3 generators respectively by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; InitializeHoriAssoSpace[12]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
or Create the Lyndon basis separately for the different Free Lie Algebras by:&lt;br /&gt;
&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; CreateFL2Basis[any_number]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; CreateFL3Basis[any_num_&amp;lt;=_20]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{In|n=1|in=&amp;lt;nowiki&amp;gt; CreateFL4Basis[any_num_&amp;lt;=_14_(12_is_safe)]; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
where the argument controls up to what word length the Lyndon bases will contain elements of. Please read the &amp;quot;Algebraic operations&amp;quot; section below for its effect.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Performance Note:  For the default java runtime on a computer with 1G RAM, 12 as the maximum word length in &amp;quot;InitializeHoriAssoSpace&amp;quot; or &amp;quot;CreateFL4Basis&amp;quot; seems to be quite safe.  You can choose up to 14 if you have chosen to run Java with 800M memory in Step 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the dimension of the Free Lie Algebras at a given length (less than the maximum word length used in creating the basis):&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;GetFLnDimension[4,14]&amp;lt;/nowiki&amp;gt;|out=341484}}&lt;br /&gt;
where the first argument is n in FLn, i.e., the number of generators + 1, and the second is the wordlength at which the basis dimension is returned.&lt;br /&gt;
&lt;br /&gt;
====Notation====&lt;br /&gt;
&lt;br /&gt;
Any Free Lie Algebra element is a linear combination of Lie-trees, which are nested Lie Brackets of the generators, e.g. [a,[[a,b],[a,c]]] where the square brackets are the Lie Brackets.&lt;br /&gt;
&lt;br /&gt;
In the HoriAsso setup:&lt;br /&gt;
1. Letters starting with lower case &amp;quot;a&amp;quot; are used as generators, i.e., a Lie tree in Free Lie Algebra with 3 generators (FL4) will/should contain only a&#039;s, b&#039;s, and/or c&#039;s. &lt;br /&gt;
&lt;br /&gt;
2. Only two tree structures are used and allowed, the right Comb, and the Lyndon Word.&lt;br /&gt;
&lt;br /&gt;
Right-Combs represent the tree structure [a,[a,[a,[a,[a,[a,[a,[a...[a,b]]]]]]]]]... is represented in our setup, for example, as&lt;br /&gt;
 &lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;RCombExample=RComb[a,a,a,a,a,a,a,a,...a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Lyndon Words are words that are smaller by alphabetical order than any of its right subwords.  Since they are Hall Words, and each word implies a unique tree structure.  They are represented, for example, as&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;LyndonWordExample=LW[a,a,b,a,b,a,b,a,b] &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You can check to see if a word satisfies the definition of a Lyndon Word:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;IsLyndon[LW[a,b,a]&amp;lt;/nowiki&amp;gt;|out=False}}&lt;br /&gt;
&lt;br /&gt;
Note: In Java, you could replace the left or right subtree of a Lie tree by any tree, giving structures that are neither Right-Combs or Lyndon.  However, the interface assumes that if it is not a Lyndon Word, it would be a Right Comb; using those Java methods (namely javatree@setLeft(or right)Subtree(new_left(or_right)_subtree)) directly in Mathematica will cause errors in calculations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3, Free Lie Algebra elements are represented as a linear combination of Lyndon Words (LW) and Right-Combs (RComb) with an enveloping head FLn, where n is the number of generators + 1, e.g.:&lt;br /&gt;
&lt;br /&gt;
{{In|n=2|in=&amp;lt;nowiki&amp;gt;LieAlgebraElementExample=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]] &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;gt;|out=FL3[LW[a,a,b,a,b,a,b,a,b]+3RComb[a,b,a]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Algebraic Operation====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Scalar multiplication and Addition&lt;br /&gt;
&lt;br /&gt;
You could form either linear combinations of words (RComb and LW) as you would with other Mathematica expressions, or form the linear combinations and give them context by putting them under the head of FL2, FL3, FL4.  The difference is that in the first case, the sum is simply formal and is the original Mathematica plus, times function, whereas in the case with the FL2(or 3 or 4) heads do the sum in the Lyndon basis.  &lt;br /&gt;
&lt;br /&gt;
At the moment the coefficients for the FLn elements need to be Integers. This will be replaced with rational numbers soon.&lt;br /&gt;
&lt;br /&gt;
Sum of Linear combination of WordS:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LinCombOfWords = 2 RComb[a, b, a, b] + LW[a, b, b, a, b, b, b] - 4LW[a, b, a, b, a, b, b] - RComb[a, b, a, b] + LW[a, b, b, a, b, b, b]&amp;lt;/nowiki&amp;gt;|out=-4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b] + RComb[a, b, a, b]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sum of Free Lie Algebra elements (a linear combination of words wraps around&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt; SumOfFL3Elements = FL3[ -4 LW[a, b, a, b, &lt;br /&gt;
  a, b, b]] + FL3[2LW[a, b, b, a, b, b, b]+RComb[a, b, a, b]]&amp;lt;/nowiki&amp;gt;|out=FL3[-LW[a, a, b, b] - 4 LW[a, b, a, b, a, b, b] + 2 LW[a, b, b, a, b, b, b]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the FLn elements itself is not automatically reduce to the Lyndon basis form, but a sum of the FLn elements is. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Reduce to linear combination of Lyndon basis elements&lt;br /&gt;
&lt;br /&gt;
You could reduce a single word (RComb and LW) or a Free Lie Algebra elements into a linear combination of Lyndon basis elements.&lt;br /&gt;
&lt;br /&gt;
For reducing a word to Lyndon form, the word length is only limited by performance.  For a good size example:&lt;br /&gt;
{{InOut|n=3|in = &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ReduceToLyndon[RComb[a, b, b, a, a, b, a, b, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=LW[a, a, a, a, a, a, b, b, b, b, b, b, b] + 4 LW[a, a, a, a, a, b, a, b, b, b,&lt;br /&gt;
     b, b, b] + 6 LW[a, a, a, a, a, b, b, a, b, b, b, b, b] + 3 LW[a, a, a, a,&lt;br /&gt;
       a, b, b, b, a, b, b, b, b] - LW[a, a, a, a, a, b, b, b, b, a, b, b,&lt;br /&gt;
       b] - 5 LW[a, a, a, a, a, b, b, b, b, b, a, b, b] - &lt;br /&gt;
  7 LW[a, a, a, a, a, b, b, b, b, b, b, a, b] - 4 LW[a, a, a, a, b, a, a, b, &lt;br /&gt;
      b, b, b, b, b] + &lt;br /&gt;
  9 LW[a, a, a, a, b, a, b, a, b, b, b, b, b] + 9 LW[a, a, a, a, b, a, b, b, &lt;br /&gt;
    a, b, b, b,&lt;br /&gt;
   b] - LW[a, a, a, a, b, a, b, b, b, a, b, b, b] - 10 LW[a, a, a, a, b, a, b,&lt;br /&gt;
       b, b, b, a, b, b] - 12 LW[a, a, a, a, b, a, b, b, b, b, b, a, b] - 2 &lt;br /&gt;
      LW[a, a, a, a, b, b, a, a, b, b, b, b,&lt;br /&gt;
   b] - 4 LW[a, a, a, a, b, b, a, b, a, b, b, b, b] + 3 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, a, b, b,&lt;br /&gt;
   b] - 2 LW[a, a, a, a, b, b, a, b, b, b, a, b, b] - 12 LW[a, a, a, a, b, b, &lt;br /&gt;
      a, b, b, b, b, a, &lt;br /&gt;
  b] + 2 LW[a, a, a, a, b, b, b, b, a, b, a, b, b] + 6 LW[a, a, a, a, b, b, b,&lt;br /&gt;
       b, a, b, b, a, b] + LW[a, a, a, a, b, b, b, b, b, a, a, b, b] + 10 LW[&lt;br /&gt;
      a, a, a, a,&lt;br /&gt;
   b, b, b, b, b, a, b, a, b] + 2 LW[a, a, a, a, b, b, b, b, b, b, a, a, b] - &lt;br /&gt;
      6 LW[a, a, a, b, a, a, b, a,&lt;br /&gt;
   b, b, b, b, b] - 6 LW[a, a, a, b, a, a, b, b, a, b, b, b, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, a, b, b,&lt;br /&gt;
   b, b, a, b, b] + 8 LW[a, a, a, b, a, a, b, b, b, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, a,&lt;br /&gt;
   b, b, b, b, b] + 8 LW[a, a, a, b, a, b, a, b, a, b, b, b, b] + 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, a, b, b, b] - 4 LW[a, a, a, b, a, b, a, b, b, b, a, b, b] - 8 LW[a, a, &lt;br /&gt;
      a, b, a, b, a, b,&lt;br /&gt;
   b, b, b, a, b] - 2 LW[a, a, a, b, a, b, b, a, b, a, b, b, b] - 4 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, a,&lt;br /&gt;
   b, b, b, a, b] + 2 LW[a, a, a, b, a, b, b, b, a, b, b, a, b] + 2 LW[a, a, &lt;br /&gt;
      a, b, a, b, b, b,&lt;br /&gt;
   b, a, a, b, b] + 4 LW[a, a, a, b, a, b, b, b, b, a, b, a, b] - LW[a, a, a, &lt;br /&gt;
      b, b, a, a, b, b, &lt;br /&gt;
  a, b, b, b] + LW[a, a, a, b, b, a, a, b, b, b, b, a, b] - LW[a, a, a, b, b, &lt;br /&gt;
      a, b, a, b, a,&lt;br /&gt;
   b, b, b] + 2 LW[a, a, a, b, b, a, b, b, b, a, b, a, b] - 2 LW[a, a, a, b, &lt;br /&gt;
      b, b, b, a, b, a, b, a, b] + 2 LW[a, a, b, a, b, a, b, a, b, a, b, b, b]}}&lt;br /&gt;
&lt;br /&gt;
For reducing an FLn element to Lyndon form, the word length has to be smaller than the maximum word length specified in &amp;quot;iniatializeHoriAssoSpace(maxWordLength)&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;ReduceToLyndon[FL3[LW[a, a, b, a, b] + 4RComb[a, b, a, b, a, b, a]]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL3[LW[a, a, b, a, b] - 4 LW[a, a, a, a, b, b, &lt;br /&gt;
    b] - 4 LW[a, a, a, b, a, b, b] + 4 LW[a, a, a, b, b, a, b]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: the two notations will probably merge. &lt;br /&gt;
&lt;br /&gt;
4, Lie Brackets&lt;br /&gt;
&lt;br /&gt;
Finally, you could compute the Lie bracket of two individual words (RComb and/or LW) or two Free Lie Algebra elements (FL2,3,4 elements), the results of which are reduced into the Linear combinations of lyndon words already:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt;Bracket[RComb[a, b, b, a], RComb[b, a, a, b, a]] &amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=-LW[a, a, a, b, b, a, a, b, b] + LW[a, a, b, a, b, a, a, b, b]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{InOut|n=4| in=&amp;lt;nowiki&amp;gt; Bracket[FL4[LW[a, b, c, a, c] + 2RComb[a, b, c, b]],         FL4[-2RComb[a, b, b, c, a, b] + 4RComb[b, a, c]]]&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
out=FL4[8 LW[a, b, b, c, a, c, b] - 4 LW[a, b, c, a, c, a, c, b] - &lt;br /&gt;
    4 LW[a, b, c, a, c, b, a, c] + 4 LW[a, a, b, c, b, b, a, b, b, &lt;br /&gt;
    c] + 4 LW[a, a, c, b, b, b, a, b, b, c] - 2 LW[a, a, b, c, b, &lt;br /&gt;
    b, a, b, c, a, c] - 2 LW[a, a, c, b, b, b, a, b, c, a, c]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1509</id>
		<title>HoriAsso - Progress Log</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Progress_Log&amp;diff=1509"/>
		<updated>2006-06-05T22:07:45Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* June 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==June 2==&lt;br /&gt;
*Rewritten the constructors for the class Words, which will be documented in the [[HoriAsso|Documentation]] page of this project.&lt;br /&gt;
&lt;br /&gt;
*Written the java code to generate all Lyndon words from length 1 to length N, with k generators. This will be posted in the [http://katlas.math.toronto.edu/svn/HoriAsso/ repository] and documented in [[HoriAsso|Documentation]].&lt;br /&gt;
&lt;br /&gt;
==June 5==&lt;br /&gt;
*Imported the Source code and the executables for the classes Word, Words, and LyndonWords into the [http://katlas.math.toronto.edu/svn/HoriAsso/trunk repository] from a MAC Os.&lt;br /&gt;
*Tried to set up a subversion client on AIX Unix.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1508</id>
		<title>HoriAsso - Set up notes</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1508"/>
		<updated>2006-06-05T22:04:42Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Karene&amp;#039;s Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the set up notes for the [[HoriAsso]] project, logged by [[Dror]] and Karene so as to make the set up of the next project a bit easier.&lt;br /&gt;
&lt;br /&gt;
==Dror&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
* Choose a &amp;quot;short name&amp;quot; for the project. The short name &amp;quot;HoriAsso&amp;quot; may not be perfect, but it definitely beats my first choice, &amp;quot;HorAss&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Make a wiki-home for the project, for example by copying and modifying the [[HoriAsso|wiki home]] of this project.&lt;br /&gt;
&lt;br /&gt;
* Set up http passwords for the project participants; on katlas type&lt;br /&gt;
 htpasswd /www/.htpasswd karenechu&lt;br /&gt;
(or something similar).&lt;br /&gt;
&lt;br /&gt;
* Set up a subversion repository. On katlas:&lt;br /&gt;
 cd /home/svn&lt;br /&gt;
 su -l svn&lt;br /&gt;
 svnadmin create ./HoriAsso&lt;br /&gt;
 chmod -R g+w HoriAsso&lt;br /&gt;
&lt;br /&gt;
* Externally connect to the repository and create a &amp;lt;tt&amp;gt;trunk&amp;lt;/tt&amp;gt; directory, just to see that everything works.&lt;br /&gt;
&lt;br /&gt;
==Karene&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
*To install &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; for Windows:&lt;br /&gt;
**Go to [http://sourceforge.net/project/showfiles.php?group_id=138498&amp;amp;package_id=151948 &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; Download Page]&lt;br /&gt;
**Download the &#039;&#039;.msi&#039;&#039; file for the appropriate architecture, in my case the file &#039;&#039;TortoiseSVN-1.3.4.6692-svn-1.3.2.msi&#039;&#039; for i386 architecture.&lt;br /&gt;
**The downloaded package appears as a Windows Installer Package.  Open it, accept license, and follow the installer instructions (mostly clicking next and finish).  Restart the computer.&lt;br /&gt;
** &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; is now in the &#039;&#039;Start-&amp;gt;Program&#039;&#039; menu.&lt;br /&gt;
&lt;br /&gt;
*To use TortoiseSVN:&lt;br /&gt;
**Open Windows Explorer. Right-click on the folder which contains the code, and click on Repository Browser.  &lt;br /&gt;
**Enter the URL of the repository (http://katlas.math.toronto.edu/svn/HoriAsso)&lt;br /&gt;
&lt;br /&gt;
*To install Subversion for Max OS X:&lt;br /&gt;
**Download the latest version of Subversion for Mac [http://metissian.com/projects/macosx/subversion/ here].&lt;br /&gt;
**Check MD5 sum to ensure download is not corrupt by&lt;br /&gt;
 md5  subversion-client-1.3.1.dmg&lt;br /&gt;
and check that the result is the same as given on the download page.&lt;br /&gt;
**Open the &#039;&#039;Subversion Client 1.3.1&#039;&#039; disk image, read &#039;&#039;README.txt&#039;&#039;, and open the &#039;&#039;SubversionClient-1.3.1&#039;&#039; installer package.&lt;br /&gt;
**In the installer window, follow the simple instructions (i.e., select which disk (the hard disk in my case) to install on and click some &#039;&#039;constinue&#039;&#039;s and &#039;&#039;finish&#039;&#039;!)&lt;br /&gt;
&lt;br /&gt;
*To use subversion on Mac OS X:&lt;br /&gt;
**Read the [http://svnbook.red-bean.com/nightly/en/svn.intro.quickstart.html quick start guide].&lt;br /&gt;
**Imported my code into the repository by&lt;br /&gt;
 svn import path/to/my/code/on/local/computer &amp;lt;nowiki&amp;gt;http://repository/address&amp;lt;/nowiki&amp;gt; -m &amp;quot;Initial import&amp;quot;&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1507</id>
		<title>HoriAsso - Set up notes</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1507"/>
		<updated>2006-06-05T22:03:39Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Karene&amp;#039;s Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the set up notes for the [[HoriAsso]] project, logged by [[Dror]] and Karene so as to make the set up of the next project a bit easier.&lt;br /&gt;
&lt;br /&gt;
==Dror&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
* Choose a &amp;quot;short name&amp;quot; for the project. The short name &amp;quot;HoriAsso&amp;quot; may not be perfect, but it definitely beats my first choice, &amp;quot;HorAss&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Make a wiki-home for the project, for example by copying and modifying the [[HoriAsso|wiki home]] of this project.&lt;br /&gt;
&lt;br /&gt;
* Set up http passwords for the project participants; on katlas type&lt;br /&gt;
 htpasswd /www/.htpasswd karenechu&lt;br /&gt;
(or something similar).&lt;br /&gt;
&lt;br /&gt;
* Set up a subversion repository. On katlas:&lt;br /&gt;
 cd /home/svn&lt;br /&gt;
 su -l svn&lt;br /&gt;
 svnadmin create ./HoriAsso&lt;br /&gt;
 chmod -R g+w HoriAsso&lt;br /&gt;
&lt;br /&gt;
* Externally connect to the repository and create a &amp;lt;tt&amp;gt;trunk&amp;lt;/tt&amp;gt; directory, just to see that everything works.&lt;br /&gt;
&lt;br /&gt;
==Karene&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
*To install &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; for Windows:&lt;br /&gt;
**Go to [http://sourceforge.net/project/showfiles.php?group_id=138498&amp;amp;package_id=151948 &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; Download Page]&lt;br /&gt;
**Download the &#039;&#039;.msi&#039;&#039; file for the appropriate architecture, in my case the file &#039;&#039;TortoiseSVN-1.3.4.6692-svn-1.3.2.msi&#039;&#039; for i386 architecture.&lt;br /&gt;
**The downloaded package appears as a Windows Installer Package.  Open it, accept license, and follow the installer instructions (mostly clicking next and finish).  Restart the computer.&lt;br /&gt;
** &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; is now in the &#039;&#039;Start-&amp;gt;Program&#039;&#039; menu.&lt;br /&gt;
&lt;br /&gt;
*To use TortoiseSVN:&lt;br /&gt;
**Open Windows Explorer. Right-click on the folder which contains the code, and click on Repository Browser.  &lt;br /&gt;
**Enter the URL of the repository (http://katlas.math.toronto.edu/svn/HoriAsso)&lt;br /&gt;
&lt;br /&gt;
*To install Subversion for Max OS X:&lt;br /&gt;
**Download the latest version of Subversion for Mac [http://metissian.com/projects/macosx/subversion/ here].&lt;br /&gt;
**Check MD5 sum to ensure download is not corrupt by&lt;br /&gt;
 md5  subversion-client-1.3.1.dmg&lt;br /&gt;
and check that the result is the same as given on the download page.&lt;br /&gt;
**Open the &#039;&#039;Subversion Client 1.3.1&#039;&#039; disk image, read &#039;&#039;README.txt&#039;&#039;, and open the &#039;&#039;SubversionClient-1.3.1&#039;&#039; installer package.&lt;br /&gt;
**In the installer window, follow the simple instructions (i.e., select which disk (the hard disk in my case) to install on and click some &#039;&#039;constinue&#039;&#039;s and &#039;&#039;finish&#039;&#039;!)&lt;br /&gt;
&lt;br /&gt;
*To use subversion on Mac OS X:&lt;br /&gt;
**Read the [http://svnbook.red-bean.com/nightly/en/svn.intro.quickstart.html quick start guide].&lt;br /&gt;
**Imported my code into the repository by&lt;br /&gt;
 svn import path/to/my/code/on/local/computer http://repository/address -m &amp;quot;Initial import&amp;quot;&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1485</id>
		<title>HoriAsso - Set up notes</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1485"/>
		<updated>2006-06-03T23:25:17Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Karene&amp;#039;s Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the set up notes for the [[HoriAsso]] project, logged by [[Dror]] and Karene so as to make the set up of the next project a bit easier.&lt;br /&gt;
&lt;br /&gt;
==Dror&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
* Choose a &amp;quot;short name&amp;quot; for the project. The short name &amp;quot;HoriAsso&amp;quot; may not be perfect, but it definitely beats my first choice, &amp;quot;HorAss&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Make a wiki-home for the project, for example by copying and modifying the [[HoriAsso|wiki home]] of this project.&lt;br /&gt;
&lt;br /&gt;
* Set up http passwords for the project participants; on katlas type&lt;br /&gt;
 htpasswd /www/.htpasswd karenechu&lt;br /&gt;
(or something similar).&lt;br /&gt;
&lt;br /&gt;
* Set up a subversion repository. On katlas:&lt;br /&gt;
 cd /home/svn&lt;br /&gt;
 su -l svn&lt;br /&gt;
 svnadmin create ./HoriAsso&lt;br /&gt;
 chmod -R g+w HoriAsso&lt;br /&gt;
&lt;br /&gt;
* Externally connect to the repository and create a &amp;lt;tt&amp;gt;trunk&amp;lt;/tt&amp;gt; directory, just to see that everything works.&lt;br /&gt;
&lt;br /&gt;
==Karene&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
*To install &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; for Windows:&lt;br /&gt;
**Go to [http://sourceforge.net/project/showfiles.php?group_id=138498&amp;amp;package_id=151948 &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; Download Page]&lt;br /&gt;
**Download the &#039;&#039;.msi&#039;&#039; file for the appropriate architecture, in my case the file &#039;&#039;TortoiseSVN-1.3.4.6692-svn-1.3.2.msi&#039;&#039; for i386 architecture.&lt;br /&gt;
**The downloaded package appears as a Windows Installer Package.  Open it, accept license, and follow the installer instructions (mostly clicking next and finish).  Restart the computer.&lt;br /&gt;
** &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; is now in the &#039;&#039;Start-&amp;gt;Program&#039;&#039; menu.&lt;br /&gt;
&lt;br /&gt;
*To use TortoiseSVN:&lt;br /&gt;
**Open Windows Explorer. Right-click on the folder which contains the code, and click on Repository Browser.  &lt;br /&gt;
**Enter the URL of the repository (http://katlas.math.toronto.edu/svn/HoriAsso)&lt;br /&gt;
&lt;br /&gt;
*To install Subversion for Max OS X:&lt;br /&gt;
**Download the latest version of Subversion for Mac [http://metissian.com/projects/macosx/subversion/ here].&lt;br /&gt;
**Check MD5 sum to ensure download is not corrupt by&lt;br /&gt;
 md5  subversion-client-1.3.1.dmg&lt;br /&gt;
and check that the result is the same as given on the download page.&lt;br /&gt;
**Open the &#039;&#039;Subversion Client 1.3.1&#039;&#039; disk image, read &#039;&#039;README.txt&#039;&#039;, and open the &#039;&#039;SubversionClient-1.3.1&#039;&#039; installer package.&lt;br /&gt;
**In the installer window, follow the simple instructions (i.e., select which disk (the hard disk in my case) to install on and click some &#039;&#039;constinue&#039;&#039;s and &#039;&#039;finish&#039;&#039;!)&lt;br /&gt;
&lt;br /&gt;
*To use subversion on Mac OS X:&lt;br /&gt;
**Read the [http://svnbook.red-bean.com/nightly/en/svn.intro.quickstart.html quick start guide].&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1484</id>
		<title>HoriAsso - Set up notes</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1484"/>
		<updated>2006-06-03T23:01:48Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Karene&amp;#039;s Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the set up notes for the [[HoriAsso]] project, logged by [[Dror]] and Karene so as to make the set up of the next project a bit easier.&lt;br /&gt;
&lt;br /&gt;
==Dror&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
* Choose a &amp;quot;short name&amp;quot; for the project. The short name &amp;quot;HoriAsso&amp;quot; may not be perfect, but it definitely beats my first choice, &amp;quot;HorAss&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Make a wiki-home for the project, for example by copying and modifying the [[HoriAsso|wiki home]] of this project.&lt;br /&gt;
&lt;br /&gt;
* Set up http passwords for the project participants; on katlas type&lt;br /&gt;
 htpasswd /www/.htpasswd karenechu&lt;br /&gt;
(or something similar).&lt;br /&gt;
&lt;br /&gt;
* Set up a subversion repository. On katlas:&lt;br /&gt;
 cd /home/svn&lt;br /&gt;
 su -l svn&lt;br /&gt;
 svnadmin create ./HoriAsso&lt;br /&gt;
 chmod -R g+w HoriAsso&lt;br /&gt;
&lt;br /&gt;
* Externally connect to the repository and create a &amp;lt;tt&amp;gt;trunk&amp;lt;/tt&amp;gt; directory, just to see that everything works.&lt;br /&gt;
&lt;br /&gt;
==Karene&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
*To install &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; for Windows:&lt;br /&gt;
**Go to [http://sourceforge.net/project/showfiles.php?group_id=138498&amp;amp;package_id=151948 &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; Download Page]&lt;br /&gt;
**Download the &#039;&#039;.msi&#039;&#039; file for the appropriate architecture, in my case the file &#039;&#039;TortoiseSVN-1.3.4.6692-svn-1.3.2.msi&#039;&#039; for i386 architecture.&lt;br /&gt;
**The downloaded package appears as a Windows Installer Package.  Open it, accept license, and follow the installer instructions (mostly clicking next and finish).  Restart the computer.&lt;br /&gt;
** &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; is now in the &#039;&#039;Start-&amp;gt;Program&#039;&#039; menu.&lt;br /&gt;
&lt;br /&gt;
*To use TortoiseSVN:&lt;br /&gt;
**Open Windows Explorer. Right-click on the folder which contains the code, and click on Repository Browser.  &lt;br /&gt;
**Enter the URL of the repository (http://katlas.math.toronto.edu/svn/HoriAsso)&lt;br /&gt;
&lt;br /&gt;
*To install Subversion for Max OS X:&lt;br /&gt;
**Download the latest version of Subversion for Mac [http://metissian.com/projects/macosx/subversion/ here].&lt;br /&gt;
**Check MD5 sum to ensure download is not corrupt by&lt;br /&gt;
 md5  subversion-client-1.3.1.dmg &lt;br /&gt;
and check that the result is the same as given on the download page.&lt;br /&gt;
**Open the &#039;&#039;Subversion Client 1.3.1&#039;&#039; disk image, read &amp;quot;README.txt&amp;quot;, and open the &amp;quot;SubversionClient-1.3.1&amp;quot; installer package.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1483</id>
		<title>HoriAsso - Set up notes</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Set_up_notes&amp;diff=1483"/>
		<updated>2006-06-03T22:54:30Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* Karene&amp;#039;s Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the set up notes for the [[HoriAsso]] project, logged by [[Dror]] and Karene so as to make the set up of the next project a bit easier.&lt;br /&gt;
&lt;br /&gt;
==Dror&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
* Choose a &amp;quot;short name&amp;quot; for the project. The short name &amp;quot;HoriAsso&amp;quot; may not be perfect, but it definitely beats my first choice, &amp;quot;HorAss&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Make a wiki-home for the project, for example by copying and modifying the [[HoriAsso|wiki home]] of this project.&lt;br /&gt;
&lt;br /&gt;
* Set up http passwords for the project participants; on katlas type&lt;br /&gt;
 htpasswd /www/.htpasswd karenechu&lt;br /&gt;
(or something similar).&lt;br /&gt;
&lt;br /&gt;
* Set up a subversion repository. On katlas:&lt;br /&gt;
 cd /home/svn&lt;br /&gt;
 su -l svn&lt;br /&gt;
 svnadmin create ./HoriAsso&lt;br /&gt;
 chmod -R g+w HoriAsso&lt;br /&gt;
&lt;br /&gt;
* Externally connect to the repository and create a &amp;lt;tt&amp;gt;trunk&amp;lt;/tt&amp;gt; directory, just to see that everything works.&lt;br /&gt;
&lt;br /&gt;
==Karene&#039;s Notes==&lt;br /&gt;
&lt;br /&gt;
*To install &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; for Windows:&lt;br /&gt;
**Go to [http://sourceforge.net/project/showfiles.php?group_id=138498&amp;amp;package_id=151948 &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; Download Page]&lt;br /&gt;
**Download the &#039;&#039;.msi&#039;&#039; file for the appropriate architecture, in my case the file &#039;&#039;TortoiseSVN-1.3.4.6692-svn-1.3.2.msi&#039;&#039; for i386 architecture.&lt;br /&gt;
**The downloaded package appears as a Windows Installer Package.  Open it, accept license, and follow the installer instructions (mostly clicking next and finish).  Restart the computer.&lt;br /&gt;
** &#039;&#039;&#039;TortoiseSVN&#039;&#039;&#039; is now in the &#039;&#039;Start-&amp;gt;Program&#039;&#039; menu.&lt;br /&gt;
&lt;br /&gt;
*To use TortoiseSVN:&lt;br /&gt;
**Open Windows Explorer. Right-click on the folder which contains the code, and click on Repository Browser.  &lt;br /&gt;
**Enter the URL of the repository (http://katlas.math.toronto.edu/svn/HoriAsso)&lt;br /&gt;
&lt;br /&gt;
*To install Subversion for Max OS X:&lt;br /&gt;
**Download the latest version of Subversion for Mac [http://metissian.com/projects/macosx/subversion/ here].&lt;br /&gt;
**Check MD5 sum to ensure download is not corrupt.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1472</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1472"/>
		<updated>2006-06-03T16:28:37Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* How to start using &amp;#039;&amp;#039;Jlink&amp;#039;&amp;#039; in a &amp;#039;&amp;#039;Mathematica&amp;#039;&amp;#039; notebook */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this project, we will be mainly using Commands in Mathematica to access Java programs that we write.  Here is how to set up the system:&lt;br /&gt;
&lt;br /&gt;
=How to set up a system for using Java in Mathematica=&lt;br /&gt;
&lt;br /&gt;
==How to install &#039;&#039;Mathematica&#039;&#039;,&#039;&#039; J/Link&#039;&#039;, and &#039;&#039;Java&#039;&#039;==&lt;br /&gt;
*Install &#039;&#039;Mathematica&#039;&#039; following the [http://documents.wolfram.com/mathematica/GettingStarted/SettingUp/InstallingMathematica.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Jlink&#039;&#039; is already completely installed in &#039;&#039;Mathematica 4.2&#039;&#039; and later. If you are using earlier versions of &#039;&#039;Mathematica&#039;&#039;, you can install &#039;&#039;JLink&#039;&#039; following the  [http://www.wolfram.com/solutions/mathlink/jlink/Installation.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*Download &#039;&#039;JRE 5.0 Update 6&#039;&#039; (latest as of June 2006) the latest version from [http://java.sun.com/j2se/1.5.0/download.js Sun] and install it following the official [http://java.sun.com/j2se/1.5.0/install.html official instructions].&lt;br /&gt;
&lt;br /&gt;
==How to start using &#039;&#039;Jlink&#039;&#039; in a &#039;&#039;Mathematica&#039;&#039; notebook==&lt;br /&gt;
*Write the Java source code (&#039;&#039;.java&#039;&#039; files) and compile it using the command&lt;br /&gt;
 javac file.java&lt;br /&gt;
Place the compiled files (&#039;&#039;.class&#039;&#039; files) in the directory you want. (I have not tried to make .jar files yet so I will not write about it here)&lt;br /&gt;
&lt;br /&gt;
*For detailed documentation on &#039;&#039;JLink&#039;&#039;, please consult the &#039;&#039;Jlink&#039;&#039; manual in the &#039;&#039;Mathematica&#039;&#039; Help Browser.  The following are extracted from there.&lt;br /&gt;
&lt;br /&gt;
*Open a &#039;&#039;Mathematica&#039;&#039; notebook, install &#039;&#039;JLink&#039;&#039; by writing: &lt;br /&gt;
 Needs[&amp;quot;JLink`&amp;quot;] &lt;br /&gt;
&lt;br /&gt;
*Install &#039;&#039;Java&#039;&#039; by writing:&lt;br /&gt;
 InstallJava[] &lt;br /&gt;
or to use a specific java runtime if you have more than one installed on your computer, write:&lt;br /&gt;
 InstallJava[commandLine-&amp;gt;&amp;quot;/wherever/java/is&amp;quot;] in Linux&lt;br /&gt;
 InstallJava[CommandLine -&amp;gt; &amp;quot;d:\\\\path\\to\\java.exe&amp;quot;] in Windows &lt;br /&gt;
&lt;br /&gt;
*Add the directory which contains the compiled java (.class) files to the class path, ie, where Java will look for class files, by writing&lt;br /&gt;
 AddToClassPath[&amp;quot;wherever/my/class/files/are&amp;quot;] in Linux&lt;br /&gt;
 AddToClassPath[&amp;quot;c:\\my\\java\\dir&amp;quot;] in Windows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Load the Java classes by writing&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname1&amp;quot;]&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create New Java Objects by writing&lt;br /&gt;
 JavaNew[&amp;quot;classname1&amp;quot;,constructorArg1,constructorArg2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Access the non-static methods and variables of any object the same way you would in Java except replace &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; (&#039;&#039;java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;@&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;) and &amp;quot;&#039;&#039;&#039;()&#039;&#039;&#039;&amp;quot; (&#039;&#039;Java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;[]&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;). Access static methods or variables by replacing &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; in &#039;&#039;Java&#039;&#039; by &amp;quot;&#039;&#039;&#039;`&#039;&#039;&#039;&amp;quot; in &#039;&#039;Mathematica&#039;&#039;. (I haven&#039;t used the static methods yet so I am not entirely sure.)&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1471</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1471"/>
		<updated>2006-06-03T16:27:09Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* How to start using &amp;#039;&amp;#039;Jlink&amp;#039;&amp;#039; in a &amp;#039;&amp;#039;Mathematica&amp;#039;&amp;#039; notebook */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this project, we will be mainly using Commands in Mathematica to access Java programs that we write.  Here is how to set up the system:&lt;br /&gt;
&lt;br /&gt;
=How to set up a system for using Java in Mathematica=&lt;br /&gt;
&lt;br /&gt;
==How to install &#039;&#039;Mathematica&#039;&#039;,&#039;&#039; J/Link&#039;&#039;, and &#039;&#039;Java&#039;&#039;==&lt;br /&gt;
*Install &#039;&#039;Mathematica&#039;&#039; following the [http://documents.wolfram.com/mathematica/GettingStarted/SettingUp/InstallingMathematica.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Jlink&#039;&#039; is already completely installed in &#039;&#039;Mathematica 4.2&#039;&#039; and later. If you are using earlier versions of &#039;&#039;Mathematica&#039;&#039;, you can install &#039;&#039;JLink&#039;&#039; following the  [http://www.wolfram.com/solutions/mathlink/jlink/Installation.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*Download &#039;&#039;JRE 5.0 Update 6&#039;&#039; (latest as of June 2006) the latest version from [http://java.sun.com/j2se/1.5.0/download.js Sun] and install it following the official [http://java.sun.com/j2se/1.5.0/install.html official instructions].&lt;br /&gt;
&lt;br /&gt;
==How to start using &#039;&#039;Jlink&#039;&#039; in a &#039;&#039;Mathematica&#039;&#039; notebook==&lt;br /&gt;
*Write the Java source code (&#039;&#039;.java&#039;&#039; files) and compile it using the command&lt;br /&gt;
 javac file.java&lt;br /&gt;
Place the compiled files (&#039;&#039;.class&#039;&#039; files) in the directory you want. (I have not tried to make .jar files yet so I will not write about it here)&lt;br /&gt;
&lt;br /&gt;
*Open a &#039;&#039;Mathematica&#039;&#039; notebook, install &#039;&#039;JLink&#039;&#039; by writing: &lt;br /&gt;
 Needs[&amp;quot;JLink`&amp;quot;] &lt;br /&gt;
&lt;br /&gt;
*Install &#039;&#039;Java&#039;&#039; by writing:&lt;br /&gt;
 InstallJava[] &lt;br /&gt;
or to use a specific java runtime if you have more than one installed on your computer, write:&lt;br /&gt;
 InstallJava[commandLine-&amp;gt;&amp;quot;/wherever/java/is&amp;quot;] in Linux&lt;br /&gt;
 InstallJava[CommandLine -&amp;gt; &amp;quot;d:\\\\path\\to\\java.exe&amp;quot;] in Windows &lt;br /&gt;
&lt;br /&gt;
*Add the directory which contains the compiled java (.class) files to the class path, ie, where Java will look for class files, by writing&lt;br /&gt;
 AddToClassPath[&amp;quot;wherever/my/class/files/are&amp;quot;] in Linux&lt;br /&gt;
 AddToClassPath[&amp;quot;c:\\my\\java\\dir&amp;quot;] in Windows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Load the Java classes by writing&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname1&amp;quot;]&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create New Java Objects by writing&lt;br /&gt;
 JavaNew[&amp;quot;classname1&amp;quot;,constructorArg1,constructorArg2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Access the non-static methods and variables of any object the same way you would in Java except replace &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; (&#039;&#039;java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;@&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;) and &amp;quot;&#039;&#039;&#039;()&#039;&#039;&#039;&amp;quot; (&#039;&#039;Java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;[]&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;). Access static methods or variables by replacing &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; in &#039;&#039;Java&#039;&#039; by &amp;quot;&#039;&#039;&#039;`&#039;&#039;&#039;&amp;quot; in &#039;&#039;Mathematica&#039;&#039;. (I haven&#039;t used the static methods yet so I am not entirely sure.) &lt;br /&gt;
&lt;br /&gt;
*For detailed documentation on &#039;&#039;JLink&#039;&#039;, please consult the &#039;&#039;Jlink&#039;&#039; manual in the &#039;&#039;Mathematica&#039;&#039; Help Browser.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1470</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1470"/>
		<updated>2006-06-03T16:26:26Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* How to install &amp;#039;&amp;#039;Mathematica&amp;#039;&amp;#039;,&amp;#039;&amp;#039; J/Link&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this project, we will be mainly using Commands in Mathematica to access Java programs that we write.  Here is how to set up the system:&lt;br /&gt;
&lt;br /&gt;
=How to set up a system for using Java in Mathematica=&lt;br /&gt;
&lt;br /&gt;
==How to install &#039;&#039;Mathematica&#039;&#039;,&#039;&#039; J/Link&#039;&#039;, and &#039;&#039;Java&#039;&#039;==&lt;br /&gt;
*Install &#039;&#039;Mathematica&#039;&#039; following the [http://documents.wolfram.com/mathematica/GettingStarted/SettingUp/InstallingMathematica.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Jlink&#039;&#039; is already completely installed in &#039;&#039;Mathematica 4.2&#039;&#039; and later. If you are using earlier versions of &#039;&#039;Mathematica&#039;&#039;, you can install &#039;&#039;JLink&#039;&#039; following the  [http://www.wolfram.com/solutions/mathlink/jlink/Installation.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*Download &#039;&#039;JRE 5.0 Update 6&#039;&#039; (latest as of June 2006) the latest version from [http://java.sun.com/j2se/1.5.0/download.js Sun] and install it following the official [http://java.sun.com/j2se/1.5.0/install.html official instructions].&lt;br /&gt;
&lt;br /&gt;
==How to start using &#039;&#039;Jlink&#039;&#039; in a &#039;&#039;Mathematica&#039;&#039; notebook==&lt;br /&gt;
*Write the Java source code (&#039;&#039;.java&#039;&#039; files) and compile it using the command&lt;br /&gt;
 javac file.java&lt;br /&gt;
Place the compiled files (&#039;&#039;.class&#039;&#039; files) in the directory you want. (I have not tried to make .jar files yet so I will not write about it here)&lt;br /&gt;
&lt;br /&gt;
*Open a &#039;&#039;Mathematica&#039;&#039; notebook, install Jlink by writing: &lt;br /&gt;
 Needs[&amp;quot;JLink`&amp;quot;] &lt;br /&gt;
&lt;br /&gt;
*Install Java by writing:&lt;br /&gt;
 InstallJava[] &lt;br /&gt;
or to use a specific java runtime if you have more than one installed on your computer, write:&lt;br /&gt;
 InstallJava[commandLine-&amp;gt;&amp;quot;/wherever/java/is&amp;quot;] in Linux&lt;br /&gt;
 InstallJava[CommandLine -&amp;gt; &amp;quot;d:\\\\path\\to\\java.exe&amp;quot;] in Windows &lt;br /&gt;
&lt;br /&gt;
*Add the directory which contains the compiled java (.class) files to the class path, ie, where Java will look for class files, by writing&lt;br /&gt;
 AddToClassPath[&amp;quot;wherever/my/class/files/are&amp;quot;] in Linux&lt;br /&gt;
 AddToClassPath[&amp;quot;c:\\my\\java\\dir&amp;quot;] in Windows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Load the Java classes by writing&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname1&amp;quot;]&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create New Java Objects by writing&lt;br /&gt;
 JavaNew[&amp;quot;classname1&amp;quot;,constructorArg1,constructorArg2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Access the non-static methods and variables of any object the same way you would in Java except replace &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; (&#039;&#039;java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;@&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;) and &amp;quot;&#039;&#039;&#039;()&#039;&#039;&#039;&amp;quot; (&#039;&#039;Java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;[]&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;). Access static methods or variables by replacing &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; in &#039;&#039;Java&#039;&#039; by &amp;quot;&#039;&#039;&#039;`&#039;&#039;&#039;&amp;quot; in &#039;&#039;Mathematica&#039;&#039;. (I haven&#039;t used the static methods yet so I am not entirely sure.) &lt;br /&gt;
&lt;br /&gt;
*For detailed documentation on &#039;&#039;JLink&#039;&#039;, please consult the &#039;&#039;Jlink&#039;&#039; manual in the &#039;&#039;Mathematica&#039;&#039; Help Browser.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1469</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1469"/>
		<updated>2006-06-03T16:26:12Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* How to install &amp;#039;&amp;#039;Mathematica&amp;#039;&amp;#039;,&amp;#039;&amp;#039; J/Link&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this project, we will be mainly using Commands in Mathematica to access Java programs that we write.  Here is how to set up the system:&lt;br /&gt;
&lt;br /&gt;
=How to set up a system for using Java in Mathematica=&lt;br /&gt;
&lt;br /&gt;
==How to install &#039;&#039;Mathematica&#039;&#039;,&#039;&#039; J/Link&#039;&#039;, and &#039;&#039;Java&#039;&#039;==&lt;br /&gt;
*Install &#039;&#039;Mathematica&#039;&#039; following the official [http://documents.wolfram.com/mathematica/GettingStarted/SettingUp/InstallingMathematica.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Jlink&#039;&#039; is already completely installed in &#039;&#039;Mathematica 4.2&#039;&#039; and later. If you are using earlier versions of &#039;&#039;Mathematica&#039;&#039;, you can install &#039;&#039;JLink&#039;&#039; following the  [http://www.wolfram.com/solutions/mathlink/jlink/Installation.html official instructions]. &lt;br /&gt;
&lt;br /&gt;
*Download &#039;&#039;JRE 5.0 Update 6&#039;&#039; (latest as of June 2006) the latest version from [http://java.sun.com/j2se/1.5.0/download.js Sun] and install it following the official [http://java.sun.com/j2se/1.5.0/install.html official instructions].&lt;br /&gt;
&lt;br /&gt;
==How to start using &#039;&#039;Jlink&#039;&#039; in a &#039;&#039;Mathematica&#039;&#039; notebook==&lt;br /&gt;
*Write the Java source code (&#039;&#039;.java&#039;&#039; files) and compile it using the command&lt;br /&gt;
 javac file.java&lt;br /&gt;
Place the compiled files (&#039;&#039;.class&#039;&#039; files) in the directory you want. (I have not tried to make .jar files yet so I will not write about it here)&lt;br /&gt;
&lt;br /&gt;
*Open a &#039;&#039;Mathematica&#039;&#039; notebook, install Jlink by writing: &lt;br /&gt;
 Needs[&amp;quot;JLink`&amp;quot;] &lt;br /&gt;
&lt;br /&gt;
*Install Java by writing:&lt;br /&gt;
 InstallJava[] &lt;br /&gt;
or to use a specific java runtime if you have more than one installed on your computer, write:&lt;br /&gt;
 InstallJava[commandLine-&amp;gt;&amp;quot;/wherever/java/is&amp;quot;] in Linux&lt;br /&gt;
 InstallJava[CommandLine -&amp;gt; &amp;quot;d:\\\\path\\to\\java.exe&amp;quot;] in Windows &lt;br /&gt;
&lt;br /&gt;
*Add the directory which contains the compiled java (.class) files to the class path, ie, where Java will look for class files, by writing&lt;br /&gt;
 AddToClassPath[&amp;quot;wherever/my/class/files/are&amp;quot;] in Linux&lt;br /&gt;
 AddToClassPath[&amp;quot;c:\\my\\java\\dir&amp;quot;] in Windows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Load the Java classes by writing&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname1&amp;quot;]&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create New Java Objects by writing&lt;br /&gt;
 JavaNew[&amp;quot;classname1&amp;quot;,constructorArg1,constructorArg2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Access the non-static methods and variables of any object the same way you would in Java except replace &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; (&#039;&#039;java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;@&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;) and &amp;quot;&#039;&#039;&#039;()&#039;&#039;&#039;&amp;quot; (&#039;&#039;Java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;[]&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;). Access static methods or variables by replacing &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; in &#039;&#039;Java&#039;&#039; by &amp;quot;&#039;&#039;&#039;`&#039;&#039;&#039;&amp;quot; in &#039;&#039;Mathematica&#039;&#039;. (I haven&#039;t used the static methods yet so I am not entirely sure.) &lt;br /&gt;
&lt;br /&gt;
*For detailed documentation on &#039;&#039;JLink&#039;&#039;, please consult the &#039;&#039;Jlink&#039;&#039; manual in the &#039;&#039;Mathematica&#039;&#039; Help Browser.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
	<entry>
		<id>https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1468</id>
		<title>HoriAsso - Documentation</title>
		<link rel="alternate" type="text/html" href="https://drorbn.net/index.php?title=HoriAsso_-_Documentation&amp;diff=1468"/>
		<updated>2006-06-03T16:24:32Z</updated>

		<summary type="html">&lt;p&gt;Karenechu: /* How to install Mathematica, J/Link, and Java */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this project, we will be mainly using Commands in Mathematica to access Java programs that we write.  Here is how to set up the system:&lt;br /&gt;
&lt;br /&gt;
=How to set up a system for using Java in Mathematica=&lt;br /&gt;
&lt;br /&gt;
==How to install &#039;&#039;Mathematica&#039;&#039;,&#039;&#039; J/Link&#039;&#039;, and &#039;&#039;Java&#039;&#039;==&lt;br /&gt;
*Install &#039;&#039;Mathematica&#039;&#039; following instructions on the official  [http://documents.wolfram.com/mathematica/GettingStarted/SettingUp/InstallingMathematica.html Mathematica Setup Documentation]. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Jlink&#039;&#039; is already completely installed in &#039;&#039;Mathematica 4.2&#039;&#039; and later. If you are using earlier versions of &#039;&#039;Mathematica&#039;&#039;, you can install &#039;&#039;JLink&#039;&#039; following instructions on the official [http://www.wolfram.com/solutions/mathlink/jlink/Installation.html Jlink Setup Documentation]. &lt;br /&gt;
&lt;br /&gt;
*Download &#039;&#039;JRE 5.0 Update 6&#039;&#039; (latest as of June 2006) the latest version from [http://java.sun.com/j2se/1.5.0/download.js Sun] and install it following instructions from the official [http://java.sun.com/j2se/1.5.0/install.html Setup Documentation].&lt;br /&gt;
&lt;br /&gt;
==How to start using &#039;&#039;Jlink&#039;&#039; in a &#039;&#039;Mathematica&#039;&#039; notebook==&lt;br /&gt;
*Write the Java source code (&#039;&#039;.java&#039;&#039; files) and compile it using the command&lt;br /&gt;
 javac file.java&lt;br /&gt;
Place the compiled files (&#039;&#039;.class&#039;&#039; files) in the directory you want. (I have not tried to make .jar files yet so I will not write about it here)&lt;br /&gt;
&lt;br /&gt;
*Open a &#039;&#039;Mathematica&#039;&#039; notebook, install Jlink by writing: &lt;br /&gt;
 Needs[&amp;quot;JLink`&amp;quot;] &lt;br /&gt;
&lt;br /&gt;
*Install Java by writing:&lt;br /&gt;
 InstallJava[] &lt;br /&gt;
or to use a specific java runtime if you have more than one installed on your computer, write:&lt;br /&gt;
 InstallJava[commandLine-&amp;gt;&amp;quot;/wherever/java/is&amp;quot;] in Linux&lt;br /&gt;
 InstallJava[CommandLine -&amp;gt; &amp;quot;d:\\\\path\\to\\java.exe&amp;quot;] in Windows &lt;br /&gt;
&lt;br /&gt;
*Add the directory which contains the compiled java (.class) files to the class path, ie, where Java will look for class files, by writing&lt;br /&gt;
 AddToClassPath[&amp;quot;wherever/my/class/files/are&amp;quot;] in Linux&lt;br /&gt;
 AddToClassPath[&amp;quot;c:\\my\\java\\dir&amp;quot;] in Windows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Load the Java classes by writing&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname1&amp;quot;]&lt;br /&gt;
 LoadJavaClass[&amp;quot;Classname2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Create New Java Objects by writing&lt;br /&gt;
 JavaNew[&amp;quot;classname1&amp;quot;,constructorArg1,constructorArg2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Access the non-static methods and variables of any object the same way you would in Java except replace &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; (&#039;&#039;java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;@&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;) and &amp;quot;&#039;&#039;&#039;()&#039;&#039;&#039;&amp;quot; (&#039;&#039;Java&#039;&#039;) by &amp;quot;&#039;&#039;&#039;[]&#039;&#039;&#039;&amp;quot; (&#039;&#039;Mathematica&#039;&#039;). Access static methods or variables by replacing &amp;quot;&#039;&#039;&#039;.&#039;&#039;&#039;&amp;quot; in &#039;&#039;Java&#039;&#039; by &amp;quot;&#039;&#039;&#039;`&#039;&#039;&#039;&amp;quot; in &#039;&#039;Mathematica&#039;&#039;. (I haven&#039;t used the static methods yet so I am not entirely sure.) &lt;br /&gt;
&lt;br /&gt;
*For detailed documentation on &#039;&#039;JLink&#039;&#039;, please consult the &#039;&#039;Jlink&#039;&#039; manual in the &#039;&#039;Mathematica&#039;&#039; Help Browser.&lt;/div&gt;</summary>
		<author><name>Karenechu</name></author>
	</entry>
</feed>