main.cpp file
processes arguments and runs main computation
Functions
- auto main(int argc, char** argv) -> int
- main function processing arguments
Function documentation
int main(int argc, char** argv)
main function processing arguments
Running ./khtpp --help displays the following help file
usage: kht++ [options] [<filename1> <filename2> ... <filenameN>]
options:
-a, --allcoeff Computes the invariants over all available
coefficients.
-c<i>, --coeff <i> Computes invariants with coefficients in a
field k specified by the integer <i>:
i = 2 k = Z/2 (default)
3 Z/3
5 Z/5
7 Z/7
11 Z/11
0 Q (experimental)
The program can also compute the invariants
over k = Z/<p> for any prime <p>. For this,
recompile the program after setting
custom_coeff = <p>
in the source file '/headers/constants.h' and
run then program with option -c<p>.
-d, --double Doubles all tangle strands before computing
the invariants of the tangles.
--khr only compute Khr curves, not BNr
-h, --help Displays this help message.
-o, --optimize Attempts to minimize the number of generators
in the invariants by adding twists to the
tangle ends.
-P <s>,<o>, --prepend <s>,<o>
Prepends a tangle string <s> with orientation
information <o> for the top tangle ends, after
processing all other options. For example,
setting <s> = r1 and <o> = 1,1 adds a cup
at the top of a tangle which will then have
two upwards oriented tangle ends at the top.
This option can only be called once.
-p <s>, --append <s> Appends a tangle string <s>, after processing
all other options. For example, <s> = x0.x0
adds two extra twists at the bottom of the
tangle. This option can be called any number
of times.
-q, --quotient Computes the invariants of the quotient tangle
of a strongly invertible knot specified by a
symmetric diagram. The tangle string in the
corresponding .kht-file should have the prefix
's.'.
-q <name>:<p>/<q>, --quotient <name>:<p>/<q>
Computes all symmetric diagrams of the 2-bridge
knot corresponding to the fraction <p>/<q> and
saves them in one or more files
<name>.kht or <name>-{1,2}.kht
in the directory
examples/strong_inversions/2-bridge-knots
-r <name>:<p>/<q>, --rational <name>:<p>/<q>
Computes the alternating (=minimal crossing)
diagram of the 2-bridge knot corresponding to
the fraction p/q and saves it in the file
examples/knots/2-bridge-knots/<name>.kht
-s, --simplify Attempts to simplify the diagram before
computing any invariants.
--sum <s1>:<s2> Computes the complex of the tangle sum of two
Conway tangles (ie the tangle obtained by
stacking the first tangle on top of the other)
from previously computed curves.
<s1> and <s2> specify the full relative paths
of the text file containing the curves for the
first and second tangle, respectively. Such
files are stored by the program in separate
folders next to the standard .kht-files.
However, any text file can be used, as long as
its format agrees with the output format for
curves; see 'Output' in the documentation.
--sumnc <s1>:<s2> Same as '--sum <s1>:<s2>', except that only
the non-compact curves are taken as input.
This option is useful if one is only interested
in the non-compact curve of a tangle sum, since
it runs much faster than '--sum <s1>:<s2>' if
the input curves contain many compact curves.
-t, --test Runs some tests.
-v, --version Returns the version of the program and exits.
-w, --web Prints the tangle input, (re)compiles and opens
the html pages for the specified file(s) using
all previously computed data.
examples:
1) kht++ (without arguments)
Allows the user to define a tangle and compute its invariants. The
tangle is stored in a .kht-file for later use.
2) kht++ -w <filename>
Recompiles .html-file and opens it in browser.
3) kht++ -c3 -c5 <filename1> <filename2> <filename3>
Computes the tangle invariants for the tangles stored in files
<filename1>, <filename2>, and <filename3> with coefficients in the
fields of three and five elements.
Please report bugs to: cbz20@posteo.net