<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://katlas.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Siddarth</id>
	<title>Knot Atlas - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://katlas.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Siddarth"/>
	<link rel="alternate" type="text/html" href="https://katlas.org/wiki/Special:Contributions/Siddarth"/>
	<updated>2026-04-21T05:23:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=58257</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=58257"/>
		<updated>2005-09-21T00:23:49Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the polynomial of the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr] //Apart$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr] //Apart&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;  -4    -3   1&lt;br /&gt;
-t   + t   + -&lt;br /&gt;
             t&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Sandbox_REngine&amp;diff=120548</id>
		<title>Sandbox REngine</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Sandbox_REngine&amp;diff=120548"/>
		<updated>2005-09-21T00:21:03Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: Sandbox REngine moved to R-Matrix Invariants&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[R-Matrix Invariants]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Printable_Manual&amp;diff=49428</id>
		<title>Printable Manual</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Printable_Manual&amp;diff=49428"/>
		<updated>2005-09-21T00:19:40Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Warning! It&#039;s important that we keep this page synchronised with [[Manual Table of Contents]]. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If you&#039;ve added something there, make sure to make the corresponding change here. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Entries on [[Manual Table of Contents]] which point to a section of a page should *not* be listed here, --&amp;gt;&lt;br /&gt;
&amp;lt;!--    because that section will have already been transcluded as part of its containing page. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- The levels indicated by * and ** on [[Manual Table of Contents]] are reflected here by the heading level below. --&amp;gt;&lt;br /&gt;
&amp;lt;!--    For example,&lt;br /&gt;
&amp;lt;!--       * [[Presentations]]&lt;br /&gt;
           ** [[Planar Diagrams ]]&lt;br /&gt;
        Becomes&lt;br /&gt;
           ==Presentations==&lt;br /&gt;
           {{:Presentations}}&lt;br /&gt;
           ===Planar Diagrams===&lt;br /&gt;
           {{:Planar Diagrams}}&lt;br /&gt;
        in the page below.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
