06-1350/Syzygies in Asymptote in Brief: Difference between revisions
From Drorbn
Jump to navigationJump to search
No edit summary |
(Formatting.) |
||
| Line 5: | Line 5: | ||
===Braids=== |
===Braids=== |
||
{|align=center cellpadding="20" |
|||
| ⚫ | |||
|- |
|||
<pre> |
|<pre> |
||
import syzygy; // Accesses the syzygy module. |
import syzygy; // Accesses the syzygy module. |
||
Braid b; // Start a new braid. |
Braid b; // Start a new braid. |
||
| Line 18: | Line 19: | ||
b.draw(); // Draw the resulting braid. |
b.draw(); // Draw the resulting braid. |
||
</pre> |
</pre> |
||
| ⚫ | |||
|} |
|||
===Relations=== |
===Relations=== |
||
{|align=center cellpadding="20" |
|||
| ⚫ | |||
|- |
|||
<pre> |
|<pre> |
||
import syzygy; // Access the syzygy module. |
import syzygy; // Access the syzygy module. |
||
Braid l; // Define the left hand side of the relation. |
Braid l; // Define the left hand side of the relation. |
||
| Line 29: | Line 33: | ||
Relation r3; // Define a relation. |
Relation r3; // Define a relation. |
||
r3.lsym="\rho_3"; // Give the relation a name |
r3.lsym="\rho_3"; // Give the relation a formula name. |
||
r3.codename="rho3"; // Give the relation a name to be used by Mathematica. |
r3.codename="rho3"; // Give the relation a name to be used by Mathematica. |
||
r3.lhs=l; r3.rhs=r; |
r3.lhs=l; r3.rhs=r; |
||
r3.draw(); |
r3.draw(); |
||
</pre> |
</pre> |
||
| ⚫ | |||
|} |
|||
<code>r3.toFormula()</code> produces the formula: |
<code>r3.toFormula()</code> produces the formula: |
||
| Line 59: | Line 63: | ||
===Syzygies=== |
===Syzygies=== |
||
{|align=center cellpadding="20" |
|||
| ⚫ | |||
|- |
|||
<pre> |
|<pre> |
||
import syzygy; |
import syzygy; |
||
| Line 89: | Line 94: | ||
pb.draw(); |
pb.draw(); |
||
</pre> |
</pre> |
||
| ⚫ | |||
|} |
|||
Again, like relations, we can use <code>pb.toLinear()</code> |
Again, like relations, we can use <code>pb.toLinear()</code> |
||
Revision as of 19:23, 4 December 2006
Installation
See 06-1350/Syzygies in Asymptote for more detailed information.
First install Asymptote. Once installed, download syzygy.asy.
Braids
Relations
r3.toFormula() produces the formula:
[math]\displaystyle{ (1230)^\star B^+ (1213)^\star B^+ (1023)^\star B^+ = (1123)^\star B^+ (1203)^\star B^+ (1231)^\star B^+ }[/math]
r3.toLinear() produces the formula in linear form:
[math]\displaystyle{ \rho_3(x_1,x_2,x_3,x_4) = b^+(x_1,x_2,x_3) + b^+(x_1+x_3,x_2,x_4) + b^+(x_1,x_3,x_4) - b^+(x_1+x_2,x_3,x_4) - b^+(x_1,x_2,x_4) - b^+(x_1+x_4,x_2,x_3) }[/math]
and r3.toCode() produces a version usable in Mathematica:
rho3[x1_, x2_, x3_, x4_] :> bp[x1, x2, x3] + bp[x1 + x3, x2, x4] + bp[x1, x3, x4]
- bp[x1 + x2, x3, x4] - bp[x1, x2, x4] - bp[x1 + x4, x2, x3]
Syzygies
Again, like relations, we can use pb.toLinear()
| [math]\displaystyle{ \Phi B(x_1,x_2,x_3,x_4,x_5) = }[/math] | [math]\displaystyle{ \rho_3(x_1,x_2,x_3,x_5) + \rho_{4a}(x_1+x_5,x_2,x_3,x_4) + \rho_{4b}(x_1+x_2,x_3,x_4,x_5) }[/math] |
| [math]\displaystyle{ - \rho_3(x_1,x_2,x_3+x_4,x_5) - \rho_{4a}(x_1,x_2,x_3,x_4) }[/math] | |
| [math]\displaystyle{ - \rho_{4b}(x_1,x_3,x_4,x_5) + \rho_3(x_1+x_3,x_2,x_4,x_5). }[/math] |
and pb.toCode()
PhiAroundB[x1_, x2_, x3_, x4_, x5_] :> rho3[x1, x2, x3, x5] + rho4a[x1 + x5, x2, x3, x4] + rho4b[x1 + x2, x3, x4, x5] - rho3[x1, x2, x3 + x4, x5] - rho4a[x1, x2, x3, x4] - rho4b[x1, x3, x4, x5] + rho3[x1 + x3, x2, x4, x5]
to produce formulas.

