Ying-Qing Wu

"min" works on unix. It does not have graphic output. It can read a knot file, compute its energy, and run the minimizing process for any number of steps. It can add vertices, or double the number of vertices. The output contains the new knot, the MD energy, vertex-energy and edge energy for the knot, and for the standard unknot of the same number of edges. The code file is min.c++ . It can be compiled by any C++ compiler, for example

 g++ min.c++ -lm -o min 

To run the program, type "min" or "min knot1 knot2", where knot1 is the input file, and knot2 the output file. See the section "Knot File" below for informations about how to specify a knot. The program will ask you to send a command. Type "h" to see a list of commands. Here are some of them that need explanation.

If number of edges exceed 1010, change "size 1010" in the #define part of the program file to the desired number.

The program runs in two different methods:

Definition. A "badrun" is a step which increases the energy. "badrunlimit" is a number set to 0.01. "runnum" is the total number of steps.

When the number of badruns exceed badrunlimit*runnum, the program change from method 1 to method 2. After that, each time badruns exceed that number the speed in method 2 is bring down by a factor of 0.9.

Thus, for example, if the energy of the knot is already close to minimum, we may set tpoint to 0 to use method 2 only, to get slow but accurate approach. On the other hand, if we only want some rough approach, we may set tpoint to 1.

Knot Files

You may look at the sample file knot.5-1 , which is the file of an 18 edges knot named 5_1 on the knot table. There are some freedom about the format of the file, but it must following the following rules: Here is another example file knot.5-1.1000 , which is actually the output file of "min" after running for 1000 steps. Output files can be used as input files.

Back to the Ying-Qing Wu's home page .