[[Image:KnotTheory 240.gif|frame|[[Setup|Download / Setup]]]]&lt;br /&gt;
&lt;br /&gt;
This manual describes the [http://www.wolfram.com/ Mathematica] package KnotTheory`, the main tool used to produce The Knot Atlas.&lt;br /&gt;
&lt;br /&gt;
Return to the wiki [[The Mathematica Package KnotTheory`|manual]].&lt;br /&gt;
&lt;br /&gt;
==Acknowledgement==&lt;br /&gt;
{{:Acknowledgement}}&lt;br /&gt;
==Setup==&lt;br /&gt;
{{:Setup}}&lt;br /&gt;
==Naming and Enumeration==&lt;br /&gt;
{{:Naming and Enumeration}}&lt;br /&gt;
==Presentations==&lt;br /&gt;
{{:Presentations}}&lt;br /&gt;
===Planar Diagrams===&lt;br /&gt;
{{:Planar Diagrams}}&lt;br /&gt;
===Gauss Codes===&lt;br /&gt;
{{:Gauss Codes}}&lt;br /&gt;
===DT (Dowker-Thistlethwaite) Codes===&lt;br /&gt;
{{:DT (Dowker-Thistlethwaite) Codes}}&lt;br /&gt;
===Braid Representatives===&lt;br /&gt;
{{:Braid Representatives}}&lt;br /&gt;
===MorseLink Presentations===&lt;br /&gt;
{{:MorseLink Presentations}}&lt;br /&gt;
==Graphical Output==&lt;br /&gt;
{{:Graphical Output}}&lt;br /&gt;
===Drawing Planar Diagrams===&lt;br /&gt;
{{:Drawing Planar Diagrams}}&lt;br /&gt;
===Drawing MorseLink Presentations===&lt;br /&gt;
{{:Drawing MorseLink Presentations}}&lt;br /&gt;
===Drawing Braids===&lt;br /&gt;
{{:Drawing Braids}}&lt;br /&gt;
==Structure and Operations==&lt;br /&gt;
{{:Structure and Operations}}&lt;br /&gt;
==Invariants==&lt;br /&gt;
{{:Invariants}}&lt;br /&gt;
===Invariants from Braid Theory===&lt;br /&gt;
{{:Invariants from Braid Theory}}&lt;br /&gt;
===Three Dimensional Invariants===&lt;br /&gt;
{{:Three Dimensional Invariants}}&lt;br /&gt;
===The Alexander-Conway Polynomial===&lt;br /&gt;
{{:The Alexander-Conway Polynomial}}&lt;br /&gt;
===The Multivariable Alexander Polynomial===&lt;br /&gt;
{{:The Multivariable Alexander Polynomial}}&lt;br /&gt;
===The Determinant and the Signature===&lt;br /&gt;
{{:The Determinant and the Signature}}&lt;br /&gt;
===The Jones Polynomial===&lt;br /&gt;
{{:The Jones Polynomial}}&lt;br /&gt;
===The Coloured Jones Polynomials===&lt;br /&gt;
{{:The Coloured Jones Polynomials}}&lt;br /&gt;
===The A2 Invariant===&lt;br /&gt;
{{:The A2 Invariant}}&lt;br /&gt;
===The HOMFLY-PT Polynomial===&lt;br /&gt;
{{:The HOMFLY-PT Polynomial}}&lt;br /&gt;
===The Kauffman Polynomial===&lt;br /&gt;
{{:The Kauffman Polynomial}}&lt;br /&gt;
===Finite Type (Vassiliev) Invariants===&lt;br /&gt;
{{:Finite Type (Vassiliev) Invariants}}&lt;br /&gt;
===Khovanov Homology===&lt;br /&gt;
{{:Khovanov Homology}}&lt;br /&gt;
===R-Matrix Invariants===&lt;br /&gt;
{{:R-Matrix Invariants}}&lt;br /&gt;
==Extras Included with KnotTheory`==&lt;br /&gt;
{{:Extras Included with KnotTheory`}}&lt;br /&gt;
===Drawing with TubePlot===&lt;br /&gt;
{{:Drawing with TubePlot}}&lt;br /&gt;
==Lightly Documented Features==&lt;br /&gt;
{{:Lightly Documented Features}}&lt;br /&gt;
==A Sample KnotTheory` Session==&lt;br /&gt;
{{:A Sample KnotTheory` Session}}&lt;br /&gt;
==Further Knot Theory Software==&lt;br /&gt;
{{:Further Knot Theory Software}}&lt;br /&gt;
==Extending/Modifying &amp;lt;code&amp;gt;KnotTheory`&amp;lt;/code&amp;gt;==&lt;br /&gt;
{{:Extending/Modifying KnotTheory`}}&lt;br /&gt;
===List of Modules in &amp;lt;code&amp;gt;KnotTheory`&amp;lt;/code&amp;gt;===&lt;br /&gt;
{{:List of Modules in KnotTheory`}}&lt;br /&gt;
==How to Edit this Manual...==&lt;br /&gt;
{{:How to Edit this Manual...}}&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Manual_Table_of_Contents&amp;diff=49427</id>
		<title>Manual Table of Contents</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Manual_Table_of_Contents&amp;diff=49427"/>
		<updated>2005-09-21T00:18:35Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{If pagename|Manual Table of Contents|[[Image:Stop_hand.png]] Warning! Any changes you make here should also be reflected in the [[Printable Manual]]! Please remember to go there and make the appropriate changes.}}&lt;br /&gt;
&lt;br /&gt;
[[The Mathematica Package KnotTheory`]]&lt;br /&gt;
* [[Acknowledgement]]&lt;br /&gt;
* [[Setup]]&lt;br /&gt;
* [[Naming and Enumeration]]&lt;br /&gt;
* [[Presentations]]&lt;br /&gt;
** [[Planar Diagrams]]&lt;br /&gt;
*** [[Planar Diagrams#Some further details|Some further details]]&lt;br /&gt;
** [[Gauss Codes]]&lt;br /&gt;
** [[DT (Dowker-Thistlethwaite) Codes]]&lt;br /&gt;
** [[Braid Representatives]]&lt;br /&gt;
** [[MorseLink Presentations]]&lt;br /&gt;
* [[Graphical Output]]&lt;br /&gt;
** [[Drawing Planar Diagrams]]&lt;br /&gt;
*** [[Drawing Planar Diagrams#How does it work?|How does it work?]] &lt;br /&gt;
** [[Drawing MorseLink Presentations]]&lt;br /&gt;
** [[Drawing Braids]]&lt;br /&gt;
* [[Structure and Operations]]&lt;br /&gt;
* [[Invariants]]&lt;br /&gt;
** [[Invariants from Braid Theory]]&lt;br /&gt;
** [[Three Dimensional Invariants]]&lt;br /&gt;
** [[The Alexander-Conway Polynomial]]&lt;br /&gt;
** [[The Multivariable Alexander Polynomial]]&lt;br /&gt;
** [[The Determinant and the Signature]]&lt;br /&gt;
** [[The Jones Polynomial]]&lt;br /&gt;
*** [[The Jones Polynomial#How is the Jones polynomial computed?|How is the Jones polynomial computed?]]&lt;br /&gt;
** [[The Coloured Jones Polynomials]]&lt;br /&gt;
** [[The A2 Invariant]]&lt;br /&gt;
** [[The HOMFLY-PT Polynomial]]&lt;br /&gt;
** [[The Kauffman Polynomial]]&lt;br /&gt;
** [[Finite Type (Vassiliev) Invariants]]&lt;br /&gt;
** [[Khovanov Homology]]&lt;br /&gt;
** [[R-Matrix Invariants]]&lt;br /&gt;
* [[Extras Included with KnotTheory`]]&lt;br /&gt;
** [[Drawing with TubePlot]]&lt;br /&gt;
*** [[Drawing with TubePlot#Standalone TubePlot|Standalone_TubePlot]]&lt;br /&gt;
* [[Lightly Documented Features]]&lt;br /&gt;
* [[A Sample KnotTheory` Session]]&lt;br /&gt;
* [[Further Knot Theory Software]]&lt;br /&gt;
** [[Further Knot Theory Software#KnotPlot|KnotPlot]]&lt;br /&gt;
** [[Further Knot Theory Software#Knotscape|Knotscape]]&lt;br /&gt;
* [[Extending/Modifying KnotTheory`|Extending/Modifying &amp;lt;code&amp;gt;KnotTheory`&amp;lt;/code&amp;gt;]]&lt;br /&gt;
* [[List of Modules in KnotTheory`|List of Modules in &amp;lt;code&amp;gt;KnotTheory`&amp;lt;/code&amp;gt;]]&lt;br /&gt;
* [[How to Edit this Manual...]]&lt;br /&gt;
{| align=right&lt;br /&gt;
|[[Manual Table of Contents|Edit the TOC]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48444</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48444"/>
		<updated>2005-09-08T23:19:51Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the polynomial of the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr] //Apart$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr] //Apart&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;  -4    -3   1&lt;br /&gt;
-t   + t   + -&lt;br /&gt;
             t&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48290</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48290"/>
		<updated>2005-09-08T23:17:54Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the value at the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr] //Apart$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr] //Apart&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;  -4    -3   1&lt;br /&gt;
-t   + t   + -&lt;br /&gt;
             t&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48289</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48289"/>
		<updated>2005-09-08T23:17:36Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the value at the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr] //Apart$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] &lt;br /&gt;
/ REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;$Failed&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48288</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48288"/>
		<updated>2005-09-08T23:16:21Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the value at the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] &lt;br /&gt;
/ REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] &lt;br /&gt;
/ REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;$Failed&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48287</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48287"/>
		<updated>2005-09-08T23:16:04Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the value at the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] &lt;br /&gt;
/ REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] / REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;$Failed&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48286</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48286"/>
		<updated>2005-09-08T23:15:25Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the value at the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] &lt;br /&gt;
/ REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] &lt;br /&gt;
/ REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;$Failed&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48285</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48285"/>
		<updated>2005-09-08T23:14:22Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt; (positive crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under,Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt; (negative crossing)&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcupr.png|Cup right]] &amp;lt;math&amp;gt;\Rightarrow {M_\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cup[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcupl.png|Cup left]] &amp;lt;math&amp;gt;\Rightarrow {M_\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k+1]&amp;lt;/code&amp;gt;: [[Image:REmcapr.png|Cap right]] &amp;lt;math&amp;gt;\Rightarrow {M^\rightarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Cap[k, k-1]&amp;lt;/code&amp;gt;: [[Image:REmcapl.png|Cap left]] &amp;lt;math&amp;gt;\Rightarrow {M^\leftarrow}_{ab}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. The &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;M&#039;&#039;&#039;&#039;&#039; matrices for the Jones polynomial, in the indeterminate t, are as follows: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R = \begin{pmatrix} t^{1/2} &amp;amp; 0&amp;amp;0&amp;amp;0 \\ 0&amp;amp;0&amp;amp;t&amp;amp;0 \\ 0&amp;amp;t&amp;amp;t^{1/2} - t^{3/2}&amp;amp;0\\0&amp;amp;0&amp;amp;0&amp;amp;t^{1/2} \end{pmatrix} , \bar{R} = R^{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;M^\leftarrow = M^\rightarrow = M_\leftarrow = M_\rightarrow = \begin{pmatrix} 0&amp;amp;t^{-1/4} \\ t^{1/4}&amp;amp;0 \end{pmatrix} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Putting these definitions into Mathematica, we run the REngine on the [[3_1|trefoil]]. Note that the Jones polynomial is usually normalized so that the value at the unknot [[0_1]] is 1, hence the term on the denominator. &lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r]; mcupl=mcapl=mcupr=mcapr={{0, t^(-1/4)},{t^(1/4), 0}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$jones = REngine[Knot[3,1], r, rb, mcupl, mcapl, mcupr, mcapr] &lt;br /&gt;
/ REngine[Knot[0,1], r, rb, mcupl, mcapr, mcupr, mcapr]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:REmcapl.png&amp;diff=117886</id>
		<title>File:REmcapl.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:REmcapl.png&amp;diff=117886"/>
		<updated>2005-09-08T23:08:23Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:REmcapr.png&amp;diff=117885</id>
		<title>File:REmcapr.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:REmcapr.png&amp;diff=117885"/>
		<updated>2005-09-08T23:08:16Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:REmcupr.png&amp;diff=117884</id>
		<title>File:REmcupr.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:REmcupr.png&amp;diff=117884"/>
		<updated>2005-09-08T23:08:10Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:REmcupl.png&amp;diff=117883</id>
		<title>File:REmcupl.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:REmcupl.png&amp;diff=117883"/>
		<updated>2005-09-08T23:00:23Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48284</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48284"/>
		<updated>2005-09-07T21:55:01Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. First, we need to specify the R matrices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&amp;lt;!--$$MatrixForm[r]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;MatrixForm[r]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Sqrt[t]          0                0                0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
0                0                t                0&lt;br /&gt;
&lt;br /&gt;
                                             3/2&lt;br /&gt;
0                t                Sqrt[t] - t      0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
0                0                0                Sqrt[t]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48280</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48280"/>
		<updated>2005-09-07T21:54:48Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. First, we need to specify the R matrices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&amp;lt;!--$$MatrixForm[r]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48279</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48279"/>
		<updated>2005-09-07T21:51:49Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. First, we need to specify the R matrices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&amp;lt;!--$$Print[&amp;quot;R = &amp;quot;,MatrixForm[r],&amp;quot; , Rbar = &amp;quot;, MatrixForm[rb]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;Print[&amp;quot;R = &amp;quot;,MatrixForm[r],&amp;quot; , Rbar = &amp;quot;, MatrixForm[rb]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48278</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48278"/>
		<updated>2005-09-07T21:51:33Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. First, we need to specify the R matrices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];$$--&amp;gt;&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&amp;lt;!--$$Print[&amp;quot;R = &amp;quot;,MatrixForm[r],&amp;quot; , Rbar = &amp;quot;, MatrixForm[rb]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48277</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48277"/>
		<updated>2005-09-07T21:47:15Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;REngine&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;REngine[K, Rp, Rn, Mcupl, Mcupr, Mcapl Mcapr] returns the invariant associated with the given R-matrices (Rp for positive crossings, Rn for negative crossings) and oriented creation and annihilation M matrices, of the oriented knot or link K. See the Manual for details of convention. Note that REngine does not verify that the given matrices actually define an invariant, use TestRMatrix[..] for this purpose.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;REngine was written by Siddarth Sankaran at the University of Toronto, in the summer of 2005&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. First, we need to specify the R matrices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];&lt;br /&gt;
Print[&amp;quot;R = &amp;quot;,MatrixForm[r],&amp;quot; , Rbar = &amp;quot;, MatrixForm[rb]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{In|&lt;br /&gt;
n  = 3 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];&lt;br /&gt;
Print[&amp;quot;R = &amp;quot;,MatrixForm[r],&amp;quot; , Rbar = &amp;quot;, MatrixForm[rb]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48276</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48276"/>
		<updated>2005-09-07T21:46:55Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. First, we need to specify the R matrices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};&lt;br /&gt;
rb = Inverse[r];&lt;br /&gt;
Print[&amp;quot;R = &amp;quot;,MatrixForm[r],&amp;quot; , Rbar = &amp;quot;, MatrixForm[rb]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=112897</id>
		<title>Drawing MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=112897"/>
		<updated>2005-09-07T21:44:37Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can also draw knots and links via their [[MorseLink Presentations|Morse link presentations]]:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?DrawMorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;DrawMorseLink&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;DrawMorseLink[L] returns a drawing of the knot or link L as a &amp;quot;Morse Link&amp;quot;. For diagrams with a large number of crossings, it may be helpful to use one or both of the options as in DrawMorseLink[L, Gap -&amp;gt; g, ArrowSize -&amp;gt; as ], with 0 &amp;lt; as, g &amp;lt; 1, where g controls the amount of white space at each crossing, and as controls the size of the orientation arrows.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;DrawMorseLink was written by Siddarth Sankaran at the University of Toronto in the summer of 2005.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, here is the 11-crossing alternating link [[L11a548]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Link[11, Alternating, 548]]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{Graphics|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;Show[DrawMorseLink[Link[11, Alternating, 548]]]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
img= Drawing_MorseLink_Presentations_Out_3.gif |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;-Graphics-&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are two options available for this program. Adding the option &#039;&#039;Gap -&amp;gt; g&#039;&#039;, where &#039;&#039;g&#039;&#039; is between 0 and 1, changes the amount of white space in each crossing; increasing g increases the white space, making large diagrams more visible. The option &#039;&#039;ArrowSize -&amp;gt; as&#039;&#039; (where &#039;&#039;as&#039;&#039; is between 0 and 1) alters the size of the orientation arrows. &lt;br /&gt;
Here is the same drawing as above, but this time the orientation arrows are gone and the crossings are more clear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[&lt;br /&gt;
  Link[11, Alternating, 548],&lt;br /&gt;
  ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65&lt;br /&gt;
]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{Graphics|&lt;br /&gt;
n  = 6 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;Show[DrawMorseLink[&lt;br /&gt;
  Link[11, Alternating, 548],&lt;br /&gt;
  ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65&lt;br /&gt;
]]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
img= Drawing_MorseLink_Presentations_Out_5.gif |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;-Graphics-&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48275</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48275"/>
		<updated>2005-09-07T21:39:13Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|left|thumb|150px|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then &amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks, while the utility [[TestRMatrix]] performs the tests required to determine regular isotopy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use the REngine to find the Jones polynomial of the trefoil. First, we need to specify the R matrices:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$r={{Sqrt[t], 0, 0, 0},{0, 0, t, 0},{0,t, Sqrt[t] - t^(3/2), 0}, {0,0,0,Sqrt[t]}};$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--$$rb = Inverse[r];$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--$$Print[&amp;quot;R = &amp;quot;,MatrixForm[r],&amp;quot; , Rbar = &amp;quot;, MatrixForm[rb]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48273</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48273"/>
		<updated>2005-09-07T21:07:53Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element of &#039;&#039;&#039;&#039;&#039;R&#039;&#039;&#039;&#039;&#039; in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:REtref.png|right|frame|A trefoil knot]]&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the trefoil as shown, with the chosen axis upwards, and the strands going down through all the crossings. Then&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} {M_\rightarrow}_{cd} R_{bc}^{ef} R_{ef}^{gh} R_{gh}^{ij} {M^\rightarrow}_{ai}{M^\leftarrow}_{jd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the summation is carried out on all the indices &#039;&#039;a&#039;&#039; through &#039;&#039;i&#039;&#039;, each ranging from 1 to n.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determining that &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; is actually an invariant is simply a matter of checking the equality of the outcomes of Reidemeister moves in various configurations and orientations, as well as a few &#039;topological&#039; moves. Note that &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt; does not perform any checks; the utility [[TestRMatrix]] does the tests required to determine regular isotopy.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:REtref.png&amp;diff=117275</id>
		<title>File:REtref.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:REtref.png&amp;diff=117275"/>
		<updated>2005-09-07T20:06:19Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: RE man image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RE man image&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48272</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48272"/>
		<updated>2005-09-07T20:05:31Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices. &lt;br /&gt;
&lt;br /&gt;
The following notation is useful: for &amp;lt;math&amp;gt;n = dim(V)&amp;lt;/math&amp;gt;,  &amp;lt;math&amp;gt;R_{ab}^{cd}&amp;lt;/math&amp;gt; refers to the element in row &amp;lt;math&amp;gt;n(c-1)+d&amp;lt;/math&amp;gt; row and column &amp;lt;math&amp;gt;n(a-1) + b&amp;lt;/math&amp;gt; column.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is accomplished by adding caps and cups where necessary.  &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;. &lt;br /&gt;
#Associate each event with one of the matrices as shown, with the indices given by the labelling:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ab}^{cd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#Define &amp;lt;math&amp;gt;\tau(K)&amp;lt;/math&amp;gt; as the result of taking the product of the matrices associated with the elements of &#039;&#039;K&#039;&#039;, and summing over repeated indices; each sum runs from 1 to &amp;lt;math&amp;gt;n=dim(V)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example, let &#039;&#039;K&#039;&#039; be the left-handed trefoil, as shown. Then&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau(K) = \sum {M_\leftarrow}_{ab} &amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48271</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48271"/>
		<updated>2005-09-07T00:22:03Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is easily accomplished by adding caps and cups where necessary. Take the chosen axis to be vertical, pointing upwards, so cups and caps are maxima and minima with respect to the vertical height function. &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of K. &lt;br /&gt;
#Associate each event with one of the matrices as shown:&lt;br /&gt;
#*&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ac}^{bd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ac}^{bd}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48243</id>
		<title>R-Matrix Invariants</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=R-Matrix_Invariants&amp;diff=48243"/>
		<updated>2005-09-07T00:11:01Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KnotTheory` can compute knot and link invariants associated with matrix solutions of the Yang-Baxter equation, using the program &amp;lt;code&amp;gt;REngine&amp;lt;/code&amp;gt;:&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?REngine$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In more detail, let &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; be a free module of finite rank over a commutative ring, and let &amp;lt;math&amp;gt; R, \bar{R} \in End(V \otimes V) &amp;lt;/math&amp;gt; be invertible. Further, let there be invertible endomorphisms &amp;lt;math&amp;gt;M_\leftarrow, M_\rightarrow, M^\leftarrow, M^\rightarrow \in End(V) &amp;lt;/math&amp;gt;; these correspond to McupL, McupR, McapL, and McapR respectively. Fixing a basis of V, we can regard all of these endomorphisms as matrices.&lt;br /&gt;
&lt;br /&gt;
For an oriented knot or link &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;, REngine returns the product &amp;lt;math&amp;gt; \tau(K) &amp;lt;/math&amp;gt;, which is computed as follows:&lt;br /&gt;
#Find a [[MorseLink Presentations| Morse link presentation]] of &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; such that it is composed only of crossings of the &amp;lt;code&amp;gt;X[k, Over/Under, Down, Down]&amp;lt;/code&amp;gt; variety; this is easily accomplished by adding caps and cups where necessary. Take the chosen axis to be vertical, pointing upwards, so cups and caps are maxima and minima with respect to the vertical height function. &lt;br /&gt;
#Label the edges in between events in the Morse link presentation of K. &lt;br /&gt;
#Associate each event with one of the matrices as shown:&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Over, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REposcr.png|Positive crossing]]&amp;lt;math&amp;gt;\Rightarrow R_{ac}^{bd}&amp;lt;/math&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;X[k, Under, Down, Down]&amp;lt;/code&amp;gt;:[[Image:REnegcr.png|Negative crossing]] &amp;lt;math&amp;gt;\Rightarrow\bar{R}_{ac}^{bd}&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:REposcr.png&amp;diff=113209</id>
		<title>File:REposcr.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:REposcr.png&amp;diff=113209"/>
		<updated>2005-09-06T23:42:52Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: RE manual image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RE manual image&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:REnegcr.png&amp;diff=113142</id>
		<title>File:REnegcr.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:REnegcr.png&amp;diff=113142"/>
		<updated>2005-09-06T23:29:00Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: Rengine man page image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rengine man page image&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Lightly_Documented_Features&amp;diff=110513</id>
		<title>Lightly Documented Features</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Lightly_Documented_Features&amp;diff=110513"/>
		<updated>2005-09-06T17:19:35Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: MorseLink stuff doc&amp;#039;ed elsewhere&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$?NumberOfKnots$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpLine|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;NumberOfKnots&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;NumberOfKnots[type] return the number of knots of a given type.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$NumberOfKnots[16, NonAlternating]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{InOut|&lt;br /&gt;
n  = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;NumberOfKnots[16, NonAlternating]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;1008906&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=48224</id>
		<title>Drawing MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=48224"/>
		<updated>2005-09-06T17:17:56Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KnotTheory` can also draw knots and links via their [[MorseLink Presentations|Morse link presentations]]:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?DrawMorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;DrawMorseLink&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;DrawMorseLink[L] returns a drawing of the knot or link L as a &amp;quot;Morse Link&amp;quot;. For diagrams with a large number of crossings, it may be helpful to use one or both of the options as in DrawMorseLink[L, Gap -&amp;gt; g, ArrowSize -&amp;gt; as ], with 0 &amp;lt; as, g &amp;lt; 1, where g controls the amount of white space at each crossing, and as controls the size of the orientation arrows.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;DrawMorseLink was written by Siddarth Sankaran at the University of Toronto in the summer of 2005.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, here is the 11-crossing alternating link [[L11a548]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Link[11, Alternating, 548]]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{Graphics|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;Show[DrawMorseLink[Link[11, Alternating, 548]]]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
img= Drawing_MorseLink_Presentations_Out_3.gif |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;-Graphics-&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are two options available for this program. Adding the option &#039;&#039;Gap -&amp;gt; g&#039;&#039;, where &#039;&#039;g&#039;&#039; is between 0 and 1, changes the amount of white space in each crossing; increasing g increases the white space, making large diagrams more visible. The option &#039;&#039;ArrowSize -&amp;gt; as&#039;&#039; (where &#039;&#039;as&#039;&#039; is between 0 and 1) alters the size of the orientation arrows. &lt;br /&gt;
Here is the same drawing as above, but this time the orientation arrows are gone and the crossings are more clear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Link[11, Alternating, 548], ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{Graphics|&lt;br /&gt;
n  = 6 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;Show[DrawMorseLink[Link[11, Alternating, 548], ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65]]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
img= Drawing_MorseLink_Presentations_Out_5.gif |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;-Graphics-&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=48219</id>
		<title>Drawing MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=48219"/>
		<updated>2005-09-06T17:12:25Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KnotTheory` can also draw knots and links via their [[MorseLink Presentations|Morse link presentations]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$?DrawMorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;DrawMorseLink&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;DrawMorseLink[L] returns a drawing of the knot or link L as a &amp;quot;Morse Link&amp;quot;. For diagrams with a large number of crossings, it may be helpful to use one or both of the options as in DrawMorseLink[L, Gap -&amp;gt; g, ArrowSize -&amp;gt; as ], with 0 &amp;lt; as, g &amp;lt; 1, where g controls the amount of white space at each crossing, and as controls the size of the orientation arrows.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;DrawMorseLink was written by Siddarth Sankaran at the University of Toronto in the summer of 2005.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, here is the 11-crossing alternating link [[L11a548]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Link[11, Alternating, 548]]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{Graphics|&lt;br /&gt;
n  = 4 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;Show[DrawMorseLink[Link[11, Alternating, 548]]]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
img= Drawing_MorseLink_Presentations_Out_3.gif |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;-Graphics-&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are two options available for this program. Adding the option &#039;&#039;Gap -&amp;gt; g&#039;&#039;, where &#039;&#039;g&#039;&#039; is between 0 and 1, changes the amount of white space in each crossing; increasing g increases the white space, making large diagrams more visible. The option &#039;&#039;ArrowSize -&amp;gt; as&#039;&#039; (where &#039;&#039;as&#039;&#039; is between 0 and 1) alters the size of the orientation arrows. &lt;br /&gt;
Here is the same drawing as above, but this time the orientation arrows are gone and the crossings are more clear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Link[11, Alternating, 548], ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{Graphics|&lt;br /&gt;
n  = 6 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;Show[DrawMorseLink[Link[11, Alternating, 548], ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65]]&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
img= Drawing_MorseLink_Presentations_Out_5.gif |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;-Graphics-&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:Drawing_MorseLink_Presentations_Out_5.gif&amp;diff=112899</id>
		<title>File:Drawing MorseLink Presentations Out 5.gif</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:Drawing_MorseLink_Presentations_Out_5.gif&amp;diff=112899"/>
		<updated>2005-09-06T17:12:22Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: Show[DrawMorseLink[Link[11, Alternating, 548], ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65]]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Show[DrawMorseLink[Link[11, Alternating, 548], ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65]]&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:Drawing_MorseLink_Presentations_Out_3.gif&amp;diff=112898</id>
		<title>File:Drawing MorseLink Presentations Out 3.gif</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:Drawing_MorseLink_Presentations_Out_3.gif&amp;diff=112898"/>
		<updated>2005-09-06T17:12:20Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: Show[DrawMorseLink[Link[11, Alternating, 548]]]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Show[DrawMorseLink[Link[11, Alternating, 548]]]&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=48218</id>
		<title>Drawing MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=Drawing_MorseLink_Presentations&amp;diff=48218"/>
		<updated>2005-09-06T17:10:48Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KnotTheory` can also draw knots and links via their [[MorseLink Presentations|Morse link presentations]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$?DrawMorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, here is the 11-crossing alternating link [[L11a548]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Link[11, Alternating, 548]]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are two options available for this program. Adding the option &#039;&#039;Gap -&amp;gt; g&#039;&#039;, where &#039;&#039;g&#039;&#039; is between 0 and 1, changes the amount of white space in each crossing; increasing g increases the white space, making large diagrams more visible. The option &#039;&#039;ArrowSize -&amp;gt; as&#039;&#039; (where &#039;&#039;as&#039;&#039; is between 0 and 1) alters the size of the orientation arrows. &lt;br /&gt;
Here is the same drawing as above, but this time the orientation arrows are gone and the crossings are more clear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Link[11, Alternating, 548], ArrowSize -&amp;gt; 0, Gap -&amp;gt; 0.65]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44084</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44084"/>
		<updated>2005-09-02T18:48:12Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&amp;lt;small&amp;gt; This page is under construction...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres0.png|frame|center|A diagram of the knot [[4_1]] ]]&lt;br /&gt;
&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top. Clearly the first event to take place is a cup, creating strands 1 and 2, and directed from 1 to 2. The next event is also a cup; this time, the strands 3 and 4 are created, from 3 to 4. So the first two elements of our MorseLink presentation are &amp;lt;code&amp;gt;{Cup[1,2], Cup[3,4], ...}&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres1.png|250px|left|A crossing event]]The next event to take place is a crossing. This crossing has strand 2 going under strand 3; following the orientations, strand 2 moves to the right through the crossing, while strand 3 comes from the left. Since the chosen axis is pointing to the right, this event is described as &amp;lt;code&amp;gt;X[2, Under, Up, Down]&amp;lt;/code&amp;gt;.  We may proceed in a similar way for the rest of the crossings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres2.png|250px|right|Two cap events]]After three more crossings, we encounter two cap events. The first annihilates strands 2 and 3, and is directed from 2 to 3. The second annihilates strands 1 and 2, but is directed from 2 to 1. So our MorseLink presentation for the knot [[4_1]] is given by: &amp;lt;code&amp;gt;MorseLink[Cup[1,2], Cup[3,4], X[2 , Under, Up, Down], X[2, Under, Down, Up], X[1, Over, Down, Up], X[1, Over, Up, Down], Cap[2,3], Cap[2,1]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
====Further notes====&lt;br /&gt;
&lt;br /&gt;
*KnotTheory` knows about Morse link presentations:&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?MorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;MorseLink&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;MorseLink[K] returns a presentation of the oriented link K, composed, in successive order, of the following &#039;events&#039;: Cup[m,n] is a directed creation, starting at strand position n, towards position m, where m and n differ by 1. X[n,a = {Over/Under}, b = {Up/Down}, c={Up/Down}] is a crossing with lower-left edge at strand n, a determines whether the strand running bottom-left to top-right is over/under the crossing, b and c give the directions of the bottom-left and bottom-right strands respectively through the crossing. Cap[m,n] is a directed cap, from strand m to strand n.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;MorseLink was added to KnotTheory` by Siddarth Sankaran at the University of Toronto in the summer of 2005.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
*Obviously, there is no unique Morse link presentation for a knot. One presentation may be considered &#039;better&#039; than another if it generally has fewer strands. Unfortunately, this program makes only a half-hearted attempt in coming up with such presentations; it does a creation only when it can no longer do any caps or crossings, but exhibits a lack of foresight into which edges to create.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44082</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44082"/>
		<updated>2005-09-02T18:46:49Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&amp;lt;small&amp;gt; This page is under construction...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres0.png|frame|center|A diagram of the knot [[4_1]] ]]&lt;br /&gt;
&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top. Clearly the first event to take place is a cup, creating strands 1 and 2, and directed from 1 to 2. The next event is also a cup; this time, the strands 3 and 4 are created, from 3 to 4. So the first two elements of our MorseLink presentation are &amp;lt;code&amp;gt;{Cup[1,2], Cup[3,4], ...}&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres1.png|250px|left|A crossing event]]The next event to take place is a crossing. This crossing has strand 2 going under strand 3; following the orientations, strand 2 moves to the right through the crossing, while strand 3 comes from the left. Since the chosen axis is pointing to the right, this event is described as &amp;lt;code&amp;gt;X[2, Under, Up, Down]&amp;lt;/code&amp;gt;.  We may proceed in a similar way for the rest of the crossings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres2.png|250px|right|Two cap events]]After three more crossings, we encounter two cap events. The first annihilates strands 2 and 3, and is directed from 2 to 3. The second annihilates strands 1 and 2, but is directed from 2 to 1. So our MorseLink presentation for the knot [[4_1]] is given by: &amp;lt;code&amp;gt;MorseLink[Cup[1,2], Cup[3,4], X[2 , Under, Up, Down], X[2, Under, Down, Up], X[1, Over, Down, Up], X[1, Over, Up, Down], Cap[2,3], Cap[2,1]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
====Further notes====&lt;br /&gt;
&lt;br /&gt;
*KnotTheory` knows about MorseLink:&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?MorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--Robot Land, no human edits to &amp;quot;END&amp;quot;--&amp;gt;&lt;br /&gt;
{{HelpAndAbout|&lt;br /&gt;
n  = 1 |&lt;br /&gt;
n1 = 2 |&lt;br /&gt;
in = &amp;lt;nowiki&amp;gt;MorseLink&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
out= &amp;lt;nowiki&amp;gt;MorseLink[K] returns a presentation of the oriented link K, composed, in successive order, of the following &#039;events&#039;: Cup[m,n] is a directed creation, starting at strand position n, towards position m, where m and n differ by 1. X[n,a = {Over/Under}, b = {Up/Down}, c={Up/Down}] is a crossing with lower-left edge at strand n, a determines whether the strand running bottom-left to top-right is over/under the crossing, b and c give the directions of the bottom-left and bottom-right strands respectively through the crossing. Cap[m,n] is a directed cap, from strand m to strand n.&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
about= &amp;lt;nowiki&amp;gt;MorseLink was added to KnotTheory` by Siddarth Sankaran at the University of Toronto in the summer of 2005.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
*Obviously, there is no unique Morse link presentation for a knot. One presentation may be considered &#039;better&#039; than another if it generally has fewer strands. Unfortunately, this program makes only a half-hearted attempt in coming up with such presentations; it does a creation only when it can no longer do any caps or crossings, but exhibits a lack of foresight into which edges to create.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44081</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44081"/>
		<updated>2005-09-02T18:40:17Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&amp;lt;small&amp;gt; This page is under construction...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres0.png|frame|center|A diagram of the knot [[4_1]] ]]&lt;br /&gt;
&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top. Clearly the first event to take place is a cup, creating strands 1 and 2, and directed from 1 to 2. The next event is also a cup; this time, the strands 3 and 4 are created, from 3 to 4. So the first two elements of our MorseLink presentation are &amp;lt;code&amp;gt;{Cup[1,2], Cup[3,4], ...}&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres1.png|250px|left|A crossing event]]The next event to take place is a crossing. This crossing has strand 2 going under strand 3; following the orientations, strand 2 moves to the right through the crossing, while strand 3 comes from the left. Since the chosen axis is pointing to the right, this event is described as &amp;lt;code&amp;gt;X[2, Under, Up, Down]&amp;lt;/code&amp;gt;.  We may proceed in a similar way for the rest of the crossings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres2.png|250px|right|Two cap events]]After three more crossings, we encounter two cap events. The first annihilates strands 2 and 3, and is directed from 2 to 3. The second annihilates strands 1 and 2, but is directed from 2 to 1. So our MorseLink presentation for the knot [[4_1]] is given by: &amp;lt;code&amp;gt;MorseLink[Cup[1,2], Cup[3,4], X[2 , Under, Up, Down], X[2, Under, Down, Up], X[1, Over, Down, Up], X[1, Over, Up, Down], Cap[2,3], Cap[2,1]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
====Further notes====&lt;br /&gt;
&lt;br /&gt;
*KnotTheory` knows about MorseLink:&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$?MorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
*Obviously, there is no unique Morse link presentation for a knot. One presentation may be considered &#039;better&#039; than another if it generally has fewer strands. Unfortunately, this program makes only a half-hearted attempt in coming up with such presentations; it does a creation only when it can no longer do any caps or crossings, but exhibits a lack of foresight into which edges to create.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44080</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44080"/>
		<updated>2005-09-02T18:39:24Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&amp;lt;small&amp;gt; This page is under construction...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres0.png|frame|center|A diagram of the knot [[4_1]] ]]&lt;br /&gt;
&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top. Clearly the first event to take place is a cup, creating strands 1 and 2, and directed from 1 to 2. The next event is also a cup; this time, the strands 3 and 4 are created, from 3 to 4. So the first two elements of our MorseLink presentation are &amp;lt;code&amp;gt;{Cup[1,2], Cup[3,4], ...}&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres1.png|250px|left|A crossing event]]The next event to take place is a crossing. This crossing has strand 2 going under strand 3; following the orientations, strand 2 moves to the right through the crossing, while strand 3 comes from the left. Since the chosen axis is pointing to the right, this event is described as &amp;lt;code&amp;gt;X[2, Under, Up, Down]&amp;lt;/code&amp;gt;.  We may proceed in a similar way for the rest of the crossings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres2.png|250px|right|Two cap events]]After three more crossings, we encounter two cap events. The first annihilates strands 2 and 3, and is directed from 2 to 3. The second annihilates strands 1 and 2, but is directed from 2 to 1. So our MorseLink presentation for the knot [[4_1]] is given by: &amp;lt;code&amp;gt;MorseLink[Cup[1,2], Cup[3,4], X[2 , Under, Up, Down], X[2, Under, Down, Up], X[1, Over, Down, Up], X[1, Over, Up, Down], Cap[2,3], Cap[2,1]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
====Further notes====&lt;br /&gt;
&lt;br /&gt;
*KnotTheory` knows about MorseLink:&lt;br /&gt;
{Startup Note}&lt;br /&gt;
&amp;lt;!--$$?MorseLink$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
*Obviously, there is no unique Morse link presentation for a knot. One presentation may be considered &#039;better&#039; than another if it generally has fewer strands. Unfortunately, this program makes only a half-hearted attempt in coming up with such presentations; it does a creation only when it can no longer do any caps or crossings, but exhibits a lack of foresight into which edges to create.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44079</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44079"/>
		<updated>2005-09-02T18:25:12Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&amp;lt;small&amp;gt; This page is under construction...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres0.png|frame|center|A diagram of the knot [[4_1]] ]]&lt;br /&gt;
&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top. Clearly the first event to take place is a cup, creating strands 1 and 2, and directed from 1 to 2. The next event is also a cup; this time, the strands 3 and 4 are created, from 3 to 4. So the first two elements of our MorseLink presentation are &amp;lt;code&amp;gt;{Cup[1,2], Cup[3,4], ...}&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres1.png|50px|frame|left|A crossing event]]The next event to take place is a crossing. This crossing has strand 2 going under strand 3; following the orientations, strand 2 moves to the right through the crossing, while strand 3 comes from the left. Since the chosen axis is pointing to the right, this event is described as &amp;lt;code&amp;gt;X[2, Under, Up, Down]&amp;lt;/code&amp;gt;.  We may proceed in a similar way for the rest of the crossings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres2.png|frame|left|Two cap events]]After three more crossings, we encounter two cap events. The first annihilates strands 2 and 3, and is directed from 2 to 3. The second annihilates strands 1 and 2, but is directed from 2 to 1. So our MorseLink presentation for the knot [[4_1]] is given by: &amp;lt;code&amp;gt;MorseLink[Cup[1,2], Cup[3,4], X[2 , Under, Up, Down], X[2, Under, Down, Up], X[1, Over, Down, Up], X[1, Over, Up, Down], Cap[2,3], Cap[2,1]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:MLPres2.png&amp;diff=112755</id>
		<title>File:MLPres2.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:MLPres2.png&amp;diff=112755"/>
		<updated>2005-09-02T18:11:27Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: MorseLink example 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MorseLink example 2&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:MLPres1.png&amp;diff=112754</id>
		<title>File:MLPres1.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:MLPres1.png&amp;diff=112754"/>
		<updated>2005-09-02T17:51:38Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: MorseLink example 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MorseLink example 1&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44078</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44078"/>
		<updated>2005-09-02T16:35:05Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&amp;lt;small&amp;gt; This page is under construction...&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres0.png|frame|center|A diagram of the knot [[4_1]] ]]&lt;br /&gt;
