DSPython  00.03.03 — 25 juin 2012
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Classes | Fonctions | Variables
Référence de l'espace de nommage DSPython.knots

Théorie des nœuds. Plus de détails...

Classes

class  Corners
 Tableau (list de list) "des coins" d'un space. Plus de détails...

Fonctions

def addtoright
 Modifie l'espace s en lui ajoutant l'espace a à droite.
def closed_is
 Tous les cycles de l'espace s sont fermés ?
def knots_is
 s est de type knots ?
def labels_list
 Renvoie la liste ordonnée des combinaisons possibles de labels A et B pour nb croisements.
def labelstates_is
 s est de type labelstates ?
def links_is
 s est de type links ?
def make_egalwidth
 Modifie l'espace s pour que toutes les lignes aient même longueur en ajoutant des add à droite.
def mirror
 Renvoie l'image miroir de l'espace s.
def nb_A
 Renvoie le nombre d'états A (croisements up ou down) de l'espace d'états labellisés s.
def nb_B
 Renvoie le nombre d'états B (croisements up ou down) de l'espace d'états labellisés s.
def nb_cross
 Renvoie le nombre de croisements (up, down ou non "orientés") et d'états de croisements labellisés de l'espace s.
def nb_cycle
 Renvoie (nombre de cycles, nombre de cycles ouverts) de l'espace s.
def nb_items
 Renvoie le nombre d'éléments de l'espace s qui sont dans items.
def poly_Kauffman
 Renvoie le polynôme invariant de Kauffman pour l'espace de nœuds s.
def poly_Kauffman_A
 Renvoie le polynôme A de Kauffman pour l'espace de nœuds s.
def poly_Kauffman_ABd
 Renvoie le polynôme ABd de Kauffman pour l'espace de nœuds s.
def primeknots_even_1
 Renvoie le nœud premier n1
def read
 Renvoie l'espace lu dans le fichier f.
def rotate
 Renvoie l'espace s avec une rotation de nb*90° dans le sens anti-horloger.
def space_is
 s est de type space ?
def states_is
 s est de type states ?
def to_labelstates
 Renvoie l'état labellisé de l'espace s de nœuds ou d'états labellisés.
def to_LaTeX
 Renvoie un string contenant le code LATEX (pour le module Knots.sty) de la représentation de l'espace s.
def to_PS
 Renvoie un string contenant le code PostScript de la représentation de l'espace s.
def to_states
 Renvoie l'état non labellisé de l'espace s de nœuds ou d'états (labellisés ou non)
def to_str
 Renvoie l'espace s dans un string avec retour à la ligne.
def to_universes
 Renvoie l'univers des nœuds de l'espace s.
def universes_is
 s est de type universes ?
def write
 Écrit l'espace s dans le fichier f.
def writhe
 Renvoie le degré de torsion du space s.
def writhe_cross
 Renvoie le degré de torsion du croisement "orienté" placé en (x, y) du space s.

Variables

string VERSION = 'knots --- 2010 April 12'
 Date du dernier changement pour ce module.
string EMPTY = ' '
 Caractère pour un espacement vide.
string LEFT = ')'
 Caractère pour un brin à gauche.
string RIGHT = '('
 Caractère pour un brin à droite.
string TOP = '^'
 Caractère pour un brin en haut.
string BOTTOM = '_'
 Caractère pour un brin en bas.
string UP = '/'
 Caractère pour un brin diagonal montant.
string DOWN = '\\'
 Caractère pour un brin diagonal descendant.
string VERT = '"'
 Caractère pour deux brins verticaux (notamment l'état non labellisé d'un croisement CROSSUP A ou CROSSDOWN B)
