Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jcmgray/polyknot
C code to heuristically analyse 'knots' in open chains such as polymers.
https://github.com/jcmgray/polyknot
Last synced: 15 days ago
JSON representation
C code to heuristically analyse 'knots' in open chains such as polymers.
- Host: GitHub
- URL: https://github.com/jcmgray/polyknot
- Owner: jcmgray
- License: apache-2.0
- Created: 2014-10-01T12:23:29.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-10-15T16:40:28.000Z (about 10 years ago)
- Last Synced: 2024-10-31T08:52:19.022Z (2 months ago)
- Language: C
- Size: 160 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
PolyKnot
========A C-library to heuristically identify and analyse 'knots' in open chains such as
polymers. On receipt of the positions of a beads along the chain or string the
function finds: crossing number, knot size and knot position.Usage
-----* Create knot struct.
* Vector inputted needs to describe the positions of the 'joints' or 'beads' in the
chain with length 3N like so: **r** = ( x1, y1, z1, x2, y2, z2 ... xN, yN, zN )
* Run analysis on knot object and chosen vector.
* Clear knot struct.Theory
------PolyKnot 'unties' an arbitrary length chain via Reidemeister moves rather than
attempting to classify the knot through symbolic representation of the
crossings and subsequent simplification and recognition of a polynomial. The
benefit of this, aside from being more a efficient routine in terms of memory and
CPU expense, is the possibility of identifying a knot's 'position' and 'size'
along a open chain without forcing the ends together.To Do
-----* More efficient exploration of Reidemeister 3 moves.
* Find best combination of projections.
* Memory optimise.
* categorise knots with cross count (via recognition)
* Two knots?