Use Case
classDiagram
generator_rational --|> generator
gen_rational_config_t --|> gen_config_t
gen_rational_config_t *-- notation_tv
generator_rational *-- gen_rational_config_t
class generator {
<<interface>>
}
class generator_rational {
<<>>
}
class gen_rational_config_t {
<<struct>>
+ notation_tv
}
class gen_config_t {
<<interface>>
}
class notation_tv{
<<>>
}
Language
C
Implements
Uses
Libraries
N/A
Functionality
A rational tangle is given by alternating NE,SE and SE,SW twisting of the \(0\) tangle\({}^{[2]}\)\({}^{[1]}\). A canonical combinatorial description of a rational tangle can be given by the Twist Vector.
This module generates twist vectors and in doing so rational tangles. A normal flows go as:
Configuration
stateDiagram-v2
state "Init local configuration" as Sc
[*] --> Sc
Sc --> [*]
Generate
stateDiagram-v2
state "Get Combination of CN" as gen
state join_state <<fork>>
state is_even <<choice>>
state no_combinations <<choice>>
state "Print" as print {
state "Set TV values" as stv
state "Set CN value" as scv
[*] --> stv
stv --> scv
scv --> [*]
}
state "Oddify Even combination" as even {
state "shift array left" as shiftL
state "shift array right" as shiftR
state "prepend 0" as pp0
[*] --> shiftR
shiftR --> pp0
pp0 --> print
print --> shiftL
shiftL --> join_state
}
[*] --> gen
gen --> no_combinations
no_combinations --> is_even: if is not final combination
no_combinations --> [*] : if is final combination
is_even --> even: if tv.length % 2 == 0
is_even --> print : if tv.length % 2 == 1
print --> join_state
join_state --> gen
Cite
- Conway, J.H. “An Enumeration of Knots and Links, and Some of Their Algebraic Properties.” In Computational Problems in Abstract Algebra, 329–58. Elsevier, 1970. https://doi.org/10.1016/B978-0-08-012975-4.50034-5.
- Kauffman, Louis H., and Sofia Lambropoulou. “On the Classification of Rational Knots,” 2002. https://doi.org/10.48550/ARXIV.MATH/0212011.