string HORI = '='
 Caractère pour deux brins horizontaux (notamment l'état non labellisé d'un croisement CROSSUP B ou CROSSDOWN A.
string CROSSUP = '%'
 Caractère pour un croisement dont le brin diagonal montant passe au-dessus.
string CROSSDOWN = '&'
 Caractère pour un croisement dont le brin diagonal descendant passe au-dessus.
string CROSSUPA = 'A'
 Caractère pour l'état labellisé A d'un croisement CROSSUP.
string CROSSUPB = 'B'
 Caractère pour l'état labellisé B d'un croisement CROSSUP.
string CROSSDOWNA = 'a'
 Caractère pour l'état labellisé A d'un croisement CROSSDOWN.
string CROSSDOWNB = 'b'
 Caractère pour l'état labellisé B d'un croisement CROSSDOWN.
string CROSS = 'x'
 Caractère pour un croisement non "orienté" (croisement dans l'univers du nœud)
 KNOTCHARS = EMPTY+LEFT+RIGHT+TOP+BOTTOM+UP+DOWN+VERT+HORI+CROSSUP+CROSSDOWN
 Caractères permis pour constituer un nœud.
 LABELSTATECHARS = EMPTY+LEFT+RIGHT+TOP+BOTTOM+UP+DOWN+VERT+HORI\
 Caractères permis pour constituer un état labellisé
 STATECHARS = EMPTY+LEFT+RIGHT+TOP+BOTTOM+UP+DOWN+VERT+HORI
 Caractères permis pour constituer un état non labellisé
 UNIVERSECHARS = EMPTY+LEFT+RIGHT+TOP+BOTTOM+UP+DOWN+VERT+HORI+CROSS
 Caractères permis pour constituer l'univers d'un nœud.
 SPACECHARS = KNOTCHARS+CROSSUPA+CROSSUPB+CROSSDOWNA+CROSSDOWNB+CROSS
 Caractères permis (.eps) pour constituer un espace [piecesknots_th.png]
dictionary CORNERS = {}
 Dictionnaire qui pour chaque type d'élément contient la description des bouts de nœud dans le coin considéré : None si le coin est vide, sinon un couple (x, y) avec x et y == -1, 0 ou 1 indiquant la direction du bout de nœud.
dictionary PRIMEKNOTS = {}
 Dictionnaire de dictionnaires contenant les premiers nœuds premiers 01, 31, 41, 51, 52, 61, 62, 63, 71
list BORROMEAN
  Nœud borroméen (un lien de 3 nœuds entremêlés)

Description détaillée

Théorie des nœuds.

Cf. http://www.opimedia.be/Bruno_Marchal/index.htm#Liens


Documentation des fonctions

def DSPython.knots.addtoright (   s,
  a 
)

Modifie l'espace s en lui ajoutant l'espace a à droite.

Modifie l'espace s en lui ajoutant l'espace a à droite

Pre: s: space
     a: space

Result: None

O(s) = ...

Définition à la ligne 217 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.closed_is (   s)

Tous les cycles de l'espace s sont fermés ?

Renvoie True si tous les cycles de l'espace s sont fermés,
False sinon

Pre: s: space

Result: boolean

O(s) = ...

Définition à la ligne 240 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.knots_is (   s)

s est de type knots ?

Renvoie True si l'espace s est de type knots
(un espace vide ou contenant des noeuds),
False sinon

Pre: s: space

Result: boolean

O(s) = ...

Définition à la ligne 277 du fichier knots.py.

Références DSPython.knots.links_is(), et DSPython.knots.space_is().

Référencé par DSPython.knots.poly_Kauffman(), DSPython.knots.poly_Kauffman_A(), DSPython.knots.poly_Kauffman_ABd(), DSPython.knots.writhe(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.labels_list (   nb)

Renvoie la liste ordonnée des combinaisons possibles de labels A et B pour nb croisements.

Renvoie la liste ordonnée des combinaisons possibles de labels A et B
pour nb croisements
(Si nb == 0 alors renvoie ['']
 Si nb == 1 alors renvoie ['A', 'B']
 Si nb == 2 alors renvoie ['AA', 'AB', 'BA', 'BB']
 Si nb == 2 alors renvoie ['AAA', 'AAB', 'ABA', 'ABB',
                           'BAA', 'BAB', 'BBA', 'BBB']
 ...)

Pre: nb: naturel

Result: liste de 2**n string de 'A' et 'B' de longueur n

O(nb) = ...

Définition à la ligne 293 du fichier knots.py.

Références DSPython.natural_is().

Référencé par DSPython.knots.poly_Kauffman_A(), DSPython.knots.poly_Kauffman_ABd(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.labelstates_is (   s)

s est de type labelstates ?

Renvoie True si l'espace s est de type labelstates
(un espace vide ou contenant des états labellisés de noeuds),
False sinon

Pre: s: space

Result: boolean

O(s) = ...

Définition à la ligne 321 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.nb_A(), DSPython.knots.nb_B(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.links_is (   s)

s est de type links ?

Renvoie True si l'espace s est de type links
(un espace vide ou contenant des liens),
False sinon

Pre: s: space

Result: boolean

O(s) = ...

Définition à la ligne 345 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.knots_is().

def DSPython.knots.make_egalwidth (   s,
  add = EMPTY 
)

Modifie l'espace s pour que toutes les lignes aient même longueur en ajoutant des add à droite.

Modifie l'espace s pour que toutes les lignes aient même longueur
en ajoutant des add à droite
!!! Le résultat n'est pas forcément un space

Pre: s: space
     add: caractère de SPACECHARS

Result: None

O(s) = ...

Définition à la ligne 370 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.mirror (   s)

Renvoie l'image miroir de l'espace s.

Renvoie l'image miroir de l'espace s

Pre: s: space

Result: space

O(s) = ...

Définition à la ligne 392 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.nb_A (   s)

Renvoie le nombre d'états A (croisements up ou down) de l'espace d'états labellisés s.

Renvoie le nombre d'états A (croisements up ou down)
de l'espace d'états labellisés s

Pre: s: labelstates

Result: naturel

O(s) = ...

Définition à la ligne 433 du fichier knots.py.

Références DSPython.knots.labelstates_is(), et DSPython.knots.nb_items().

Référencé par DSPython.knots.poly_Kauffman_A(), DSPython.knots.poly_Kauffman_ABd(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.nb_B (   s)

Renvoie le nombre d'états B (croisements up ou down) de l'espace d'états labellisés s.

Renvoie le nombre d'états B (croisements up ou down)
de l'espace d'états labellisés s

Pre: s: labelstates

Result: naturel

O(s) = ...

Définition à la ligne 448 du fichier knots.py.

Références DSPython.knots.labelstates_is(), et DSPython.knots.nb_items().

Référencé par DSPython.knots.poly_Kauffman_A(), DSPython.knots.poly_Kauffman_ABd(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.nb_cross (   s)

Renvoie le nombre de croisements (up, down ou non "orientés") et d'états de croisements labellisés de l'espace s.

Renvoie le nombre de croisements (up, down ou non "orientés")
et d'états de croisements labellisés de l'espace s

Pre: s: space

Result: naturel

O(s) = ...

Définition à la ligne 464 du fichier knots.py.

Références DSPython.knots.nb_items(), et DSPython.knots.space_is().

Référencé par DSPython.knots.poly_Kauffman_A(), DSPython.knots.poly_Kauffman_ABd(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.nb_cycle (   s)

Renvoie (nombre de cycles, nombre de cycles ouverts) de l'espace s.

Renvoie (nombre de cycles, nombre de cycles ouverts) de l'espace s

Pre: s: space

Result: (naturel, naturel)

O(s) = ...

Définition à la ligne 479 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.poly_Kauffman(), DSPython.knots.poly_Kauffman_A(), et DSPython.knots.poly_Kauffman_ABd().

def DSPython.knots.nb_items (   s,
  items 
)

Renvoie le nombre d'éléments de l'espace s qui sont dans items.

Renvoie le nombre d'éléments de l'espace s qui sont dans items

Pre: s: space
     items: string de caractères appartenant à SPACECHARS

Result: naturel

O(s) = ...

Définition à la ligne 493 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.nb_A(), DSPython.knots.nb_B(), DSPython.knots.nb_cross(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.poly_Kauffman (   s)

Renvoie le polynôme invariant de Kauffman pour l'espace de nœuds s.

Renvoie le polynôme invariant de Kauffman pour l'espace de noeuds s,
c.-à-d. (-A^(-3))^writhe(s) * poly_Kauffman_A(s)
(invariant pour les isotopies :
mouvements 0, I, II et III de Reidemeister)

Pre: s: knots non vide

Result: Polynomial

O(s) = ...

Définition à la ligne 518 du fichier knots.py.

Références DSPython.knots.knots_is(), DSPython.knots.nb_cycle(), DSPython.knots.poly_Kauffman_A(), et DSPython.knots.writhe().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.poly_Kauffman_A (   s)

Renvoie le polynôme A de Kauffman pour l'espace de nœuds s.

Renvoie le polynôme A de Kauffman pour l'espace de noeuds s,
c.-à-d. le polynôme ABd de Kauffman avec B = A^-1 et d = -A^2 - A^-2
(invariant pour les isotopies régulières :
mouvements 0, II et III de Reidemeister)

Pre: s: knots non vide

Result: Polynomial

O(s) = ...

Définition à la ligne 548 du fichier knots.py.

Références DSPython.knots.knots_is(), DSPython.knots.labels_list(), DSPython.knots.nb_A(), DSPython.knots.nb_B(), DSPython.knots.nb_cross(), DSPython.knots.nb_cycle(), et DSPython.knots.to_labelstates().

Référencé par DSPython.knots.poly_Kauffman(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.poly_Kauffman_ABd (   s)

Renvoie le polynôme ABd de Kauffman pour l'espace de nœuds s.

Renvoie le polynôme ABd de Kauffman pour l'espace de noeuds s
= somme sur tous les états labellisés de s
  du produit des labels A et B
             et de d^(nombre de cycles fermés - 1) de l'état

Pre: s: knots

Result: Polynomial

O(s) = ...

Définition à la ligne 578 du fichier knots.py.

Références DSPython.knots.knots_is(), DSPython.knots.labels_list(), DSPython.knots.nb_A(), DSPython.knots.nb_B(), DSPython.knots.nb_cross(), DSPython.knots.nb_cycle(), et DSPython.knots.to_labelstates().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.primeknots_even_1 (   n)

Renvoie le nœud premier n1

Renvoie le noeud premier n_1

Pre: n: naturel pair >= 4

Result: knots

O(n) = ...

Définition à la ligne 600 du fichier knots.py.

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.read (   f)

Renvoie l'espace lu dans le fichier f.

Renvoie l'espace lu dans le fichier f

Pre: f: fichier (texte) ouvert en lecture

Result: list de string (qui n'est pas forcément un space !!!)

O(f) = ...

Définition à la ligne 620 du fichier knots.py.

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.rotate (   s,
  nb = 1 
)

Renvoie l'espace s avec une rotation de nb*90° dans le sens anti-horloger.

Renvoie l'espace s avec une rotation de nb*90°
  dans le sens anti-horloger

Pre: s: space
     nb: Integral

Result: space

O(s) = ...

Définition à la ligne 639 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.space_is (   s)
def DSPython.knots.states_is (   s)

s est de type states ?

Renvoie True si l'espace s est de type states
(un espace vide ou contenant des états non labellisés de noeuds),
False sinon

Pre: s: space

Result: boolean

O(s) = ...

Définition à la ligne 731 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.to_labelstates (   s,
  labels = '' 
)

Renvoie l'état labellisé de l'espace s de nœuds ou d'états labellisés.

Renvoie l'état labellisé de l'espace s de noeuds ou d'états labellisés
Le parcours de s se fait de la gauche vers la droite,
du haut vers le bas.
Chaque croisement est alors remplacé par son état labellisé
en fonction du 'A' ou 'B' dans labels.
Lorsque les caractères de labels sont épuisés,
c'est l'état A qui est choisi.

Pre: s: knots ou labelstates
        (ou space mélange des deux,
        mais ne contenant pas d'état non labellisé
        ou de croisement non "orienté")
     labels: string de 'A' et 'B'

Result: labelstates

O(s) = ...

Définition à la ligne 755 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.poly_Kauffman_A(), DSPython.knots.poly_Kauffman_ABd(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.to_LaTeX (   s,
  length = None,
  shape = None,
  grid = None 
)

Renvoie un string contenant le code LATEX (pour le module Knots.sty) de la représentation de l'espace s.

Module LATEX : Knots.sty
Documentation et exemples : Knots.tex, Knots.ps

Renvoie un string contenant le code LaTeX
(pour le module Knots.sty :
 http://www.opimedia.be/DS/DSPython/)
de la représentation de l'espace s
length : taille du quadrillage
         (si None alors utilise la valeur de Knots.sty : par défaut 20)
shape : détermine la forme des arrondis
        (si None alors utilise la valeur de Knots.sty : par défaut 5)
grid : Si True alors affiche le quadrillage, sinon pas
       (si None
       alors utilise la valeur de Knots.sty : par défaut False)

Pre: s: space
     length: None ou naturel > 0
     shape: None ou naturel > 0
     grid: None ou boolean

Result: string

O(s, ...) = ...

Définition à la ligne 803 du fichier knots.py.

Références DSPython.natural_is(), et DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.to_PS (   s,
  length = 30,
  margin = 10,
  shape = 5,
  grid = False 
)

Renvoie un string contenant le code PostScript de la représentation de l'espace s.

Renvoie un string contenant le code PostScript
  de la représentation de l'espace s
length : taille du quadrillage
margin : taille des marges
shape : détermine la forme des arrondis
grid : Si True alors affiche le quadrillage, sinon pas

Pre: s: space
     length: naturel > 0
     margin: naturel
     shape: réel != 0
     grid: boolean

Result: string

O(s, ...) = ...

Définition à la ligne 870 du fichier knots.py.

Références DSPython.natural_is(), et DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.to_states (   s,
  labels = '' 
)

Renvoie l'état non labellisé de l'espace s de nœuds ou d'états (labellisés ou non)

Renvoie l'état non labellisé de l'espace s
de noeuds ou d'états (labellisés ou non).
Le parcours de s se fait de la gauche vers la droite,
du haut vers le bas.
Chaque croisement est alors remplacé par son état non labellisé
en fonction du 'A' ou 'B' dans labels.
Lorsque les caractères de labels sont épuisés,
c'est l'état A qui est choisi.

Pre: s: noeuds, labelstates ou states
        (ou space mélange des trois,
        mais ne contenant pas de croisement non "orienté")
     labels: string de 'A' et 'B'

Result: states

O(s) = ...

Définition à la ligne 1146 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.to_str (   s)

Renvoie l'espace s dans un string avec retour à la ligne.

Renvoie l'espace s dans un string avec retour à la ligne

Pre: s: space

Result: string

O(s) = ...

Définition à la ligne 1187 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.to_universes (   s)

Renvoie l'univers des nœuds de l'espace s.

Renvoie l'univers des noeuds de l'espace s

Pre: s: space

Result: universes

O(s) = ...

Définition à la ligne 1201 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.universes_is (   s)

s est de type universes ?

Renvoie True si l'espace s est de type universes
(un espace vide ou contenant des univers de noeud),
False sinon

Pre: s: space

Result: boolean

O(s) = ...

Définition à la ligne 1223 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.write (   f,
  s 
)

Écrit l'espace s dans le fichier f.

Écrit l'espace s dans le fichier f

Pre: f: fichier (texte) ouvert en écriture
     s: space

Result: None

O(f, s) = ...

Définition à la ligne 1247 du fichier knots.py.

Références DSPython.knots.space_is().

Référencé par DSPython.knots.Corners.writhe_cross().

def DSPython.knots.writhe (   s)

Renvoie le degré de torsion du space s.

Renvoie le degré de torsion du space s,
c.-à-d. la somme des degrés de torsion pour tous ses croisements

Pre: s: knots dont tous les croisements sont dans 1 ou 2 cycles fermés

Result: Integral

O(s) = ...

Définition à la ligne 1263 du fichier knots.py.

Références DSPython.knots.knots_is().

Référencé par DSPython.knots.poly_Kauffman(), et DSPython.knots.Corners.writhe_cross().

def DSPython.knots.writhe_cross (   s,
  x,
  y 
)

Renvoie le degré de torsion du croisement "orienté" placé en (x, y) du space s.

Renvoie le degré de torsion du croisement "orienté"
  placé en (x, y) du space s.
Si les deux brins du croisement
  font partie de 2 cycles différents alors renvoie 0,
sinon renvoie -1 ou 1.

Pre: s: space tel que s[y][x] == CROSSUP ou CROSSDOWN
          dans 1 ou 2 cycles fermés
     x: natural
     y: natural

Result: -1, 0 ou 1

O(s) = ...

Définition à la ligne 1286 du fichier knots.py.

Références DSPython.natural_is(), et DSPython.knots.space_is().


Documentation des variables

list DSPython.knots.BORROMEAN
Valeur initiale :
1 [' /&\\',
2  ' //_\\\\',
3  '( & & )',
4  ' % % %',
5  ' \\^ ^/',
6  ' ^^^']

Nœud borroméen (un lien de 3 nœuds entremêlés)

Définition à la ligne 204 du fichier knots.py.