Programs and packages

These are programs and Mathematica packages that accompany various papers authored or co-authored by Lenny Ng. The papers themselves can be found here.


Braid loops with infinite monodromy on the Legendrian contact DGA

Joint with Roger Casals.
arXiv:2101.02318.

Here is the Mathematica notebook associated with the paper.
  • fillings.nb, a notebook containing computations of filling augmentations and monodromy for Legendrian (-1)-closures of positive braids, as described in the paper.

Topological strings, D-model, and knot contact homology

Joint with Mina Aganagic, Tobias Ekholm, and Cumrun Vafa.
Adv. Theor. Math. Phys. 18 (2014), no. 4, 827-956.

Here are the Mathematica notebooks associated with the paper.

An atlas of Legendrian knots

Joint with Wutichai Chongchitmate.
Exp. Math. 22 (2013), no. 1, 26--37.

See here.


Combinatorial knot contact homology and transverse knots

Adv. Math. 227 (2011), no. 6, 2189--2219.

The Mathematica packages used to compute transverse homology as described in the paper are available for download:
  • transverse.m, which calculates the full invariants in the noncommutative setting. In order to run this package, the user first needs to install the noncommutative algebra package NCAlgebra.
  • transverse-comm.m, which calculates the abelianized versions of the invariants. This does not require NCAlgebra to run.
  • transverse-examples.nb, an executable notebook containing the computations cited in Section 5.2 of the paper, except for the m(10145) and 12n591 knots.
    Before executing this notebook (and the next one), first download transverse.m. One can use transverse-comm.m instead, since the augmentation-number calculations use only the abelianized versions of the invariants, but for some reason the calculations run much faster with transverse.m than with transverse-comm.m.
  • trans10145-12n591.nb, a notebook containing the computations of augmentation numbers for the m(10145) and 12n591 knots.
Also available:
  • AugmentationPolynomials.nb, a notebook containing three-variable augmentation polynomials for various small topological knots, including: all knots with 7 or fewer crossings; the (2,3), (2,5), (2,7), (2,9), (3,4), and (3,5) torus knots; the knots 85, 815, 820, 821, 942, 10132, and 10139; and connected sums of trefoils. These polynomials were obtained via Mathematica (with the help of the above packages) and Macaulay2 and are presented without proof; documentation can be provided upon request. Revised July-August 2013 (added 74, 76, 77, 85, 815, and 942, and corrected 821).

Transverse knots distinguished by knot Floer homology

Joint with Peter Ozsváth and Dylan Thurston.
J. Symplectic Geom. 6 (2008), no. 4, 461--490.

Here is a mirror of the C program cited in the paper: TransverseHFK.c. To compile and run it, type cc TransverseHFK.c followed by a.out at the command prompt. To try the program on a different grid diagram, first edit the file appropriately.


Framed knot contact homology

Duke Math. J. 141 (2008), no. 2, 365--406.

Here are the Mathematica packages which compute the invariants in the paper. They are essentially souped-up versions of the packages from “Knot and braid invariants from contact homology I” below, with a few things removed. Currently they require a braid input; if there's interest, I can post updated versions which allow calculation in terms of a knot diagram.
  • framedDGA.m, which gives the full invariants in the noncommutative category. In order to run this package, the user first needs to install the noncommutative algebra package NCAlgebra/NCGB, available from http://www.math.ucsd.edu/~ncalg/.
  • framedDGAcomm.m, which gives the commutative version of the invariants and does not require any additional packages.

Knot and braid invariants from contact homology I

Geom. Topol. 9 (2005), 247--297.

Here are the Mathematica notebooks and packages, in various flavors, which compute the invariants used in the paper.
  • DGA.nb, with the full versions of the invariants (except linearized homology; see below). In order to run this notebook, the user first needs to install the noncommutative algebra package NCAlgebra/NCGB, available from http://www.math.ucsd.edu/~ncalg/. Instructions on how to use the code are included in the notebook.
  • DGAabelian.m, which calculates the invariants in the commutative setting, and does not require NCAlgebra/NCGB. For instructions, input the package and type “?Instructions”.
  • DGAlin.m, which calculates linearized knot contact homology. For instructions, input the package and type “?Instructions”. This package requires the use of another package, IntegerSmithNormalForm.m, which can be downloaded from the Mathematica Information Center here.

Back to Papers and preprints or Home