diff --git a/out/tesi-triennale.pdf b/out/tesi-triennale.pdf index 3f89c7c..857ca0a 100644 Binary files a/out/tesi-triennale.pdf and b/out/tesi-triennale.pdf differ diff --git a/src/assets/std-unknot-splices.png b/src/assets/std-unknot-splices.png new file mode 100644 index 0000000..3ae6a28 Binary files /dev/null and b/src/assets/std-unknot-splices.png differ diff --git a/src/assets/std-unknot-to-curls.png b/src/assets/std-unknot-to-curls.png new file mode 100644 index 0000000..a15c363 Binary files /dev/null and b/src/assets/std-unknot-to-curls.png differ diff --git a/src/main.typ b/src/main.typ index f8ff438..003fb42 100644 --- a/src/main.typ +++ b/src/main.typ @@ -6,14 +6,11 @@ #import "@preview/drafting:0.2.2": inline-note, margin-note, set-margin-note-defaults, set-page-properties #import "@preview/colorful-boxes:1.1.0": stickybox -#set-margin-note-defaults( - rect: (..kwargs, content) => rect(..kwargs, { - set text(size: 8pt, font: "Open Sans") - set par(leading: 0.5em, justify: false) - content - }), - side: right, -) +#set-margin-note-defaults(rect: (..kwargs, content) => rect(..kwargs, { + set text(size: 8pt, font: "Open Sans") + set par(leading: 0.5em, justify: false) + content +}), side: right) // Prelude @@ -21,14 +18,12 @@ paper-size: "a4", title: [Il polinomio di Kauffman: \ un invariante di isotopia regolare], page-title: [Il polinomio di Kauffman: un invariante di isotopia regolare], - authors: ( - ( - name: "Antonio De Lucreziis", - organization: "Dipartimento di Matematica", - location: "Pisa, Italia", - email: "antonio.delucreziis@gmail.com", - ), - ), + authors: (( + name: "Antonio De Lucreziis", + organization: "Dipartimento di Matematica", + location: "Pisa, Italia", + email: "antonio.delucreziis@gmail.com", + ),), abstract: [ In questa tesi tratteremo del polinomio di Kauffman, un invariante di nodi e link di isotopia regolare. Introdurremo dei risultati di fondazione della teoria dei nodi per definire l'isotopia regolare. Infine vedremo la dimostrazione della buona definizione del polinomio di Kauffman a partire dalla forma assiomatica. Per il progetto di Laboratorio Computazionale abbiamo implementato in Python questo polinomio e verificato tutti i valori presenti nel database di KnotInfo e trovato un errore nel calcolo del nodo $10_125$. ], @@ -62,7 +57,6 @@ // - $kL(#skein.under-twist) = a^(-1) kL(#skein.strand)$ - // Vedremo come questi assiomi definiscono un unico invariante di isotopia regolare ben definito e come $kL_K (a, z)$ può essere generalizzato a un invariante di isotopia ambiente $F_K (a, z)$ utilizzando il _writhe_ di un nodo. == Introduzione alla Teoria dei Nodi @@ -83,20 +77,17 @@ Ora introdurremo alcuni risultati fondamentali di teoria dei nodi. Vedremo le de Dato un embedding $f : X arrow Y$, un punto $p in X$ allora $f$ si dice *localmente piatto* in $p$ se $exists U subset bb(R)^3$ intorno di $p$, tale che ] -#grid( - columns: (1fr, 1fr), +#grid(columns: (1fr, 1fr), gutter: 1em, align: center + horizon, grid( + columns: 3, gutter: 1em, - align: center + horizon, - grid( - columns: 3, - gutter: 1em, - align: center, - $U$, $approx$, $bb(D)^2 times [0, 1]$, - $U inter f(X)$, $<->$, ${ 0 } times [0, 1]$, - ), - align(center, image("assets/locally-flat-v2.png", width: 4cm)), -) - + align: center, + $U$, + $approx$, + $bb(D)^2 times [0, 1]$, + $U inter f(X)$, + $<->$, + ${ 0 } times [0, 1]$, +), align(center, image("assets/locally-flat-v2.png", width: 4cm))) inoltre $f$ si dice embedding *localmente piatto* se lo è in ogni punto di $X$. @@ -148,7 +139,6 @@ Passiamo ora al caso in cui abbiamo un nodo con più di una componente $L subset bb(R)^3$ è detto *link* se $exists$ embedding $f : bb(S)^1 union dots.c union bb(S)^1 arrow bb(R)^3$ localmente piatto con immagine $L$. ] - Possiamo generalizzare tutte le definizioni che diamo per i nodi ai link, sostituendo $bb(S)^1$ con $bb(S)^1 union dots.c union bb(S)^1$ e apportando le giuste modifiche. Introduciamo ora il concetto di equivalenza combinatoria di link poligonali in $bb(R)^3$; questo è il primo passo che ci permetterà di descrivere l'equivalenza per isotopia ambiente tra nodi attraverso una sequenza finita di mosse. @@ -219,7 +209,9 @@ Quindi dato $L subset bb(R)^3$ link poligonale, esiste una proiezione regolare $ #figure(image("assets/reidemeister-moves.jpg", width: 10cm)) -#theorem(name: [di Reidemeister])[ +#theorem( + name: [di Reidemeister], +)[ Due diagrammi di link equivalenti sono collegati da una successione finita di isotopie planari e mosse di Reidemeister. ] @@ -255,7 +247,6 @@ Come abbiamo generalizzato da nodi a link possiamo ripetere tutto anche aggiunge Sia $K subset bb(R)^3$, se $K$ non è equivalente a $m(K)$ allora diciamo che $K$ è *chirale*, altrimenti è detto *anfichirale*. ] - = Isotopia Regolare Il teorema di Reidemeister ci dice che due nodi sono equivalenti a meno di isotopia ambiente se e solo se lo sono anche dei loro diagrammi a meno di isotopie planari e mosse I, II e III. @@ -266,36 +257,32 @@ Possiamo chiederci cosa succede se ci restringiamo all'equivalenza generata solo Due diagrammi $D_1, D_2$ di nodi o link si dicono equivalenti a meno di *isotopia regolare* se e solo se sono equivalenti a meno di isotopie planari e mosse II e III di Reidemeister. ] -#figure(image( - "assets/ambient-regular-isotopy-difference.jpg", - width: 15cm, -)) +#figure(image("assets/ambient-regular-isotopy-difference.jpg", width: 15cm)) Una prima cosa che possiamo notare è che tutte le mosse di tipo I, quelle che introducono quelli che chiameremo *riccioli*, possono passare sopra o sotto altri fili senza problemi applicando le seguenti mosse -#figure(image( - "assets/move-1-factorization.png", - width: 10cm, -)) +#figure(image("assets/move-1-factorization.png", width: 10cm)) Quindi i riccioli possono essere spostati liberamente e non ci impediscono di applicare mosse di tipo II o III. In particolare questo ci permette anche di "fattorizzare" tutti i riccioli di una componente in modo che siano tutti vicini. -Un'altra osservazione sul comportamento dell'isotopia regolare rispetto alle mosse di tipo I è la seguente. Quando abbiamo una coppia di riccioli con segni opposti e su lati opposti abbiamo la seguente proprietà di cancellazione detto _trucco di Whitney_. +Un'altra osservazione sul comportamento dell'isotopia regolare rispetto alle mosse di tipo I è la seguente. Quando abbiamo una coppia di riccioli con segni opposti abbiamo la seguente proprietà di cancellazione detto _trucco di Whitney_. #figure(image("assets/whitney-trick.png", width: 16cm)) -C'è un'osservazione importante da fare quando parliamo di isotopia regolare. Quest'ultima è definita solo quando si parla di diagrammi. Quando invece parliamo di isotopia ambiente ha senso parlare dei link sia come diagrammi che come embedding $bb(S)^1 -> bb(R)^3$. +// C'è un'osservazione importante da fare quando parliamo di isotopia regolare. Quest'ultima è definita solo quando si parla di diagrammi. Quando invece parliamo di isotopia ambiente ha senso parlare dei link sia come diagrammi che come embedding $bb(S)^1 -> bb(R)^3$. -Questo sarà importante più avanti quando vedremo invarianti come il polinomio $F_K$ che risulteranno essere invarianti per isotopia ambiente. Nel caso del polinomio $F_K$, il calcolo va fatto fissando un particolare diagramma del link. È tutt'ora un problema aperto dare una definizione di $F_K$ che sia indipendente dalla scelta di un diagramma. +C'è un'osservazione importante da fare quando parliamo di isotopia regolare. Quest'ultima è definita solo quando si parla di diagrammi nel piano o su $bb(S)^2$. Nel caso dell'isotopia regolare su $bb(S)^2$ questa è equivalente all'isotopia di _link con framing_ #footnote[Nel caso di nodi come embedding da $bb(S)^1 -> bb(S)^3$, un *nodo con framing* è un embedding di $bb(D)^2 times bb(S)^1 -> bb(S)^3$. Il *framing* del nodo è l'immagine di $I times bb(S)^1 -> bb(S)^3$. Un nodo con framing può essere visto come una banda embedded dove il framing è il numero di twist con segno.]. + +Questo sarà importante più avanti quando vedremo invarianti come il polinomio $F_K$ che risulteranno essere invarianti per isotopia ambiente. Nel caso del polinomio $F_K$, il calcolo va fatto fissando un particolare diagramma del link. È tutt'ora un problema aperto dare una definizione "intrinseca" di $F_K$ senza usare diagrammi. // Questo sarà importante più avanti quando vedremo invarianti di isotopia ambiente definiti passando dall'isotopia regolare. Ad esempio, nel caso del polinomio $F_K$, la definizione si basa sul polinomio $L_K$ che è un invariante per isotopia regolare definito su diagrammi; quindi il calcolo di $F_K$ va fatto fissando un particolare diagramma del link. È tutt'ora un problema aperto dare una definizione di $F_K$ che sia indipendente dalla scelta di un diagramma. == Writhe -Vediamo ora un primo invariante di isotopia regolare per link orientatati, per prima cosa definiamo il segno di un incrocio. +Vediamo ora un primo invariante di isotopia regolare per link orientati, per prima cosa definiamo il segno di un incrocio. #definition[ - Dato un incrocio di un link orientato ci possono essere due casi in base alla direzione in cui il filo sotto si trova rispetto a quello sopra. Definiamo *il segno* di un incrocio in base a questi casi come segue + Dato un incrocio nel diagramma di un link orientato ci possono essere due casi in base alla direzione in cui il filo sotto si trova rispetto a quello sopra. Definiamo *il segno* di un incrocio in base a questi casi come segue $ epsilon(#skein-generic(direction: (+1, +1))) = +1 @@ -313,7 +300,7 @@ Vediamo ora un primo invariante di isotopia regolare per link orientatati, per p ] #proposition[ - Se $K$ è un nodo, il writhe non dipende dall'orientazione. + Se $K$ è il diagramma di un nodo, il writhe non dipende dall'orientazione. ] #proof[ @@ -327,10 +314,10 @@ Vediamo ora un primo invariante di isotopia regolare per link orientatati, per p Nel primo caso invertendo le due frecce il filo che passa sotto va sempre verso sinistra rispetto a quello sopra quindi il segno rimane invariato, il secondo caso è analogo. ] -Questo risultato può essere generalizzato a link con l'accortezza di invertire l'orientazione di tutte le componenti (o anche solamente tutte quelle che appartengono ad una sola componente connessa relativamente alla sua ombra planare). +Questo risultato può essere generalizzato a diagrammi di link con l'accortezza di invertire l'orientazione di tutte le componenti (o anche solamente tutte quelle che appartengono ad una sola componente connessa della sua ombra planare). #proposition[ - Il writhe è un invariante di isotopia regolare, ovvero se $K_1, K_2$ sono equivalenti a meno di isotopia regolare allora $w(K_1) = w(K_2)$. + Il writhe è un invariante di isotopia regolare, ovvero se $K_1, K_2$ sono diagrammi di link equivalenti a meno di isotopia regolare allora $w(K_1) = w(K_2)$. ] #proof[ @@ -356,10 +343,10 @@ Questo risultato può essere generalizzato a link con l'accortezza di invertire == Da isotopia regolare ad ambiente -Un primo fatto generale che possiamo vedere è che, dato un invariante di isotopia regolare che si comporta "bene" rispetto alle mosse di tipo I, possiamo costruire un invariante di isotopia ambiente aggiungendo un fattore di correzione dato dal writhe. +Un primo fatto generale che possiamo vedere è che, dato un invariante di isotopia regolare per diagrammi che si comporta "bene" rispetto alle mosse di tipo I, possiamo costruire un invariante di isotopia ambiente per link aggiungendo un fattore di correzione dato dal writhe. #proposition[ - Sia $R$ un anello, $a in R$ un elemento invertibile e $K$ un link orientato, allora se $L : scr(D) -> R$ è un invariante di isotopia regolare tale che + Sia $R$ un anello, $a in R$ un elemento invertibile e $K$ un link orientato, $scr(D)$ l'insieme dei diagrammi dei link orientatati, allora se $L : scr(D) -> R$ è un invariante di isotopia regolare tale che $ L(#skein.over-twist) = a L(#skein.strand) @@ -377,7 +364,6 @@ Un primo fatto generale che possiamo vedere è che, dato un invariante di isotop Dunque basta controllare che $F(K)$ sia invariante rispetto alle mosse di tipo I. Per prima cosa osserviamo che - $ w(#skein.over-twist) = w(#skein.strand) + 1 #h(2em) @@ -387,10 +373,10 @@ Un primo fatto generale che possiamo vedere è che, dato un invariante di isotop ed usando la proprietà dell'ipotesi otteniamo $ - F(#skein.over-twist) & = a^(-w(#skein.over-twist-small)) dot L(#skein.over-twist) \ - & = a^(-w(#skein.strand-small) - 1) dot a dot L(#skein.strand) \ + F(#skein.over-twist) & = a^(-w(#skein.over-twist-small)) dot L(#skein.over-twist) \ + & = a^(-w(#skein.strand-small) - 1) dot a dot L(#skein.strand) \ & = a^(-w(#skein.strand-small)) dot cancel(a^(-1)) dot cancel(a) dot L(#skein.strand) \ - & = a^(-w(#skein.strand-small)) dot L(#skein.strand) = F(#skein.strand) \ + & = a^(-w(#skein.strand-small)) dot L(#skein.strand) = F(#skein.strand) \ $ e analogamente segue anche per l'altro ricciolo che $F(#skein.under-twist) = F(#skein.strand)$. @@ -398,348 +384,340 @@ Un primo fatto generale che possiamo vedere è che, dato un invariante di isotop = Polinomio di Kauffman -#todo[ - work in progress -] +Ora introdurremo il polinomio di Kauffman @Kauffman1990-qe, che vedremo essere un invariante di isotopia regolare. Questo polinomio è definito in modo implicito da assiomi che utilizzano le relazioni skein, queste relazioni possono essere utilizzate direttamente per calcolare il polinomio di Kauffman per un certo diagramma sia in modo implicito che sfruttando una risoluzione che porta verso un nodo banale standard. -// Ora introdurremo il polinomio di Kauffman @Kauffman1990-qe che vedremo essere un invariante di isotopia regolare. Questo polinomio è definito in modo implicito da degli assiomi che utilizzano le relazioni skein, queste relazioni possono essere utilizzate direttamente per calcolare +Vedremo come questi assiomi definiscono un unico invariante di isotopia regolare ben definito e come $kL_K (a, z)$ può essere generalizzato ad un invariante di isotopia ambiente $F_K (a, z)$ utilizzando il lemma ... #margin-note[Aggiungere ref al lemma] -// Vedremo come questi assiomi definiscono un unico invariante di isotopia regolare ben definito e come $kL_K (a, z)$ può essere generalizzato a un invariante di isotopia ambiente $F_K (a, z)$ utilizzando il _writhe_ di un nodo. +== Definizione assiomatica +#definition[ + Dato $K$ un link non orientato, $kL_K in bb(Z)[a, a^(-1), z, z^(-1)]$, ovvero i polinomi di Laurent sugli interi nelle variabili $a$ e $z$, e verifica i seguenti assiomi: -== Definizione assiomatica + 1. Se $K$, $K'$ sono equivalenti a meno di isotopia regolare, allora $kL_K = kL_K'$. -#todo[ - work in progress -] + 2. Valgono le seguenti relazioni skein per quaterne di diagrammi identici ovunque tranne che nei punti indicati -// #definition[ -// Dato $K$ un link non orientato, $kL_K in bb(Z)[a, a^(-1), z, z^(-1)]$, ovvero i polinomi di Laurent sugli interi nelle variabili $a$ e $z$, e verifica i seguenti assiomi: + - $kL(#skein.over) + kL(#skein.under) = z (kL(#skein.h) + kL(#skein.v))$ -// 1. Se $K$, $K'$ sono equivalenti a meno di isotopia regolare, allora $kL_K = kL_K'$. + - $kL(#skein.unit) = 1$ -// 2. Valgono le seguenti relazioni skein per quaterne di diagrammi identici ovunque tranne che nei punti indicati + - $kL(#skein.over-twist) = a kL(#skein.strand)$ -// - $kL(#skein.over) + kL(#skein.under) = z (kL(#skein.h) + kL(#skein.v))$ + - $kL(#skein.under-twist) = a^(-1) kL(#skein.strand)$ +] -// - $kL(#skein.unit) = 1$ +Come già anticipato in precedenza, vedremo che questo è un invariante di isotopia regolare e può essere generalizzato ad invariante di isotopia ambiente come segue -// - $kL(#skein.over-twist) = a kL(#skein.strand)$ +#definition[ + Definiamo $F_K in Z[a, a^(-1), z, z^(-1)]$ per diagrammi orientati $K$ come + $ + F_K colon.eq a^(-w(K)) kL_K + $ + dove $L_K$ di un diagramma orientato è definito dimenticando l'orientazione. +] -// - $kL(#skein.under-twist) = a^(-1) kL(#skein.strand)$ -// ] +#proposition[ + Il polinomio $F_K (a, z)$ è un invariante di isotopia ambiente +] -// Come già anticipato in precedenza, vedremo che questo è un invariante di isotopia regolare e può essere generalizzato ad invariante di isotopia ambiente come segue +#proof[ + Segue dalla @prop-ext-ambient-isotopy-inv. +] -// #definition[ -// Definiamo $F_K in Z[a, a^(-1), z, z^(-1)]$ per diagrammi orientati $K$ come -// $ -// F_K colon.eq a^(-w(K)) kL_K -// $ -// dove $L_K$ di un diagramma orientato è definito dimenticando l'orientazione. -// ] +== Alcune proprietà del polinomio di Kauffman -// #proposition[ -// Il polinomio $F_K (a, z)$ è un invariante di isotopia ambiente -// ] +#lemma[ + Sia $K$ un link orientato e $m(K)$ il suo mirror. Allora abbiamo la seguente relazione per $L$ + e $F$ -// #proof[ -// Segue dalla @prop-ext-ambient-isotopy-inv. -// ] + $ + L_(m(K)) (a, z) = L_K (1 slash a, z) + #h(2em) + F_(m(K)) (a, z) = F_K (1 slash a, z) + $ -== Alcune proprietà del polinomio di Kauffman +] -#todo[ - work in progress -] - -// #lemma[ -// Sia $K$ un link orientato e $m(K)$ il suo mirror. Allora abbiamo la seguente relazione per $L$ -// e $F$ - -// $ -// L_(m(K)) (a, z) = L_K (1 slash a, z) -// #h(2em) -// F_(m(K)) (a, z) = F_K (1 slash a, z) -// $ - -// ] - -// #proof[ -// $m(K)$ è ottenuto da $K$ scambiando tutti i suoi incroci quindi se analizziamo cosa succede nei vari assiomi solo vicino ad un certo incrocio otteniamo le seguenti relazioni -// $ -// kL(m(#skein.unit)) = kL(#skein.unit) = 1 \ -// kL(m(#skein.over-twist)) = kL(#skein.under-twist) = a^(-1) kL(#skein.strand) \ -// kL(m(#skein.under-twist)) = kL(#skein.over-twist) = a kL(#skein.strand) -// $ - -// ed infine l'ultima relazione rimane invariata per la simmetria del polinomio di Kauffman - -// $ -// kL(m(#skein.over)) + kL(m(#skein.under)) = z (kL(m(#skein.h)) + kL(m(#skein.v))) \ -// => kL(#skein.under) + kL(#skein.over) = z (kL(#skein.h) + kL(#skein.v)) \ -// => kL(#skein.over) + kL(#skein.under) = z (kL(#skein.h) + kL(#skein.v)) -// $ - -// quindi passare al mirror ha l'effetto di scambiare solamente $a$ con $a^(-1)$ ma il resto della valutazione rimane identico. - -// Infine per $F_m(K)$ basta osservare che $w(m(K)) = -w(K)$ per una motivazione analoga. -// ] - -// Prima di passare alla dimostrazione della buona definizione vediamo alcuni esempi di calcolo di $L_K$ in modo "implicito", questo può essere fatto scegliendo accuratamente per quali diagrammi valutare le relazioni skein degli assiomi. - -// Ad esempio proviamo a ricavare il valore di $delta colon.eq L(#skein.unit#skein.unit)$ #margin-note[Tutte le immagini qua sotto sono temporanee e devo rifarle] - -// #let knot-picture(src, ..rest) = $thin #image("assets/derived/atlas-" + src, ..rest) thin$ - -// $ -// L( #knot-picture("infinity-0.png", height: 2.25em) ) -// + -// L( #knot-picture("infinity-1.png", height: 2.25em) ) & = -// z ( -// L( #knot-picture("infinity-2.png", height: 2.25em) ) -// + -// L( #knot-picture("infinity-3.png", height: 2.25em) ) -// ) \ -// => -// a L( #skein.unit ) -// + -// a^(-1) L( #skein.unit ) & = -// z ( -// delta -// + -// L ( #skein.unit ) -// ) \ -// => a + a^(-1) & = z ( delta + 1 ) \ -// => delta & = (a + a^(-1)) slash z - 1 -// $ - -// Questo valore $delta = (a + 1 slash a) slash z - 1$ ricomparirà anche in seguito ed è il coefficiente che il polinomio di Kauffman introduce quando abbiamo un link con due componenti disgiunte. Possiamo anche trovare il risultato per il link di Hopf come segue - -// // #figure(image("assets/implicit-calc-2.png")) - -// $ -// L( #knot-picture("hopf-0.png", height: 1.75em) ) -// + -// L( #knot-picture("hopf-1.png", height: 1.75em) ) & = -// z ( -// L( #knot-picture("hopf-2.png", height: 1.75em) ) -// + -// L( #knot-picture("hopf-3.png", height: 1.75em) ) -// ) \ -// => -// L( #knot-picture("hopf-0.png", height: 1.75em) ) -// + -// delta & = -// z ( -// a -// + -// a^(-1) -// ) \ -// => -// L( #knot-picture("hopf-0.png", height: 1.75em) ) & = -// - (a + a^(-1)) z^(-1) + 1 + (a + a^(-1)) z -// $ - - -// E del nodo trifoglio - -// // #figure(image("assets/implicit-calc-3.png")) - -// $ -// L( #knot-picture("trefoil-0.png", height: 2em) ) -// + -// L( #knot-picture("trefoil-1.png", height: 2em) ) & = -// z ( -// L( #knot-picture("trefoil-2.png", height: 2em) ) -// + -// L( #knot-picture("trefoil-3.png", height: 2em) ) -// ) \ -// => -// L( #knot-picture("trefoil-0.png", height: 2em) ) -// + -// a & = -// z ( -// L( #knot-picture("hopf-0.png", height: 1.75em) ) -// + -// a^(-2) -// ) \ -// => -// L( #knot-picture("trefoil-0.png", height: 2em) ) & = -// -(2a + a^(-1)) + (1 + a^(-2)) z + (a + a^(-1)) z^2 -// $ - -// #definition[ -// Diremo che un diagramma è _split_ se è l'unione disgiunta di due diagrammi separati, in questo caso scriviamo $K = K_1 union.sq K_2$ dove $K_1$ e $K_2$ sono le due componenti disgiunte. -// ] - -// #definition[ -// Un diagramma $K$ è una *somma connessa* se appare come due diagrammi disgiunti connessi da due archi paralleli (a meno di isotopie planari). Tagliando questi due archi e riunendo insieme le estremità dello stesso sotto-diagramma otteniamo un nuovo diagramma split della forma $tilde(K) = K_1 union.sq K_2$, in questo caso chiamiamo la somma connessa $K = K_1 hash K_2$. -// ] - -// #proposition[ -// Valgono le seguenti relazioni di $L$ ed $F$ per diagrammi split o in somma connessa - -// #{ -// set align(center) -// grid( -// rows: 2, -// columns: 2, -// column-gutter: 2em, -// row-gutter: 1em, -// $L(K_1 union.sq K_2) = delta L(K_1) L(K_2)$, $F(K_1 union.sq K_2) = delta F(K_1) F(K_2)$, -// $L(K_1 hash K_2) = L(K_1) L(K_2)$, $F(K_1 hash K_2) = F(K_1) F(K_2)$, -// ) -// } - -// dove $delta = (a + a^(-1)) slash z - 1$ ed è lo stesso coefficiente che abbiamo trovato nell'esempio precedente. -// ] +#proof[ + $m(K)$ è ottenuto da $K$ scambiando tutti i suoi incroci quindi se analizziamo cosa succede nei vari assiomi solo vicino ad un certo incrocio otteniamo le seguenti relazioni + $ + kL(m(#skein.unit)) = kL(#skein.unit) = 1 \ + kL(m(#skein.over-twist)) = kL(#skein.under-twist) = a^(-1) kL(#skein.strand) \ + kL(m(#skein.under-twist)) = kL(#skein.over-twist) = a kL(#skein.strand) + $ -== Dimostrazione Forma Induttiva + ed infine l'ultima relazione rimane invariata per la simmetria del polinomio di Kauffman + + $ + kL(m(#skein.over)) + kL(m(#skein.under)) = z (kL(m(#skein.h)) + kL(m(#skein.v))) \ + => kL(#skein.under) + kL(#skein.over) = z (kL(#skein.h) + kL(#skein.v)) \ + => kL(#skein.over) + kL(#skein.under) = z (kL(#skein.h) + kL(#skein.v)) + $ -#todo[ - work in progress + quindi passare al mirror ha l'effetto di scambiare solamente $a$ con $a^(-1)$ ma il resto della valutazione rimane identico. + + Infine per $F_m(K)$ basta osservare che $w(m(K)) = -w(K)$ per una motivazione analoga. ] -// Prima di passare a descrivere la definizione induttiva diamo alcune definizioni di manipolazioni di un diagramma. +Prima di passare alla dimostrazione della buona definizione vediamo alcuni esempi di calcolo di $L_K$ in modo "implicito", questo può essere fatto scegliendo accuratamente per quali diagrammi valutare le relazioni skein degli assiomi. + +Ad esempio proviamo a ricavare il valore di $delta colon.eq L(#skein.unit#skein.unit)$ + +#let knot-picture(src, ..rest) = $thin #image("assets/derived/atlas-" + src, ..rest) thin$ + +$ + L( #knot-picture("infinity-0.png", height: 2.25em) ) + + + L( #knot-picture("infinity-1.png", height: 2.25em) ) & = + z ( + L( #knot-picture("infinity-2.png", height: 2.25em) ) + + + L( #knot-picture("infinity-3.png", height: 2.25em) ) + ) \ + => + a L( #skein.unit ) + + + a^(-1) L( #skein.unit ) & = + z ( + delta + + + L ( #skein.unit ) + ) \ + => a + a^(-1) & = z ( delta + 1 ) \ + => delta & = (a + a^(-1)) slash z - 1 +$ + +Questo valore $delta = (a + 1 slash a) slash z - 1$ ricomparirà anche in seguito ed è il coefficiente che il polinomio di Kauffman introduce quando abbiamo un link con due componenti disgiunte. Possiamo anche trovare il risultato per il link di Hopf come segue + +// #figure(image("assets/implicit-calc-2.png")) + +$ + L( #knot-picture("hopf-0.png", height: 1.75em) ) + + + L( #knot-picture("hopf-1.png", height: 1.75em) ) & = + z ( + L( #knot-picture("hopf-2.png", height: 1.75em) ) + + + L( #knot-picture("hopf-3.png", height: 1.75em) ) + ) \ + => + L( #knot-picture("hopf-0.png", height: 1.75em) ) + + + delta & = + z ( + a + + + a^(-1) + ) \ + => + L( #knot-picture("hopf-0.png", height: 1.75em) ) & = + - (a + a^(-1)) z^(-1) + 1 + (a + a^(-1)) z +$ + +E del nodo trifoglio + +// #figure(image("assets/implicit-calc-3.png")) + +$ + L( #knot-picture("trefoil-0.png", height: 2em) ) + + + L( #knot-picture("trefoil-1.png", height: 2em) ) & = + z ( + L( #knot-picture("trefoil-2.png", height: 2em) ) + + + L( #knot-picture("trefoil-3.png", height: 2em) ) + ) \ + => + L( #knot-picture("trefoil-0.png", height: 2em) ) + + + a & = + z ( + L( #knot-picture("hopf-0.png", height: 1.75em) ) + + + a^(-2) + ) \ + => + L( #knot-picture("trefoil-0.png", height: 2em) ) & = + -(2a + a^(-1)) + (1 + a^(-2)) z + (a + a^(-1)) z^2 +$ -// #definition[ -// Sia $K$ un diagramma, $cal(U)$ la sua ombra planare#footnote[Ovvero per $K subset bb(R)^3$ poniamo $U colon.eq pi(K) subset bb(R)^2$] e $p in cal(U)$ un punto di partenza direzionato in $cal(U)$. -// ] +#definition[ + Diremo che un diagramma è _split_ se è l'unione disgiunta di due diagrammi separati, in questo caso scriviamo $K = K_1 union.sq K_2$ dove $K_1$ e $K_2$ sono le due componenti disgiunte. +] -// - Il suo *nodo (o link) banale standard* associato detto $hat(K)(cal(U), p)$ è definito come segue: si prende il primo punto di partenza direzionato e si inizia a percorrere l'ombra planare in quella direzione e si rende ogni incrocio un sopra-incrocio quando ci si passa sopra per la prima volta. +#definition[ + Un diagramma $K$ è una *somma connessa* se appare come due diagrammi disgiunti connessi da due archi paralleli (a meno di isotopie planari). Tagliando questi due archi e riunendo insieme le estremità dello stesso sotto-diagramma otteniamo un nuovo diagramma split della forma $tilde(K) = K_1 union.sq K_2$, in questo caso chiamiamo la somma connessa $K = K_1 hash K_2$. +] -// #figure( -// image( -// "assets/standard-unlink-construction.png", -// width: 12cm, -// ), -// caption: [ -// Un link con tre componenti e punti di partenza direzionati $p_1, p_2, p_3$, poniamo $overline(p) = (p_1, p_2, p_3)$. In $hat(L)(cal(U), overline(p))$ sono evidenziati in #box(radius: 3pt, outset: (y: 3pt), inset: (x: 2pt), fill: rgb("#91cdff"))[azzurro] gli incroci \ scambiati rispetto al link $L$. -// ], -// ) +#proposition[ + Valgono le seguenti relazioni di $L$ ed $F$ per diagrammi split o in somma connessa + + #{ + set align(center) + grid( + rows: 2, + columns: 2, + column-gutter: 2em, + row-gutter: 1em, + $L(K_1 union.sq K_2) = delta L(K_1) L(K_2)$, + $F(K_1 union.sq K_2) = delta F(K_1) F(K_2)$, + $L(K_1 hash K_2) = L(K_1) L(K_2)$, + $F(K_1 hash K_2) = F(K_1) F(K_2)$, + ) + } + + dove $delta = (a + a^(-1)) slash z - 1$ ed è lo stesso coefficiente che abbiamo trovato nell'esempio precedente. +] +== Dimostrazione Forma Induttiva -// - Sia $K$ un link, $lambda = (lambda_n, dots, lambda_0)$ una sequenza di etichette di incroci allora poniamo +Prima di passare a descrivere la definizione induttiva diamo alcune definizioni di manipolazioni di un diagramma. -// $ -// A_i^lambda = E_lambda_i S_lambda_(i-1) dots.c space S_lambda_0 -// #h(2em) -// B_i^lambda = e_lambda_i S_lambda_(i-1) dots.c space S_lambda_0 -// $ +#definition[ + Sia $K$ un diagramma, $cal(U)$ la sua ombra planare#footnote[Ovvero per $K subset bb(R)^3$ poniamo $U colon.eq pi(K) subset bb(R)^2$] e $p in cal(U)$ un punto di partenza direzionato in $cal(U)$. +] -// notiamo che per $i=0$ abbiamo che $A_0^lambda K = E_lambda_0 K$ e $B_0^lambda K = e_lambda_0 K$ che è l'unico caso degenere per questa definizione. +- Il suo *nodo (o link) banale standard* associato detto $hat(K)(cal(U), p)$ è definito come segue: si prende il primo punto di partenza direzionato e si inizia a percorrere l'ombra planare in quella direzione e si rende ogni incrocio un sopra-incrocio quando ci si passa sopra per la prima volta. -// - #todo[Operazione compatta $sum_K (lambda)$] + #figure( + image("assets/standard-unlink-construction.png", width: 12cm), + caption: [ + Un link con tre componenti e punti di partenza direzionati $p_1, p_2, p_3$, poniamo $overline(p) = (p_1, p_2, p_3)$. In $hat(L)(cal(U), overline(p))$ sono evidenziati in #box(radius: 3pt, outset: (y: 3pt), inset: (x: 2pt), fill: rgb("#91cdff"))[azzurro] gli incroci \ scambiati rispetto al link $L$. + ], + ) -// L'idea per la definizione induttiva è di considerare dato un nodo o un link $K$ il suo nodo o link discendente standard $hat(K)$. Questo induce una sequenza di indici $lambda$ che indichiamo con $0, dots, n$. Se la applichiamo incrementalmente a $K$ otteniamo le seguenti relazioni +- Sia $K$ un link, $lambda = (lambda_n, dots, lambda_0)$ una sequenza di etichette di incroci allora poniamo -// $ -// L_K + L_(S_0 K) = z( L_(E_0 K) + L_(e_0 K) ) \ -// L_(S_0 K) + L_(S_1 S_0 K) = z( L_(E_0 S_0 K) + L_(e_0 S_0 K) ) \ -// dots.v \ -// L_(S_(n-1) dots S_0 K) + L_(hat(K)) = z (L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K)) -// $ + $ + A_i^lambda = E_lambda_i S_lambda_(i-1) dots.c space S_lambda_0 + #h(2em) + B_i^lambda = e_lambda_i S_lambda_(i-1) dots.c space S_lambda_0 + $ -// se ora sommiamo e sottraiamo membro a membro otteniamo la seguente identità + notiamo che per $i=0$ abbiamo che $A_0^lambda K = E_lambda_0 K$ e $B_0^lambda K = e_lambda_0 K$ che è l'unico caso degenere per questa definizione. + +- #todo[Operazione compatta $sum_K (lambda)$] + +L'idea per la definizione induttiva è di considerare dato un nodo o un link $K$ il suo nodo o link discendente standard $hat(K)$. Questo induce una sequenza di indici $lambda$ che indichiamo con $0, dots, n$. Se la applichiamo incrementalmente a $K$ otteniamo le seguenti relazioni + +$ + L_K + L_(S_0 K) = z( L_(E_0 K) + L_(e_0 K) ) \ + L_(S_0 K) + L_(S_1 S_0 K) = z( L_(E_0 S_0 K) + L_(e_0 S_0 K) ) \ + dots.v \ + L_(S_(n-1) dots S_0 K) + L_(hat(K)) = z (L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K)) +$ + +se ora sommiamo e sottraiamo membro a membro otteniamo la seguente identità + +#context block(width: page.width, grid( + columns: 3, + column-gutter: 2em, + row-gutter: 1em, + $L_K + L_(S_0 K)$, + [], + $z( L_(E_0 K) + L_(e_0 K) )$, + $-(L_(S_0 K) + L_(S_1 S_0 K))$, + [], + $-z( L_(E_0 S_0 K) + L_(e_0 S_0 K) )$, + $dots.v$, + $=$, + $dots.v$, + $+(-1)^n (L_(S_(n-1) dots S_0 K) + L_(hat(K)))$, + [], + $+(-1)^n (z (L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K)))$, +)) -// #context block(width: page.width, grid( -// columns: 3, -// column-gutter: 2em, -// row-gutter: 1em, -// $L_K + L_(S_0 K)$, [], $z( L_(E_0 K) + L_(e_0 K) )$, -// $-(L_(S_0 K) + L_(S_1 S_0 K))$, [], $-z( L_(E_0 S_0 K) + L_(e_0 S_0 K) )$, -// $dots.v$, $=$, $dots.v$, -// $+(-1)^n (L_(S_(n-1) dots S_0 K) + L_(hat(K)))$, -// [], -// $+(-1)^n (z (L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K)))$, -// )) +notiamo che possiamo cancellare tutti i termini del membro di sinistra che compaiono due volte con segno opposto + +#context block(width: page.width, grid( + columns: 3, + column-gutter: 2em, + row-gutter: 1em, + $L_K + cancel(L_(S_0 K))$, + [], + $z( L_(E_0 K) + L_(e_0 K) )$, + $-(cancel(L_(S_0 K)) + cancel(L_(S_1 S_0 K)))$, + [], + $-z( L_(E_0 S_0 K) + L_(e_0 S_0 K) )$, + $dots.v$, + $=$, + $dots.v$, + $+(-1)^n (cancel(L_(S_(n-1) dots S_0 K)) + L_(hat(K)))$, + [], + $+(-1)^n (z (L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K)))$, +)) -// notiamo che possiamo cancellare tutti i termini del membro di sinistra che compaiono due volte con segno opposto +Da cui otteniamo un'espressione per $L_K$, inoltre posto $lambda = (0, dots, n)$ -// #context block(width: page.width, grid( -// columns: 3, -// column-gutter: 2em, -// row-gutter: 1em, -// $L_K + cancel(L_(S_0 K))$, [], $z( L_(E_0 K) + L_(e_0 K) )$, -// $-(cancel(L_(S_0 K)) + cancel(L_(S_1 S_0 K)))$, [], $-z( L_(E_0 S_0 K) + L_(e_0 S_0 K) )$, -// $dots.v$, $=$, $dots.v$, -// $+(-1)^n (cancel(L_(S_(n-1) dots S_0 K)) + L_(hat(K)))$, -// [], -// $+(-1)^n (z (L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K)))$, -// )) +#align(center, block(width: 15cm, [ + #set align(center) -// Da cui otteniamo un'espressione per $L_K$, inoltre posto $lambda = (0, dots, n)$ + $ + => + L_K & = + (-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i ( + L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K) + ) \ + & = + (-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i ( + L_(A_n^lambda K) + L_(B_n^lambda K) + ) + $ -// #align(center, block(width: 15cm, [ -// #set align(center) +])) -// $ -// => -// L_K & = -// (-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i ( -// L_(E_n S_(n-1) dots S_0 K) + L_(e_n S_(n-1) dots S_0 K) -// ) \ -// & = -// (-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i ( -// L_(A_n^lambda K) + L_(B_n^lambda K) -// ) -// $ +Questo ci dà un'idea su come sia possibile calcolare induttivamente $L_K$ in termini di $L_hat(K)$ e di altri diagrammi con meno incroci del diagramma di partenza. -// ])) +Affinché sia sempre possibile raggiungere un nodo in forma di nodo banale standard serve aggiungere la seguente relazione quando $K = K_1 union.sq K_2$ con $K_1$ sovrastante $K_2$. -// Questo ci dà un'idea su come sia possibile calcolare induttivamente $L_K$ in termini di $L_hat(K)$ e di altri diagrammi con meno incroci del diagramma di partenza. +$ + L_(K_1 union.sq K_2) = delta L_(K_1) L_(K_2) +$ -// Affinché sia sempre possibile raggiungere un nodo in forma di nodo banale standard serve aggiungere la seguente relazione quando $K = K_1 union.sq K_2$ con $K_1$ sovrastante $K_2$. +sempre con $delta = (a + a^(-1)) slash z - 1$. -// $ -// L_(K_1 union.sq K_2) = delta L_(K_1) L_(K_2) -// $ +// Closed form algorithm -// sempre con $delta = (a + a^(-1)) slash z - 1$. +#definition(name: [Forma chiusa per $kL_K$])[ + Il polinomio $kL_(K)(a,z)$ è definito induttivamente come segue, abbiamo i seguenti casi: +] -// // Closed form algorithm +// la definizione è sotto perché gli enumerate non vanno d'accordo con le figure -// #definition(name: [Forma chiusa per $kL_K$])[ -// Il polinomio $kL_(K)(a,z)$ è definito induttivamente come segue, abbiamo i seguenti casi: -// ] +1. Se $K = hat(K)$ è un _nodo banale standard_ allora $kL_K (a, z) colon.eq a^w(K)$ -// // la definizione è sotto perché gli enumerate non vanno d'accordo con le figure +2. Se $K_1$ è _sovrastante_ $K_2$, sia $d colon.eq (a + a^(-1)) slash z - 1$ e allora -// 1. Se $K = hat(K)$ è un _nodo banale standard_ allora $kL_K (a, z) colon.eq a^w(K)$ + $ + kL(K_1 union.sq K_2) colon.eq d kL(K_1) kL(K_2) + $ -// 2. Se $K_1$ è _sovrastante_ $K_2$, sia $d colon.eq (a + a^(-1)) slash z - 1$ e allora - -// $ -// kL(K_1 union.sq K_2) colon.eq d kL(K_1) kL(K_2) -// $ +3. Se $K = K_1 union.sq dotss union.sq K_n$ -// 3. Se $K = K_1 union.sq dotss union.sq K_n$ + - Se un $K_i$ è _sovrastante_ un'altra componente allora applica (ii). -// - Se un $K_i$ è _sovrastante_ un'altra componente allora applica (ii). + - Se nessun $K_i$ è _sovrastante_ tutti gli altri, siano $p_1, ..., p_n$ dei punti di partenza direzionati su $K_1, ..., K_n$ e sia $overline(p)_i$ lo stesso punto di partenza direzionato con la direzione opposta di $p_i$ su $K_i$. Sia $lambda(p_i)$ la sequenza di scambi di incroci di $K_i$ con $K - K_i$ tale che $hat(K)(lambda(p_i)) = K_i union.sq (K - K_i)$ tale che $K_i$ sia _sovrastante_ il resto delle componenti. A questo punto possiamo definire $kL_K$ come -// - Se nessun $K_i$ è _sovrastante_ tutti gli altri, siano $p_1, ..., p_n$ dei punti di partenza direzionati su $K_1, ..., K_n$ e sia $overline(p)_i$ lo stesso punto di partenza direzionato con la direzione opposta di $p_i$ su $K_i$. Sia $lambda(p_i)$ la sequenza di scambi di incroci di $K_i$ con $K - K_i$ tale che $hat(K)(lambda(p_i)) = K_i union.sq (K - K_i)$ tale che $K_i$ sia _sovrastante_ il resto delle componenti. A questo punto possiamo definire $kL_K$ come + #[ + #set text(size: 11pt) + $ + kL_K (a, z) colon.eq + 1 / (2n) [ + sum_(i=1)^n sum_(q=p_i, overline(p)_i) ((-1)^(|lambda(q)|+1) d kL_(K_i) kL_(K - K_i) + z sum_K (lambda(q))) + ] + $ + ] -// #[ -// #set text(size: 11pt) -// $ -// kL_K (a, z) colon.eq -// 1 / (2n) [ -// sum_(i=1)^n sum_(q=p_i, overline(p)_i) ((-1)^(|lambda(q)|+1) d kL_(K_i) kL_(K - K_i) + z sum_K (lambda(q))) -// ] -// $ -// ] + - Se $K$ è una singola componente allora sia $p$ un punto di partenza direzionato su $K$ e $overline(p)$ quello con direzione opposta. Sia $lambda(p)$ la sequenza di scambi di incroci che lo porta al nodo banale standard $hat(K)$ e definiamo -// - Se $K$ è una singola componente allora sia $p$ un punto di partenza direzionato su $K$ e $overline(p)$ quello con direzione opposta. Sia $lambda(p)$ la sequenza di scambi di incroci che lo porta al nodo banale standard $hat(K)$ e definiamo + #[ + #set text(size: 11pt) -// #[ -// #set text(size: 11pt) - -// $ -// kL_K (a, z) colon.eq -// 1 / 2 [ -// sum_(q = p, overline(p)) ((-1)^(|lambda(q)|+1) kL(hat(K)(lambda(q))) + z sum_K (lambda(q))) -// ] -// $ -// ] + $ + kL_K (a, z) colon.eq + 1 / 2 [ + sum_(q = p, overline(p)) ((-1)^(|lambda(q)|+1) kL(hat(K)(lambda(q))) + z sum_K (lambda(q))) + ] + $ + ]