&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:MLPres0.png&amp;diff=112753</id>
		<title>File:MLPres0.png</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:MLPres0.png&amp;diff=112753"/>
		<updated>2005-09-02T14:44:52Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: MorseLink presentation example 0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MorseLink presentation example 0&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44077</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44077"/>
		<updated>2005-09-02T14:36:59Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[Image:MLPres0.gif|Frame|A diagram of the knot [[4_1]] ]]&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:MLPres0.gif&amp;diff=112752</id>
		<title>File:MLPres0.gif</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:MLPres0.gif&amp;diff=112752"/>
		<updated>2005-09-02T14:29:58Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: A picture for MorseLink example.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A picture for MorseLink example.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44055</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44055"/>
		<updated>2005-09-02T01:18:36Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Knot[4,1]]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll fix the chosen axis to be horizontal and to the right, and we&#039;ll number the strands at each interval from bottom to top.&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=File:MorseLink_Presentations_Out_1.gif&amp;diff=112750</id>
		<title>File:MorseLink Presentations Out 1.gif</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=File:MorseLink_Presentations_Out_1.gif&amp;diff=112750"/>
		<updated>2005-09-02T00:22:22Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: Show[DrawMorseLink[Knot[4,1]]]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Show[DrawMorseLink[Knot[4,1]]]&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
	<entry>
		<id>https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44054</id>
		<title>MorseLink Presentations</title>
		<link rel="alternate" type="text/html" href="https://katlas.org/index.php?title=MorseLink_Presentations&amp;diff=44054"/>
		<updated>2005-09-02T00:19:21Z</updated>

		<summary type="html">&lt;p&gt;Siddarth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Manual TOC Sidebar}}&lt;br /&gt;
