Go to file
2019-01-11 13:33:06 +01:00
homflypt.input First version of README.md, input file with HOMFLYPT polynomials added 2018-10-10 10:46:27 +02:00
knots_3_10.txt Input files 2018-10-10 10:32:47 +02:00
knots_11_15.txt Input files 2018-10-10 10:32:47 +02:00
LICENSE.md Update 'LICENSE.md' 2018-10-10 03:10:51 +00:00
periodicity.sage verbose version, README updated 2019-01-11 13:33:06 +01:00
README.md verbose version, README updated 2019-01-11 13:33:06 +01:00
verbose_periodicity.sage verbose version, README updated 2019-01-11 13:33:06 +01:00

A Sage script to verify periodicity

This repository contains a SageMath script used for computations in Finite orthogonal groups and periodicity of links.


The following criteria for knots periodicity were implemented:

  • Przytycki's criterion for HOMFLYPT polynomials,
  • Murasugi's criterion,
  • Naik's homological criterion (in two steps - called in the script and the following description as Naik's 1 and Naik's 2),
  • criterion introduced in Theorem 1.4. in above mentioned paper (called Borodzik's criterion).

For a given list of knots encoded in PD-code (an input file is required) the script generates output with results for each criterion.


We tested all knots up to 15 crossings and for the periodicity 3, 5, 7, 9, 11, 13.

Running the script

Prerequisites

  • SageMath 8.1.

  • For Przytycki's criterion the module libhomfly is needed to calculate HOMFLYPT polynomial. There is also possibility to read saved polynomials from a file. The file homflypt.input in the repository contains HOMFLYPTY polynomials for some knots, but to make it work properly knots should be analyse in the same order as their polynomials are saved in the file homflypt.input.

Input data

Files with PD-codes for all knots up to 15 crossing are available in the repository (knots_11_15.txt and knots_3_10.txt) and should be saved in the same folder as the script or a path in the class MySettings should be adjusted. Similarly, if other input files will be used, settings have to be changed. A correction in parsing or reading functions may be also necessary (check_11_to_15(), check_up_to_10(), parse_pd_code(), parse_knot_name()).

Versions

There are two versions of the script in the repository. The version verbose_periodicity was used for calculations and tests. The another version - periodicity.sage - is free of tests fragments and more easy to read.

Running in terminal

The script should be run in terminal: sage periodicity.sage.

Results

All results will be saved in a file results.out. A line, for example 12a100,3,1,1,1,0,1, should be read as follow. A knot 12a100 in tests for a period equal 3 (second position) gives results saved in five numbers: 1,1,1,0,1, which correspond to criteria: Murasugi's, Naik's 1, Naik's 2, Borodzik's, Przytycki's. 0 means that results excluded periodicity. As computations of the first 4 numbers depend on previous results, ones zero occurs, the following criteria will be skipped. The Przytycki's criterion is calculated independently of the others. -1 means that a criterion doesn't exclude periodicity, but it wasn't applicable (like Przytycki's criterion) or that the testing algorithm met an empty list of arguments to be verified (Naik's 2 and Borodzik's criteria). Przytycki's criterion in general is not applicable for non-prime periods, but the corresponding result is set to be -1 also if no HOMFLYPT polynomial could be found (nigher in an input file nor by using libhomfly module).

Credits

License

This project is licensed under the GNU General Public License - see the LICENSE.md file for details.

Contact

For any questions or remarks please contact us by e-mail message to maria.marchwicka@amu.edu.pl. We would be happy to hear from you. Feel free to ask for any help in case you would like to reuse our script.