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.