&lt;br /&gt;
The MorseLink presentation describes an oriented knot or a link diagram as a sequence of &#039;events&#039;. To begin, we fix an axis in the plane, so that each event in the MorseLink description occurs in successive intervals along this axis. The &#039;events&#039; that comprise a knot or link are &#039;cups&#039; (creations), &#039;caps&#039; (annihilations), and crossings, where cups and caps are the minima and maxima (resp.) relative to the chosen axis. The conventions used by MorseLink are as follows:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cup[m,n]&#039;&#039;&#039; is a creation, where the new strands are in position m and n, with m and n differing by 1, and is directed from m to n. &lt;br /&gt;
*&#039;&#039;&#039;Cap[m,n]&#039;&#039;&#039; is an annihilation of the strands m and n, again with m and n differing by 1, and is directed from m to n.&lt;br /&gt;
*&#039;&#039;&#039;X[n, d, a, b]&#039;&#039;&#039; is a crossing of the n-th and the (n+1)-th strands. &#039;d&#039; signifies whether the n-th strand goes &#039;Over&#039; or &#039;Under&#039; the (n+1)-th strand. &#039;a&#039; indicates whether the n-th strand is moving &#039;Up&#039; or &#039;Down&#039; through the crossing, relative to the chosen axis; &#039;b&#039; does the same for the (n+1)-th strand.&lt;br /&gt;
&lt;br /&gt;
For concreteness, let us find a MorseLink presentation of the knot [[4_1]], based on the following diagram:&lt;br /&gt;
&lt;br /&gt;
{{Startup Note}}&lt;br /&gt;
&amp;lt;!--$$Show[DrawMorseLink[Knot[4,1]]]$$--&amp;gt;&lt;br /&gt;
&amp;lt;!--END--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Siddarth</name></author>
	</entry>
</feed>