Use LINUX emulation on MacOSX.
The software "KNOT" is a tool for knot theory to draw diagrams of knots and links(in S^3)
and knotted surfaces(in S^4) and calculate many invariants.
If you have any question or problem,
please do not hesitate to contact me(kodama@math.kobe-u.ac.jp).
Your reporting will be good contributions to improve the computer program.
Thank you,
- Down load: ftp://ftp.math.kobe-u.ac.jp/pub/knot/.
- Executable binary: Knot.bin.(DATE).tar.gz
- Source codes: Knot.src.(DATE).tar.gz
GNU/sather-1.3.2 compiler is also needed.
- OS/Environments:
- Original version is verified on LINUX(e.g. RedHat,Debian,SuSe,Vine,Plamo) with X Window System.
-
Port to Windows, MacOS X and Solaris are available by Toshio SUMI.
Please report to him if you think partings be helpful.
- License: Free and Open under the term of GNU General Public License(GPL).
New
- Meridian generators are displaied on diagram when [Invariant]-[Group] selected.(2007-04)
- Bug fix: A function for Artin normal form fails to make normal form.(2006-02-15)
- Keyboard shortcut(2005-12-01, experimental)
See Doc/knot.Xdefs for key binding.
- -logfile option(2005-11-29)
- -log option (2005-11-28)
- Bug fix: Some times it fails to compute Alexander ideal.(2005-11-28)
- [Effects on Diagram]-[Braid] accepts new option switch.
It changes closed braid or (open) braid.(2005-05-16)
- -cov and -sl2 are splited to sub options. (2004-11-13)
- "pstricks" graphical commands is used for LaTeX picture by default. (2004-11-13)
In old version, "tpic" special commands is used.
Suggestion
Almost results of Invariants options are LaTeX format.
If you want putting it to other programs(e.g. Mathematica),
make appropriate filter of gawk/perl/ruby/python to convert styles.
Example:
script:
cat input_file | gawk '{gsub("{","(");gsub("}",")");print $0}'
input_file:
z^{-2}*(-v^{6}+4*v^{4}-5*v^{2}+2)
+(-v^{6}+8*v^{4}-13*v^{2}+6)
+z^{2}*(v^{6}+4*v^{4}-14*v^{2}+5)
+z^{4}*(-7*v^{2}+1)
+z^{6}*(-v^{2})
Result:
z^(-2)*(-v^(6)+4*v^(4)-5*v^(2)+2)
+(-v^(6)+8*v^(4)-13*v^(2)+6)
+z^(2)*(v^(6)+4*v^(4)-14*v^(2)+5)
+z^(4)*(-7*v^(2)+1)
+z^(6)*(-v^(2))
- knot group G(K) of Wirtinger presentation for knot,link in S^3, knotted surface in S^4
- knot group for theta-3 curve
- Signature
- Goerits matrix and knot value
- Alexander polynomial(1-variable) for knot,link in S^3
- test cyclic period using Alexander polynomial for knots
- Alexander/Elementary ideal(1-variable) for knot,link in S^3, knotted surface in S^4.
- Alexander matrix from free differential
- Alexander matrix (simplified).
- Elementary ideals.
- Novikov(extended Alexander) polynomial:
For i-th ideal, Novikov (extended Alexander) polynomial A(i) is the generator of the ideal
as a positive infinite power series.
Note that A(i)/A(i+1) called Novikov index.
- Alexander polynomial(multi variable) for link in S^3.
- Alexander/Elementary ideal(multi variable) for knot,link in S^3, knotted surface in S^4.
- Alexander matrix from free differential
- Alexander matrix (simplified).
- Elementary ideals.
- 3-variable Alexander polynomial for theta-3 curve.
- Conway polynomial.
- Jones V polynomial.
- Jones V polynomial(parallel version).
- HOMFLY P polynomial.
- Change forms "P(v,z)", "P(l,m)","P(x,y,z)"
- HOMFLY P polynomial(z-lowest part).
- Change forms "P(v,z)", "P(l,m)","P(x,y,z)"
- Kauffman F polynomial.
- Q polynomial.
- representation G(K) to S(n) (permutation of n-set)
for knot,link in S^3, knotted surface in S^4.
- search all n-fold coverings(with equivalent coverings excluded)
- meridian/longitude system
- branch and peripheral data
- covering linkage
- Homology group H1 for branch/un-branch covering
- Homotopy(Fundamental) group pi_1 for branch/un-branch covering
- twisted Alexander polynomial.(1-variable)
- twisted Elementary ideals.(1-variable)
- twisted Novikov(extended Alexander) polynomial.
- covering distribution (statistics) invariants
- statistics of Yang (orbit) diagram.
- statistics of Branch index.
- statistics of Covering linkage.
- statistics of H1(branched cover).
- statistics of H1(unbranched cover).
- representation G(K) to sl2(p)
for knot,link in S^3, knotted surface in S^4.
(p:prime integer)
- search all representations (with equivalent representations excluded)
- twisted Alexander polynomial.(1-variable)
- twisted Elementary ideals.(1-variable)
- "New knot": clear screen and input new diagram
- "Add Compo": Add components/string
- "Crossing": crossing change
- "Move vertex": Move vertex of strings
- "Cut": Cut off segment in diagram
- "Del string": remove string
- "Add Band":
- saddle band for knotted surface in S^4.
In this version, it cannot distinguish upper or lower saddle,
So, we can not draw exact geometric condition but compute knot group and related invariants.
- band for surgery
- 3rd element for theta 3 curve
- "Band surgery": surgery along band
- "Invert string": invert string/component
- "Shift Diagram": move diagram in the screen
- "Jump(over)", "Jump(under)": over/under jump move
- "Braid": show/input braid word
- "n-Data": show/input n-Data word
- "Torus link": input parameter of torus link T(p,q)
- "2-Bridge": input parameter of 2-bridge link Schubert's notation S(p,q)
- "2-Bridge": input parameter of 2-bridge link Conway's notation C(a1,a2,...,an)
- "Pretzel": input parameter of pretzel link P(a1,a2,...,an)
- "Alternate": make crossings alternating
- "coherent band": make components coherent along bands
- "magnify x2": magnify the diagram 2 times
- "magnify x1.4":magnify the diagram 1.4 times
- "magnify x0.7":magnify the diagram 0.7 times
- "magnify x0.5":magnify the diagram 0.5 times
- "mirror-X": mirror along YZ plane, so invert X-axis
- "mirror-Y": mirror along XZ plane, so invert Y-axis
- "mirror-Z": mirror along XY plane, so invert Z-axis. (crossing change)
- "rotateR": rotate by 90 degree
- "-rotateR": rotate by -90 degree
- "Back": backward edit history
- "Forward": forward edit history
- "force put history": put current diagram into history
- "Load knot": load a knot-data
- "Save Knot": save current diagram as a knot-data
- "Save Braid": save as a braid word
- "Save n-data": save as a n-Data
- "Save Knot ver.1": save as knot-data(ver.1). (old format)
- "log file: ": on/off logging results
- "log LaTeX picture": logging diagram as LaTeX picture
- "log Knot": logging diagram as knot-data
- "log Braid": logging diagram as braid word
- "log n-Data": logging diagram as n-Data
- "Smooth Draw: ": switch for display diagram as smooth/rigid picture
- "Lattice move: ": switch for input diagram on lattice points or not
- "Show restrictions": show restriction of current version
- "Show knot data": show knot-data of current diagram
- "Check knot data": check knot-data of current diagram
- "Show tcode": show inner representation of crossing data
- "Show tcode theta": show inner representation of crossing data for theta curve
- "Show braid": show braid word of current diagram
- "Show ndata": show n-Data of current diagram
- "experimental feature": experimental feature for development
Many of GUI menu operations are usable from keyboard shortcut.
Key bindings are defined as 2-stroke key actions in Doc/knot.Xdefs.
These definitions are experimental.
And it may be changed.
Check your definition file Doc/knot.Xdefs.
Empty action:
When you confused key stroke, hit space to break off.
" ": empty_proc
Effects:
"e2": Bridge2
"ea": Alternate
"eb": Braid
"ec": Coherent
"el": Mag2
"em": Mag14
"en": nData
"eo": Rot
"ep": Pretzel
"er": Mag14R
"es": Mag2R
"et": Torus
"ex": MirrorX
"ey": MirrorY
"ez": MirrorZ
File in/out:
"fb": SaveBraid
"fl": LoadKnot
"fn": SaveNData
"fs": SaveKnot
History:
"hb": BackHist
"hf": FwdHist
"hs": SaveHist
Invariant:
See section of "p*" for polynomial invariants.
"ia": AlexIdeal
"ib": AlexIdealM
"ic": Covering
"ig": GoeritzMat
"ik": KnotGroup
"il": sl2p
"ip": CyclicPeriod
"is": Signature
Logging:
"lb": LogBraid
"lk": LogKnot
"ln": LogNData
"lp": LaTeXPicture
"ls": LogSw
Edit Mode:
"ma": AddCompo
"mb": AddBand
"mc": Crossing
"md": DelString
"mf": ShiftDiagram
"mi": InvertStr
"mm": MoveVert
"mn": NewKnot
"mo": JumpOver
"ms": BandSurgery
"mt": Cut
"mu": JumpUnder
Other:
"ol": LatticeMove
"os": SmoothDraw
Polynomial:
"pa": AlexPoly
"pb": ApexPolyM
"pc": ConwayPoly
"pf": Fpoly
"pp": Ppoly
"pq": Qpoly
"pv": Vpoly
"pw": VpolyPara
Theta curve:
"ta": ThetaAlexPoly
"tg": ThetaGroup
Quit:
"zz": QuitProc
We can give start up options as GUI tool.
- -gui : to force GUI, put this at the top of options as "knot -gui -log"
- -log : enable logging at boot time.
- -logfile (file) : set file name to log out.
knotLog.(date) by default.
- Use helper script "knot.sh" if you need.
- For automated computation about a list file of knots, use additional script "knot_dir.sh".
- -help: print out help message and exit
e.g. knot -help
- as a stream filter: -s (options)
read knot-data from standard in-stream and output to standard out-stream
e.g. knot -s -ai -p < knot_data
Options are executed in sequence from left to right.
The option -s must be the first one.
- or explicitly read a file: -if (input_file) (options)
read knot-data from "input_file" and output to standard out stream
e.g. knot -if k3 -ai -p
Options are executed in sequence from left to right.
The option -if must be the first one.
- options for invariants:
- -a: Alexander polynomial
- -ai: Alexander/Elementary ideal
- -am: multi variable Alexander polynomial
- -ami: multi variable Alexander/Elementary ideal
- -c: Conway polynomial
- -v [n]: Jones polynomial(n-parallelized)
- -p [type]: P(HOMFLY) polynomial. type=vz,lm,xyz. (vz by default)
- -p_low [type]: The lowest term of P as a z variable polynomial. type=vz,lm,xyz. (vz by default)
- -f: F polynomial
- -q: Q polynomial
- -cyc: test cyclic period using Alexander polynomial
- -cov [n] [sub options]: n-fold covering(n=2 by default)
Sub options:
- br : branch indices.
- lk : covering linkage.
- h1b : H_1 as branched covering space.
- h1u : H_1 as unbranched covering space.
- gp : Group relations.
- ai : Twisted Alexander invariants.
- distr: Distributions.
- -sl2 [n] [sub option]: representation to SL2(p) (p:prime,2 by default)
Sub option:
- ai : Twisted Alexander invariants.
- -grp: knot group
- -kv: Goeritz matrix and knot value
- -sign: Signature
- options for conversions:
- -alt : alternate
- -mirror [axis] : mirror. axis=x,y,z. (x by default)
- -rot: rotate by 90
- -rotn: rotate by -90
- -mag [m] : m-magnify(m=2.0 by default)
- options for output data
- -knot: knot data
- -braid [sub option]: braid word
Sub options:
- a : Artin normal form
- ra : reduced Artin normal form
- -ndata: n-data
- -picture [width [height]] [sub options]: LaTeX picture. Measure by millimeter
Sub options:
- s : smooth curve
- r : rigid line (default)
- tpic : LaTeX tpic
- ps : LaTeX pstricks (using psbezier when "s" is enabled) (default)
Home page of K.Kodama.