Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06766ffa0d | ||
|
|
d85de92c2e | ||
|
|
8ad72aa225 | ||
|
|
bbba00592d | ||
|
|
47cf7ae583 | ||
|
|
2e9e072158 | ||
|
|
4b0979893b | ||
|
|
771760632d | ||
|
|
80f015a1ad | ||
|
|
1ef109fcf9 | ||
|
|
a9f262656c |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 40 KiB |
@@ -7,11 +7,14 @@
|
||||
|
||||
#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
|
||||
|
||||
@@ -19,12 +22,14 @@
|
||||
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$.
|
||||
],
|
||||
@@ -78,17 +83,19 @@ 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
|
||||
] <locally-flat>
|
||||
|
||||
#grid(columns: (1fr, 1fr), gutter: 1em, align: center + horizon, grid(
|
||||
columns: 3,
|
||||
#grid(
|
||||
columns: (1fr, 1fr),
|
||||
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 + 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)),
|
||||
)
|
||||
|
||||
inoltre $f$ si dice embedding *localmente piatto* se lo è in ogni punto di $X$.
|
||||
|
||||
@@ -210,9 +217,7 @@ 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.
|
||||
]
|
||||
|
||||
@@ -293,7 +298,7 @@ Questo sarà importante più avanti quando vedremo invarianti come il polinomio
|
||||
#definition[
|
||||
Sia $K$ un diagramma di un nodo, $cal(U)$ la sua ombra planare#footnote[Ovvero per $K subset bb(R)^3$ poniamo $cal(U) colon.eq pi(K) subset bb(R)^2$] e $p in cal(U)$ un punto di partenza direzionato in $cal(U)$.
|
||||
|
||||
Il suo *nodo banale standard* (o in _forma discendente_) associato a $K$ detto $hat(K)(cal(U), p)$ è definito come segue: si prende il 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.
|
||||
Il *nodo banale standard* (o in _forma discendente_) associato a $K$ detto $hat(K)(cal(U), p)$ è definito come segue: si prende il 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.
|
||||
|
||||
Questa definizione si estende anche a diagrammi di link prendendo un insieme di punti base ordinati come mostrato in figura. In particolare questo induce un ordinamento dall'alto verso il basso delle componenti. #h(1fr)
|
||||
|
||||
@@ -452,10 +457,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)$.
|
||||
@@ -471,10 +476,7 @@ Vedremo come questi assiomi definiscono un unico invariante di isotopia regolare
|
||||
|
||||
*Notazione.* Per rendere alcuni calcoli più leggibili, in questo capitolo utilizzeremo in modo intercambiabile le notazioni $L_K, L[K]$ per indicare il polinomio di Kauffman associato ad un certo diagramma.
|
||||
|
||||
#definition(
|
||||
numbered: true,
|
||||
name: [Assiomi di $L_K$],
|
||||
)[
|
||||
#definition(numbered: true, name: [Assiomi di $L_K$])[
|
||||
Sia $K$ un diagramma di un link non orientato, e sia $bb(Z)[a, a^(-1), z, z^(-1)]$ l'anello dei polinomi di Laurent sugli interi nelle variabili $a$ e $z$.
|
||||
|
||||
Allora $L_K in bb(Z)[a, a^(-1), z, z^(-1)]$, e verifica i seguenti assiomi:
|
||||
@@ -561,22 +563,22 @@ $
|
||||
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
|
||||
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 più componenti disgiunte (ovvero $L[K_1 union.sq K_2] = delta L[K_1] L[K_2]$).
|
||||
@@ -589,23 +591,23 @@ $
|
||||
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) ]
|
||||
) \
|
||||
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)
|
||||
) \
|
||||
z (
|
||||
a
|
||||
+
|
||||
a^(-1)
|
||||
) \
|
||||
=>
|
||||
L[ #knot-picture("hopf-0.png", height: 1.75em) ] & =
|
||||
- (a + a^(-1)) z^(-1) + 1 + (a + a^(-1)) z
|
||||
- (a + a^(-1)) z^(-1) + 1 + (a + a^(-1)) z
|
||||
$
|
||||
|
||||
E ad esempio anche del nodo trifoglio:
|
||||
@@ -616,23 +618,23 @@ $
|
||||
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) ]
|
||||
) \
|
||||
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)
|
||||
) \
|
||||
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
|
||||
-(2a + a^(-1)) + (1 + a^(-2)) z + (a + a^(-1)) z^2
|
||||
$
|
||||
|
||||
#definition[
|
||||
@@ -660,10 +662,8 @@ In particolare abbiamo le seguenti identità per i polinomi $L_K$ e $F_K$ in rel
|
||||
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]$,
|
||||
$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]$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -715,10 +715,8 @@ Prima di descrivere la definizione induttiva diamo alcune definizioni per certe
|
||||
},
|
||||
skein.h,
|
||||
skein.v,
|
||||
$K$,
|
||||
$S_i K$,
|
||||
$E_i K$,
|
||||
$e_i K$,
|
||||
|
||||
$K$, $S_i K$, $E_i K$, $e_i K$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -739,8 +737,7 @@ Sia $lambda = (lambda_n, dots, lambda_0)$ una sequenza di etichette di incroci d
|
||||
- Poniamo $hat(K)(lambda) = S_lambda_n dots.c space S_lambda_0 K$ e definiamo le notazioni compatte per le seguenti somme alternate
|
||||
|
||||
$
|
||||
sum_K (lambda) & colon.eq sum_(i=0)^n (-1)^i (L[A_i^lambda K] + L[B_i^lambda K]) \
|
||||
|
||||
sum_K (lambda) & colon.eq sum_(i=0)^n (-1)^i (L[A_i^lambda K] + L[B_i^lambda K]) \
|
||||
Omega_K (lambda) & colon.eq (-1)^(abs(lambda) + 1) L[hat(K)(lambda)] + z sum_K (lambda)
|
||||
$
|
||||
|
||||
@@ -787,9 +784,9 @@ Dato un diagramma di un nodo $K$, l'idea per la costruzione della definizione ri
|
||||
Questo induce una sequenza di indici $lambda$ che indichiamo con $lambda = (0, dots, n)$. Se applichiamo incrementalmente gli scambi a $K$, ovvero consideriamo $S_i dotss S_0 K$ al variare di $i$, ed applichiamo la relazione skein #link(<kauffman-poly-def>)[ii.a)] a questi diagrammi, 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_1 S_0 K] + L[e_1 S_0 K] ) \
|
||||
& space dots.v \
|
||||
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_1 S_0 K] + L[e_1 S_0 K] ) \
|
||||
& space dots.v \
|
||||
L[S_(n-1) dotss S_0 K] + L lr([underbrace(S_n dotss S_0 K, hat(K))], size: #1.125em) &= z (L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K])
|
||||
$
|
||||
|
||||
@@ -803,18 +800,12 @@ Ora, sommando e sottraendo membro a membro queste equazioni otteniamo la seguent
|
||||
column-gutter: 1em,
|
||||
row-gutter: 1em,
|
||||
align: (right, center, left),
|
||||
$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_1 S_0 K] + L[e_1 S_0 K] )$,
|
||||
$dots.v space$,
|
||||
$=$,
|
||||
$space dots.v$,
|
||||
$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_1 S_0 K] + L[e_1 S_0 K] )$,
|
||||
$dots.v space$, $=$, $space dots.v$,
|
||||
$+(-1)^n (L[S_(n-1) dotss S_0 K] + L[hat(K)])$,
|
||||
[],
|
||||
$ +(-1)^n (z (L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K]))$,
|
||||
$+(-1)^n (z (L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K]))$,
|
||||
))
|
||||
}
|
||||
|
||||
@@ -828,15 +819,9 @@ notiamo che possiamo cancellare tutti i termini del membro di sinistra che compa
|
||||
column-gutter: 1em,
|
||||
row-gutter: 1em,
|
||||
align: (right, center, left),
|
||||
$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_1 S_0 K] + L[e_1 S_0 K] )$,
|
||||
$dots.v space$,
|
||||
$=$,
|
||||
$space dots.v$,
|
||||
$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_1 S_0 K] + L[e_1 S_0 K] )$,
|
||||
$dots.v space$, $=$, $space dots.v$,
|
||||
$+(-1)^n (cancel(L[S_(n-1) dotss S_0 K]) + L[hat(K)])$,
|
||||
[],
|
||||
$+(-1)^n (z (L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K]))$,
|
||||
@@ -851,13 +836,13 @@ Da cui otteniamo un'espressione ricorsiva per $L_K$:
|
||||
$
|
||||
=>
|
||||
L_K & =
|
||||
(-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i (
|
||||
L[E_i S_(i-1) dotss S_0 K] + L[e_i S_(i-1) dotss S_0 K]
|
||||
) \
|
||||
(-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i (
|
||||
L[E_i S_(i-1) dotss S_0 K] + L[e_i S_(i-1) dotss S_0 K]
|
||||
) \
|
||||
& =
|
||||
(-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i (
|
||||
L[A_i^lambda K] + L[B_i^lambda K]
|
||||
)
|
||||
(-1)^(n+1) L_(hat(K)) + z sum_(i=0)^n (-1)^i (
|
||||
L[A_i^lambda K] + L[B_i^lambda K]
|
||||
)
|
||||
$ <kauffman-rec-inductive>
|
||||
|
||||
]))
|
||||
@@ -937,10 +922,7 @@ Per prima cosa osserviamo che in ogni termine della definizione induttiva per $L
|
||||
|
||||
Nel corso della dimostrazione tutti gli argomenti per induzione si baseranno sul numero di incroci. Ometteremo i casi base, ovvero i controlli per diagrammi con pochi incroci che fanno partire l'induzione in quanto sono tutte semplici verifiche.
|
||||
|
||||
#definition(
|
||||
numbered: true,
|
||||
name: [L'ipotesi induttiva],
|
||||
)[
|
||||
#definition(numbered: true, name: [L'ipotesi induttiva])[
|
||||
L'ipotesi induttiva che useremo nel corso della dimostrazione è la seguente:
|
||||
|
||||
#set enum(numbering: "a)")
|
||||
@@ -983,17 +965,17 @@ Nel corso della dimostrazione tutti gli argomenti per induzione si baseranno sul
|
||||
ricordiamo ora le definizioni
|
||||
|
||||
$
|
||||
sum_K (lambda) =& sum_(i=0)^n (-1) ( L[A_i^lambda K] + L[B_i^lambda K]) \
|
||||
= & (L[E_0 K] + L[e_0 K]) + \
|
||||
& - ( L[E_1 S_0 K] + L[e_1 S_0 K]) + \
|
||||
& space dots.v \
|
||||
& + (-1)^n ( L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K] )
|
||||
sum_K (lambda) = & sum_(i=0)^n (-1) ( L[A_i^lambda K] + L[B_i^lambda K]) \
|
||||
= & (L[E_0 K] + L[e_0 K]) + \
|
||||
& - ( L[E_1 S_0 K] + L[e_1 S_0 K]) + \
|
||||
& space dots.v \
|
||||
& + (-1)^n ( L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K] )
|
||||
$
|
||||
$
|
||||
sum_K (mu) = & sum_(i=0)^n (-1) (L[A_i^mu K] + L[B_i^mu K]) \
|
||||
= & (L[E_1 K] + L[e_1 K]) + \
|
||||
& - ( L[E_2 S_1 K] + L[e_2 S_1 K]) + \
|
||||
& space dots.v \
|
||||
sum_K (mu) = & sum_(i=0)^n (-1) (L[A_i^mu K] + L[B_i^mu K]) \
|
||||
= & (L[E_1 K] + L[e_1 K]) + \
|
||||
& - ( L[E_2 S_1 K] + L[e_2 S_1 K]) + \
|
||||
& space dots.v \
|
||||
& + (-1)^n ( L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
$
|
||||
|
||||
@@ -1003,48 +985,48 @@ Nel corso della dimostrazione tutti gli argomenti per induzione si baseranno sul
|
||||
set text(size: small-size)
|
||||
|
||||
$
|
||||
& & (L[E_0 K] + L[e_0 K]) + #h(2em) & & & \
|
||||
& & - ( L[E_1 S_0 K] + L[e_1 S_0 K]) + #h(2em) & & & (L[E_1 K] + L[e_1 K]) + \
|
||||
& & + ( L[E_2 S_1 S_0 K] + L[e_2 S_1 S_0 K]) + #h(2em) & & & - ( L[E_2 S_1 K] + L[e_2 S_1 K]) + \
|
||||
& & space dots.v space #h(2em) & & & + ( L[E_3 S_2 S_1 K] + L[e_3 S_2 S_1 K]) + \
|
||||
& & + (-1)^n ( L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K] ) #h(2em) & & & space dots.v \
|
||||
& & #h(2em) & & & + (-1)^n ( L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] ) \
|
||||
& & (L[E_0 K] + L[e_0 K]) + #h(2em) & & & \
|
||||
& & - ( L[E_1 S_0 K] + L[e_1 S_0 K]) + #h(2em) & & & (L[E_1 K] + L[e_1 K]) + \
|
||||
& & + ( L[E_2 S_1 S_0 K] + L[e_2 S_1 S_0 K]) + #h(2em) & & & - ( L[E_2 S_1 K] + L[e_2 S_1 K]) + \
|
||||
& & space dots.v space #h(2em) & & & + ( L[E_3 S_2 S_1 K] + L[e_3 S_2 S_1 K]) + \
|
||||
& & + (-1)^n ( L[E_n S_(n-1) dotss S_0 K] + L[e_n S_(n-1) dotss S_0 K] ) #h(2em) & & & space dots.v \
|
||||
& & #h(2em) & & & + (-1)^n ( L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] ) \
|
||||
$
|
||||
}
|
||||
|
||||
A questo punto per come sono allineate le somme alternate possiamo raggruppare ed otteniamo quanto segue:
|
||||
|
||||
$
|
||||
sum_K (lambda) - sum_K (mu) = + ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- ( & L[E_1 S_0 K] + L[e_1 S_0 K] + L[E_1 K] + L[e_1 K]) + \
|
||||
space dots.v \
|
||||
+(-1)^n ( & L[E_n S_(n-1) dotss S_1 S_0 K ] + L[e_n S_(n-1) dotss S_1 S_0 K ] + \
|
||||
& + L[E_n S_(n-1) dotss S_1 K ] + L[e_n S_(n-1) dotss S_1 K] ) + \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
sum_K (lambda) - sum_K (mu) = + ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- ( & L[E_1 S_0 K] + L[e_1 S_0 K] + L[E_1 K] + L[e_1 K]) + \
|
||||
space dots.v \
|
||||
+(-1)^n ( & L[E_n S_(n-1) dotss S_1 S_0 K ] + L[e_n S_(n-1) dotss S_1 S_0 K ] + \
|
||||
& + L[E_n S_(n-1) dotss S_1 K ] + L[e_n S_(n-1) dotss S_1 K] ) + \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
$
|
||||
|
||||
Permutando i termini di tutte le righe centrali possiamo ottenere una somma di termini della forma $L[blank K] + L[blank S_0 K]$:
|
||||
|
||||
$
|
||||
sum_K (lambda) - sum_K (mu) =
|
||||
+ ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- ( & L[E_1 K] + L[E_1 S_0 K] + L[e_1 K] + L[e_1 S_0 K] ) + \
|
||||
space dots.v \
|
||||
(-1)^n ( & L[E_n S_(n-1) dotss S_1 K ] + L[E_n S_(n-1) dotss S_1 S_0 K ] + \
|
||||
& + L[e_n S_(n-1) dotss S_1 K ] + L[e_n S_(n-1) dotss S_1 S_0 K ] ) \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
+ ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- ( & L[E_1 K] + L[E_1 S_0 K] + L[e_1 K] + L[e_1 S_0 K] ) + \
|
||||
space dots.v \
|
||||
(-1)^n ( & L[E_n S_(n-1) dotss S_1 K ] + L[E_n S_(n-1) dotss S_1 S_0 K ] + \
|
||||
& + L[e_n S_(n-1) dotss S_1 K ] + L[e_n S_(n-1) dotss S_1 S_0 K ] ) \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
$
|
||||
|
||||
Ora ricordiamo l'@observation-seq-ops-commute, per cui operazioni su indici diversi commutano tra loro, quindi possiamo spostare l'operazione $S_0$ in modo che sia applicata per ultima ed otteniamo:
|
||||
|
||||
$
|
||||
sum_K (lambda) - sum_K (mu) =
|
||||
+ ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- ( & L[E_1 K] + L[S_0 E_1 K] + L[e_1 K] + L[S_0 e_1 K] ) + \
|
||||
space dots.v \
|
||||
(-1)^n ( & L[E_n S_(n-1) dotss S_1 K ] + L[S_0 E_n S_(n-1) dotss S_1 K ] + \
|
||||
& + L[e_n S_(n-1) dotss S_1 K ] + L[S_0 e_n S_(n-1) dotss S_1 K ] ) \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
+ ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- ( & L[E_1 K] + L[S_0 E_1 K] + L[e_1 K] + L[S_0 e_1 K] ) + \
|
||||
space dots.v \
|
||||
(-1)^n ( & L[E_n S_(n-1) dotss S_1 K ] + L[S_0 E_n S_(n-1) dotss S_1 K ] + \
|
||||
& + L[e_n S_(n-1) dotss S_1 K ] + L[S_0 e_n S_(n-1) dotss S_1 K ] ) \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
$
|
||||
|
||||
A questo punto notiamo che tutti i diagrammi $E_i S_(i-1) dotss S_1 K$ e $e_i S_(i-1) dotss S_1 K$ per $i = 1, dots, n$ hanno applicato uno splice, quindi hanno strettamente meno incroci di $K$. Possiamo dunque applicare l'ipotesi induttiva e sostituire tutti i termini nella forma:
|
||||
@@ -1055,56 +1037,64 @@ Nel corso della dimostrazione tutti gli argomenti per induzione si baseranno sul
|
||||
|
||||
$
|
||||
=> sum_K (lambda) - sum_K (mu) =
|
||||
+ ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- z( & L[E_0 E_1 K] + L[e_0 E_1 K] + L[E_0 e_1 K] + L[e_0 e_1 K] ) + \
|
||||
space dots.v \
|
||||
(-1)^n z ( & L[E_0 E_n S_(n-1) dotss S_1 K ] + L[e_0 E_n S_(n-1) dotss S_1 K ] + \
|
||||
& + L[E_0 e_n S_(n-1) dotss S_1 K ] + L[e_0 e_n S_(n-1) dotss S_1 K ] ) \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
+ ( & L[E_0 K] + L[e_0 K]) + \
|
||||
- z( & L[E_0 E_1 K] + L[e_0 E_1 K] + L[E_0 e_1 K] + L[e_0 e_1 K] ) + \
|
||||
space dots.v \
|
||||
(-1)^n z ( & L[E_0 E_n S_(n-1) dotss S_1 K ] + L[e_0 E_n S_(n-1) dotss S_1 K ] + \
|
||||
& + L[E_0 e_n S_(n-1) dotss S_1 K ] + L[e_0 e_n S_(n-1) dotss S_1 K ] ) \
|
||||
+ (-1)^(n+1) ( & L[E_0 S_n dotss S_1 K] + L[e_0 S_n dotss S_1 K] )
|
||||
$
|
||||
|
||||
Riordiniamo ora le operazioni in modo da avere $E_0$ e $e_0$ applicate per prime nelle sequenze di operazioni:
|
||||
|
||||
#let hl(c: color.mix((white, 100%), (black, 10%)), content) = box(radius: 2pt, outset: (y: 3pt, x: 1pt), fill: c, content)
|
||||
#let hl(c: color.mix((white, 100%), (black, 10%)), content) = box(
|
||||
radius: 2pt,
|
||||
outset: (y: 3pt, x: 1pt),
|
||||
fill: c,
|
||||
content,
|
||||
)
|
||||
|
||||
$
|
||||
= + ( & L[#hl($E_0 K$)] + L[#hl($e_0 K$)]) + \
|
||||
- z( & L[ E_1 #hl($E_0 K$)] + L[ E_1 #hl($e_0 K$)] + L[ e_1 #hl($E_0 K$)] + L[ e_1 #hl($e_0 K$)] ) + \
|
||||
space dots.v \
|
||||
(-1)^n z ( & L[ E_n S_(n-1) dotss S_1 #hl($E_0 K$) ] + L[ E_n S_(n-1) dotss S_1 #hl($e_0 K$) ] + \
|
||||
& + L[ e_n S_(n-1) dotss S_1 #hl($E_0 K$) ] + L[ e_n S_(n-1) dotss S_1 #hl($e_0 K$) ] ) \
|
||||
+ (-1)^(n+1) ( & L[ S_n dotss S_1 #hl($E_0 K$)] + L[ S_n dotss S_1 #hl($e_0 K$)] )
|
||||
= + ( & L[#hl($E_0 K$)] + L[#hl($e_0 K$)]) + \
|
||||
- z( & L[ E_1 #hl($E_0 K$)] + L[ E_1 #hl($e_0 K$)] + L[ e_1 #hl($E_0 K$)] + L[ e_1 #hl($e_0 K$)] ) + \
|
||||
space dots.v \
|
||||
(-1)^n z ( & L[ E_n S_(n-1) dotss S_1 #hl($E_0 K$) ] + L[ E_n S_(n-1) dotss S_1 #hl($e_0 K$) ] + \
|
||||
& + L[ e_n S_(n-1) dotss S_1 #hl($E_0 K$) ] + L[ e_n S_(n-1) dotss S_1 #hl($e_0 K$) ] ) \
|
||||
+ (-1)^(n+1) ( & L[ S_n dotss S_1 #hl($E_0 K$)] + L[ S_n dotss S_1 #hl($e_0 K$)] )
|
||||
$
|
||||
|
||||
Ora distribuiamo e riorganizziamo tutti i termini in modo da avere prima quelli che riguardano $E_0 K$ e poi tutti quelli per $e_0 K$ ed otteniamo quanto segue:
|
||||
|
||||
$
|
||||
= L[ #hl($E_0 K$)] &+ (-1)^(n+1) L[S_n dotss S_1 #hl($E_0 K$)] + \
|
||||
- z lr(size: #1.5em, ( ( & L[E_1 #hl($E_0 K$)] + L[e_1 #hl($E_0 K$)])+ \
|
||||
- ( & L[E_2 S_1 #hl($E_0 K$)] + L[e_2 S_1 #hl($E_0 K$)]) +\
|
||||
& space dots.v \
|
||||
+( -1)^n ( & L[E_n S_(n-1) dots S_1 #hl($E_0 K$)] + L[e_n S_(n-1) dots S_1 #hl($E_0 K$)]))) \
|
||||
+ L[ #hl($e_0 K$)] &+ (-1)^(n+1) L[S_n dotss S_1 #hl($e_0 K$)] + \
|
||||
- z lr(size: #1.5em, ( ( & L[E_1 #hl($e_0 K$)] + L[e_1 #hl($e_0 K$)])+ \
|
||||
- ( & L[E_2 S_1 #hl($e_0 K$)] + L[e_2 S_1 #hl($e_0 K$)]) +\
|
||||
& space dots.v \
|
||||
+( -1)^n ( & L[E_n S_(n-1) dots S_1 #hl($e_0 K$)] + L[e_n S_(n-1) dots S_1 #hl($e_0 K$)])))
|
||||
= L[ #hl($E_0 K$)] & + (-1)^(n+1) L[S_n dotss S_1 #hl($E_0 K$)] + \
|
||||
- z lr(
|
||||
size: #1.5em, ( ( & L[E_1 #hl($E_0 K$)] + L[e_1 #hl($E_0 K$)])+ \
|
||||
- ( & L[E_2 S_1 #hl($E_0 K$)] + L[e_2 S_1 #hl($E_0 K$)]) +\
|
||||
& space dots.v \
|
||||
+( -1)^n ( & L[E_n S_(n-1) dots S_1 #hl($E_0 K$)] + L[e_n S_(n-1) dots S_1 #hl($E_0 K$)]))
|
||||
) \
|
||||
+ L[ #hl($e_0 K$)] & + (-1)^(n+1) L[S_n dotss S_1 #hl($e_0 K$)] + \
|
||||
- z lr(
|
||||
size: #1.5em, ( ( & L[E_1 #hl($e_0 K$)] + L[e_1 #hl($e_0 K$)])+ \
|
||||
- ( & L[E_2 S_1 #hl($e_0 K$)] + L[e_2 S_1 #hl($e_0 K$)]) +\
|
||||
& space dots.v \
|
||||
+( -1)^n ( & L[E_n S_(n-1) dots S_1 #hl($e_0 K$)] + L[e_n S_(n-1) dots S_1 #hl($e_0 K$)]))
|
||||
)
|
||||
$
|
||||
|
||||
Infine osserviamo che i termini dentro le parentesi in $z(#blank)$ sono proprio somme della forma $sum_(E_0 K) (gamma)$ e $sum_(e_0 K) (gamma)$ per $gamma = (n, dots, 1)$, dunque possiamo riscrivere l'espressione precedente come
|
||||
|
||||
$
|
||||
= L[ E_0 K] &+ (-1)^(n+1) L[S_n dotss S_1 E_0 K] - z sum_(E_0 K) (gamma) \
|
||||
+ L[ e_0 K] &+ (-1)^(n+1) L[S_n dotss S_1 e_0 K] - z sum_(e_0 K) (gamma)
|
||||
= L[ E_0 K] & + (-1)^(n+1) L[S_n dotss S_1 E_0 K] - z sum_(E_0 K) (gamma) \
|
||||
+ L[ e_0 K] & + (-1)^(n+1) L[S_n dotss S_1 e_0 K] - z sum_(e_0 K) (gamma)
|
||||
$
|
||||
|
||||
Ora possiamo applicare l'ipotesi induttiva in quanto tutti i diagrammi hanno strettamente meno di $N$ incroci. Applicando l'ipotesi induttiva per $gamma$ e osservando che con la convenzione di Kauffman $abs(gamma) + 1 = (n - 1) + 1 = n$, otteniamo che
|
||||
|
||||
$
|
||||
Omega_K(gamma)
|
||||
&= (-1)^(abs(gamma) + 1) L_(hat(K) (gamma)) + z sum_K (gamma) \
|
||||
&= (-1)^n L_(hat(K) (gamma)) + z sum_K (gamma) \
|
||||
=> -Omega_K(gamma) &= (-1)^(n+1) L_(hat(K) (gamma)) - z sum_K (gamma)
|
||||
Omega_K(gamma) & = (-1)^(abs(gamma) + 1) L_(hat(K) (gamma)) + z sum_K (gamma) \
|
||||
& = (-1)^n L_(hat(K) (gamma)) + z sum_K (gamma) \
|
||||
=> -Omega_K(gamma) & = (-1)^(n+1) L_(hat(K) (gamma)) - z sum_K (gamma)
|
||||
$
|
||||
|
||||
infine sostituendo
|
||||
@@ -1124,8 +1114,8 @@ Nel corso della dimostrazione tutti gli argomenti per induzione si baseranno sul
|
||||
$
|
||||
L_K (a, z) colon.eq
|
||||
1 / (2n) [
|
||||
sum_(i=1)^n sum_(q=p_i, overline(p)_i)
|
||||
((-1)^(abs(lambda(q))+1) delta kL_(K_i) kL_(K - K_i) + z sum_K (lambda(q)))
|
||||
sum_(i=1)^n sum_(q=p_i, overline(p)_i)
|
||||
((-1)^(abs(lambda(q))+1) delta kL_(K_i) kL_(K - K_i) + z sum_K (lambda(q)))
|
||||
]
|
||||
$
|
||||
|
||||
@@ -1163,7 +1153,7 @@ Enunciamo ora il seguente enunciato nel caso di aver definito $L_K$ rispetto ad
|
||||
|
||||
$
|
||||
L_K (a, z) & colon.eq
|
||||
(-1)^(abs(lambda(p))+1) L[hat(K)(lambda(p))] + z sum_K (lambda(p)) \
|
||||
(-1)^(abs(lambda(p))+1) L[hat(K)(lambda(p))] + z sum_K (lambda(p)) \
|
||||
& = z (L[E_i K] + L[e_i K]) - L[S_i K]
|
||||
$
|
||||
|
||||
@@ -1224,15 +1214,15 @@ Per una dimostrazione di questo fatto si rimanda a @lickorish1997introduction[pa
|
||||
|
||||
#figure(
|
||||
//
|
||||
grid(gutter: 0.5em, image("assets/splices-with-untying-function.png", width: 11cm), grid(
|
||||
//
|
||||
columns: (1.5em, 1fr, 1fr, 1fr, 2em),
|
||||
[],
|
||||
$hat(K)$,
|
||||
$E_i hat(K)$,
|
||||
$e_i hat(K)$,
|
||||
[],
|
||||
)),
|
||||
grid(
|
||||
gutter: 0.5em,
|
||||
image("assets/splices-with-untying-function.png", width: 11cm),
|
||||
grid(
|
||||
//
|
||||
columns: (1.5em, 1fr, 1fr, 1fr, 2em),
|
||||
[], $hat(K)$, $E_i hat(K)$, $e_i hat(K)$, [],
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
Osserviamo che passeremo prima dalla componente $K_2^*$ in verso opposto, questa parte sarà quindi in forma ascendente. Al secondo incontro dello splice dell'incrocio $i$, torneremo sulla componente $K_1$ che percorreremo nel verso originale che sarà quindi in forma discendente.
|
||||
@@ -1316,8 +1306,8 @@ $
|
||||
column-gutter: 2em,
|
||||
image("assets/derived/atlas-crossing-slides-0.png", width: 2.25cm),
|
||||
image("assets/derived/atlas-crossing-slides-3.png", width: 2.25cm),
|
||||
$hat(K)(cal(U), p)$,
|
||||
$hat(K)(cal(U), q)$,
|
||||
|
||||
$hat(K)(cal(U), p)$, $hat(K)(cal(U), q)$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1336,17 +1326,17 @@ $
|
||||
Siano ora $w_1$ e $w_2$ i writhe rispettivamente di $K_1$ e $K_2$. Per il teorema della curva di Jordan, la somma dei segni degli incroci tra componenti diverse ha somma zero poiché una delle due _sovrasta_ l'altra. Segue che $w_1 + w_2 = w$. Ricapitoliamo ora tutti i termini:
|
||||
|
||||
$
|
||||
L[hat(K)] &= a^(w+1) \
|
||||
L[S_i hat(K)] &= a^(w-1) \
|
||||
L[e_i hat(K)] &= a^w \
|
||||
L[E_i hat(K)] &= delta a^(w_1) a^(w_2) = delta a^(w_1 + w_2) = delta a^w = (a^(w+1) + a^(w-1)) slash z - a^w
|
||||
L[hat(K)] & = a^(w+1) \
|
||||
L[S_i hat(K)] & = a^(w-1) \
|
||||
L[e_i hat(K)] & = a^w \
|
||||
L[E_i hat(K)] & = delta a^(w_1) a^(w_2) = delta a^(w_1 + w_2) = delta a^w = (a^(w+1) + a^(w-1)) slash z - a^w
|
||||
$
|
||||
|
||||
che verifica l'identità infatti:
|
||||
|
||||
$
|
||||
a^(w+1) + a^(w-1) &= cancel(z) ((a^(w+1) + a^(w-1))/cancel(z) - cancel(a^w) + cancel(a^w)) \
|
||||
=> L[hat(K)] + L[hat(K)'] &= z (L[E_i hat(K)] + L[e_i hat(K)]) \
|
||||
a^(w+1) + a^(w-1) & = cancel(z) ((a^(w+1) + a^(w-1))/cancel(z) - cancel(a^w) + cancel(a^w)) \
|
||||
=> L[hat(K)] + L[hat(K)'] & = z (L[E_i hat(K)] + L[e_i hat(K)]) \
|
||||
$
|
||||
|
||||
E questo conclude la dimostrazione delle due proprietà.
|
||||
@@ -1374,11 +1364,11 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
Ricordiamo come era definito $L_K$ nel caso @kauffman-rec-single-component e notiamo quanto segue
|
||||
|
||||
$
|
||||
L_K (a, z) &colon.eq 1 / 2 [
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(abs(lambda(q))+1) L_(hat(K)(q)) + z sum_K (lambda(q)))
|
||||
] \
|
||||
&= 1/2 (Omega_K (p) + Omega_K (overline(p)))
|
||||
L_K (a, z) & colon.eq 1 / 2 [
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(abs(lambda(q))+1) L_(hat(K)(q)) + z sum_K (lambda(q)))
|
||||
] \
|
||||
& = 1/2 (Omega_K (p) + Omega_K (overline(p)))
|
||||
$
|
||||
|
||||
Dunque ci basta mostrare che $Omega_K (p)$ non dipenda dalla scelta di punto base.
|
||||
@@ -1401,9 +1391,8 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
oppure
|
||||
],
|
||||
image("assets/derived/atlas-crossing-slides-0.png", width: 2.25cm),
|
||||
$K(p)$,
|
||||
[],
|
||||
$K(p)$,
|
||||
|
||||
$K(p)$, [], $K(p)$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1418,8 +1407,8 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
column-gutter: 2em,
|
||||
image("assets/derived/atlas-crossing-slides-1.png", width: 2.25cm),
|
||||
image("assets/derived/atlas-crossing-slides-0.png", width: 2.25cm),
|
||||
$K(p)$,
|
||||
$hat(K)(p)$,
|
||||
|
||||
$K(p)$, $hat(K)(p)$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1434,26 +1423,26 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
column-gutter: 2em,
|
||||
image("assets/derived/atlas-crossing-slides-3.png", width: 2.25cm),
|
||||
image("assets/derived/atlas-crossing-slides-3.png", width: 2.25cm),
|
||||
$K(q)$,
|
||||
$hat(K)(q)$,
|
||||
|
||||
$K(q)$, $hat(K)(q)$,
|
||||
)
|
||||
}
|
||||
|
||||
come già detto prima, l'ultimo incrocio vicino ad esso è un sotto-incrocio dunque $K(q)$ è già in forma di nodo banale standard. Segue che $i$ non appartiene alla sequenza di scambi che sarà $(n-1, dots, 0)$ e quindi $hat(K)(q) = S_(n-1) dotss S_0 K$. Vorremo vedere che $Omega_K (p) = Omega_K (q)$, ovvero che queste due espressioni coincidano:
|
||||
|
||||
$
|
||||
Omega_K (p) &= (-1)^(n+1) L[hat(K)(p)] + z sum_K (lambda(p)) \
|
||||
Omega_K (q) &= (-1)^((n-1)+1) L[hat(K)(q)] + z sum_K (lambda(q))
|
||||
Omega_K (p) & = (-1)^(n+1) L[hat(K)(p)] + z sum_K (lambda(p)) \
|
||||
Omega_K (q) & = (-1)^((n-1)+1) L[hat(K)(q)] + z sum_K (lambda(q))
|
||||
$
|
||||
|
||||
Come in precedenza possiamo studiare la differenza:
|
||||
|
||||
$
|
||||
Omega_K (p) - Omega_K (q)
|
||||
=& (-1)^(n+1) L[hat(K)(p)] + z sum_K (lambda(p)) \
|
||||
&+ underbrace((-1)^(n+1), = -(-1)^n) L[hat(K)(q)] - z sum_K (lambda(q)) \
|
||||
=& (-1)^(n+1) (L[hat(K)(p)] + L[hat(K)(q)]) \
|
||||
&+ z (-1)^n (L[A_n^lambda K] + L[B_n^lambda K])
|
||||
= & (-1)^(n+1) L[hat(K)(p)] + z sum_K (lambda(p)) \
|
||||
& + underbrace((-1)^(n+1), = -(-1)^n) L[hat(K)(q)] - z sum_K (lambda(q)) \
|
||||
= & (-1)^(n+1) (L[hat(K)(p)] + L[hat(K)(q)]) \
|
||||
& + z (-1)^n (L[A_n^lambda K] + L[B_n^lambda K])
|
||||
$
|
||||
|
||||
qui abbiamo usato il fatto che tutti i termini in $sum_K (lambda(p)) - sum_K (lambda(q))$ si cancellano tra loro tranne l'ultimo di $sum_K (lambda(p))$.
|
||||
@@ -1461,9 +1450,9 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
Ora notiamo che
|
||||
|
||||
$
|
||||
A_n^lambda K &= E_n S_(n-1) dotss S_0 K = E_n hat(K)(p) \
|
||||
B_n^lambda K &= e_n S_(n-1) dotss S_0 K = e_n hat(K)(p) \
|
||||
// hat(K)(q) &= S_n space.med hat(K)(p)
|
||||
A_n^lambda K & = E_n S_(n-1) dotss S_0 K = E_n hat(K)(p) \
|
||||
B_n^lambda K & = e_n S_(n-1) dotss S_0 K = e_n hat(K)(p) \
|
||||
// hat(K)(q) &= S_n space.med hat(K)(p)
|
||||
$
|
||||
|
||||
inoltre per il @lemma-slide-identities abbiamo anche che
|
||||
@@ -1475,11 +1464,11 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
Per concludere basta sostituire queste ultime identità
|
||||
|
||||
$
|
||||
Omega_K (p) - Omega_K (q) =& (-1)^(n+1) (L[hat(K)(p)] + L[hat(K)(q)]) \
|
||||
&+ z (-1)^n (L[A_n^lambda K] + L[B_n^lambda K]) \
|
||||
= & cancel(z (-1)^(n+1) (L[E_n hat(K)(p)] + L[e_n hat(K)(p)])) \
|
||||
&+ cancel(z (-1)^n (L[E_n hat(K)(p)] + L[e_n hat(K)(p)])) \
|
||||
= & 0
|
||||
Omega_K (p) - Omega_K (q) = & (-1)^(n+1) (L[hat(K)(p)] + L[hat(K)(q)]) \
|
||||
& + z (-1)^n (L[A_n^lambda K] + L[B_n^lambda K]) \
|
||||
= & cancel(z (-1)^(n+1) (L[E_n hat(K)(p)] + L[e_n hat(K)(p)])) \
|
||||
& + cancel(z (-1)^n (L[E_n hat(K)(p)] + L[e_n hat(K)(p)])) \
|
||||
= & 0
|
||||
$
|
||||
|
||||
Segue quindi che $Omega_K (p) = Omega_K (q)$.
|
||||
@@ -1494,8 +1483,8 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
column-gutter: 2em,
|
||||
image("assets/derived/atlas-crossing-slides-0.png", width: 2.25cm),
|
||||
image("assets/derived/atlas-crossing-slides-0.png", width: 2.25cm),
|
||||
$K(p)$,
|
||||
$hat(K)(p)$,
|
||||
|
||||
$K(p)$, $hat(K)(p)$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1509,23 +1498,23 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
column-gutter: 2em,
|
||||
image("assets/derived/atlas-crossing-slides-2.png", width: 2.25cm),
|
||||
image("assets/derived/atlas-crossing-slides-3.png", width: 2.25cm),
|
||||
$K(q)$,
|
||||
$hat(K)(q)$,
|
||||
|
||||
$K(q)$, $hat(K)(q)$,
|
||||
)
|
||||
}
|
||||
|
||||
Questa volta $i$ fa parte della sequenza di scambi per $K(q)$ poiché $i$ compare come ultimo incrocio nella visita e quindi in $hat(K)(q)$ sarà un sotto-incrocio. La situazione è più complessa di prima, $i$ comparirà come sopra-incrocio in mezzo alla sequenza di scambi. Avremo quindi le seguenti sequenze per $p$ e per $q$:
|
||||
|
||||
$
|
||||
lambda(p) &= (n, n-1, dots, i+1, i-1, dots, 1, 0) \
|
||||
lambda(q) &= (n, n-1, dots, i+1, i, i-1, dots, 1, 0) \
|
||||
lambda(p) & = (n, n-1, dots, i+1, i-1, dots, 1, 0) \
|
||||
lambda(q) & = (n, n-1, dots, i+1, i, i-1, dots, 1, 0) \
|
||||
$
|
||||
|
||||
Se ora consideriamo gli scambi da applicare che ci portano a $hat(K)(p)$ e $hat(K)(q)$ abbiamo che
|
||||
|
||||
$
|
||||
hat(K)(p) &= S_n S_(n-1) space.med dots.c space S_(i+1) S_(i-1) space.med dots.c space S_0 K \
|
||||
hat(K)(q) &= S_n S_(n-1) space.med dots.c space S_(i+1) S_i S_(i-1) space.med dots.c space S_0 K \
|
||||
hat(K)(p) & = S_n S_(n-1) space.med dots.c space S_(i+1) S_(i-1) space.med dots.c space S_0 K \
|
||||
hat(K)(q) & = S_n S_(n-1) space.med dots.c space S_(i+1) S_i S_(i-1) space.med dots.c space S_0 K \
|
||||
$
|
||||
|
||||
Dunque riordinando gli scambi ed applicando $S_i$ per ultimo, possiamo notare che $S_i hat(K)(q) = hat(K)(p)$.
|
||||
@@ -1533,8 +1522,8 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$.
|
||||
Con un argomento simile a quello del @lemma-slide-identities, possiamo applicare l'enunciato alla coppia $hat(K)(p), hat(K)(q)$ per l'indice $i$ anche se in questo caso l'indice $i$ è il primo _subito prima_ di $q$. Inoltre per il @lemma-sum-switches-rotation abbiamo che $sum_K (p), sum_K (q)$ sono invarianti a meno di permutazioni cicliche. Possiamo quindi sostituire $lambda(p)$ e $lambda(q)$ con le seguenti sequenze di scambi applicando le giuste rotazioni all'indietro.
|
||||
|
||||
$
|
||||
lambda'(p) &= (i-1, dots, 1, 0, n, n-1, dots, i+1) \
|
||||
lambda'(q) &= (i, i-1, dots, 1, 0, n, n-1, dots, i+1)
|
||||
lambda'(p) & = (i-1, dots, 1, 0, n, n-1, dots, i+1) \
|
||||
lambda'(q) & = (i, i-1, dots, 1, 0, n, n-1, dots, i+1)
|
||||
$
|
||||
|
||||
A questo punto possiamo applicare lo stesso argomento del punto precedente.
|
||||
@@ -1560,22 +1549,20 @@ A questo punto possiamo vedere che $L_K$ verifica gli assiomi della @kauffman-po
|
||||
- Se $K$ ha una sola componente ed un incrocio $i$: consideriamo $S_i K$, $E_i K$ e $e_i K$; scegliendo bene $p$ possiamo fare in modo che $i$ sia il primo incrocio nella sequenza di scambi. Ora consideriamo l'espressione del caso @kauffman-rec-single-component, con una singola componente:
|
||||
|
||||
$
|
||||
L_K (a, z) &colon.eq
|
||||
1 / 2
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(abs(lambda(q))+1) L[hat(K)(lambda(q))] + z sum_K (lambda(q)))
|
||||
\
|
||||
&= 1 / 2
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(n+1) L[hat(K)(q)] + z sum_K (lambda(q)))
|
||||
L_K (a, z) & colon.eq
|
||||
1 / 2
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(abs(lambda(q))+1) L[hat(K)(lambda(q))] + z sum_K (lambda(q))) \
|
||||
& = 1 / 2
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(n+1) L[hat(K)(q)] + z sum_K (lambda(q)))
|
||||
$
|
||||
|
||||
Ricordiamo le definizioni dei termini $Omega_K (p)$ e $sum_K (lambda(q))$:
|
||||
|
||||
$
|
||||
sum_K (lambda(q)) & colon.eq sum_(i=0)^n (-1)^i (L[A_i^lambda K] + L[B_i^lambda K]) \
|
||||
|
||||
Omega_K (q) & colon.eq (-1)^(abs(lambda) + 1) L[hat(K)(lambda)] + z sum_K (lambda)
|
||||
sum_K (lambda(q)) & colon.eq sum_(i=0)^n (-1)^i (L[A_i^lambda K] + L[B_i^lambda K]) \
|
||||
Omega_K (q) & colon.eq (-1)^(abs(lambda) + 1) L[hat(K)(lambda)] + z sum_K (lambda)
|
||||
$
|
||||
|
||||
La tesi segue considerando la differenza nelle espansioni di $Omega_K (p)$ e $Omega_(S_i K) (p)$, in particolare tutti i termini si cancellano tranne il primo:
|
||||
@@ -1593,8 +1580,8 @@ A questo punto possiamo vedere che $L_K$ verifica gli assiomi della @kauffman-po
|
||||
$
|
||||
L_K (a, z) colon.eq
|
||||
1 / (2n) [
|
||||
sum_(i=1)^n sum_(q=p_i, overline(p)_i)
|
||||
((-1)^(abs(lambda(q))+1) delta kL_(K_i) kL_(K - K_i) + z sum_K (lambda(q)))
|
||||
sum_(i=1)^n sum_(q=p_i, overline(p)_i)
|
||||
((-1)^(abs(lambda(q))+1) delta kL_(K_i) kL_(K - K_i) + z sum_K (lambda(q)))
|
||||
]
|
||||
$
|
||||
}
|
||||
@@ -1632,8 +1619,8 @@ Come ultimo risultato vediamo che $L_K$ è un invariante di isotopia regolare.
|
||||
Vorremo vedere che vale $L[K] = L[S_2 S_1 K]$. Consideriamo le seguenti relazioni:
|
||||
|
||||
$
|
||||
L[K] + L[S_1 K] &= z (L[E_1 K] + L[e_1 K]) \
|
||||
L[S_1 K] + L[S_2 S_1 K] &= z (L[E_2 S_1 K] + L[e_2 S_1 K]) \
|
||||
L[K] + L[S_1 K] & = z (L[E_1 K] + L[e_1 K]) \
|
||||
L[S_1 K] + L[S_2 S_1 K] & = z (L[E_2 S_1 K] + L[e_2 S_1 K]) \
|
||||
$ <kauffman-moves-2>
|
||||
|
||||
i diagrammi associati a queste relazioni sono riportati qui sotto, in particolare possiamo notare che ci sono alcune relazioni tra questi:
|
||||
@@ -1650,10 +1637,8 @@ Come ultimo risultato vediamo che $L_K$ è un invariante di isotopia regolare.
|
||||
image("assets/derived/atlas-move-2-K-1.png", width: 1.5cm),
|
||||
image("assets/derived/atlas-move-2-K-2.png", width: 1.5cm),
|
||||
image("assets/derived/atlas-move-2-K-3.png", width: 1.5cm),
|
||||
$K$,
|
||||
$S_1 K$,
|
||||
$E_1 K$,
|
||||
$e_1 K$,
|
||||
|
||||
$K$, $S_1 K$, $E_1 K$, $e_1 K$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1669,10 +1654,8 @@ Come ultimo risultato vediamo che $L_K$ è un invariante di isotopia regolare.
|
||||
image("assets/derived/atlas-move-2-S1K-1.png", width: 1.5cm),
|
||||
image("assets/derived/atlas-move-2-S1K-2.png", width: 1.5cm),
|
||||
image("assets/derived/atlas-move-2-S1K-3.png", width: 1.5cm),
|
||||
$S_1 K$,
|
||||
$S_2 S_1 K$,
|
||||
$E_2 S_1 K$,
|
||||
$e_2 S_1 K$,
|
||||
|
||||
$S_1 K$, $S_2 S_1 K$, $E_2 S_1 K$, $e_2 S_1 K$,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1691,8 +1674,8 @@ Come ultimo risultato vediamo che $L_K$ è un invariante di isotopia regolare.
|
||||
#h(8.1em)
|
||||
#image("assets/derived/atlas-move-2-S1K-2.png", width: 1.25cm)
|
||||
$,
|
||||
$L[e_1 K] = L[e_2 S_1 K]$,
|
||||
$L[E_1 K] = a^(-1) L[#skein.h] = L[E_2 S_1 K]$,
|
||||
|
||||
$L[e_1 K] = L[e_2 S_1 K]$, $L[E_1 K] = a^(-1) L[#skein.h] = L[E_2 S_1 K]$,
|
||||
)
|
||||
|
||||
Dunque i due membri di destra di $(3)$ coincidono ed abbiamo quanto cercato:
|
||||
@@ -1720,9 +1703,9 @@ Come ultimo risultato vediamo che $L_K$ è un invariante di isotopia regolare.
|
||||
In questo modo due dei tre incroci non compariranno nella sequenza di scambi, per quanto riguarda l'incrocio rimanente $*$, consideriamo la definizione @kauffman-rec-single-component:
|
||||
|
||||
$
|
||||
L_K (a, z) &colon.eq 1 / 2
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(abs(lambda(q))+1) L_(hat(K)(lambda(q))) + z sum_K (lambda(q)))
|
||||
L_K (a, z) & colon.eq 1 / 2
|
||||
sum_(q = p, overline(p))
|
||||
((-1)^(abs(lambda(q))+1) L_(hat(K)(lambda(q))) + z sum_K (lambda(q)))
|
||||
$
|
||||
|
||||
l'incrocio $*$ può comparire o scambiato, in tal caso sicuramente comparirà dentro la somma $sum_K (lambda(q))$ dove ci sono già degli splice ovvero diagrammi con un incrocio in meno e possiamo applicare l'ipotesi induttiva. Altrimenti siamo nel caso di splice dell'incrocio $i$, ovvero siamo in uno dei seguenti casi:
|
||||
@@ -1751,4 +1734,4 @@ Come ultimo risultato vediamo che $L_K$ è un invariante di isotopia regolare.
|
||||
In questo caso però possiamo applicare un'argomentazione simile a quella della mossa II, possiamo usare $L[K] = L[S_2 S_1 K]$ per semplificare la situazione in modo che non ci siano due incroci consecutivi che appartengano ad una sequenza di rialzo, ed ora procedere come nel caso precedente.
|
||||
|
||||
Abbiamo così mostrato che per ogni diagramma di nodi e link, il polinomio $L_K$ è invariante per mosse di tipo III e mosse di tipo II che riducono il numero di incroci. Dunque è anche invariante per mosse di tipo II in entrambe le direzioni e questo completa la dimostrazione.
|
||||
]
|
||||
]
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
#import "@preview/touying:0.6.1": *
|
||||
|
||||
#let _tblock(self: none, title: none, it) = {
|
||||
grid(columns: 1, row-gutter: 0pt, block(
|
||||
fill: self.colors.primary-dark,
|
||||
width: 100%,
|
||||
radius: (top: 6pt),
|
||||
inset: (top: 0.4em, bottom: 0.3em, left: 0.5em, right: 0.5em),
|
||||
text(fill: self.colors.neutral-lightest, weight: "bold", title),
|
||||
), rect(
|
||||
fill: gradient.linear(self.colors.primary-dark, self.colors.primary.lighten(90%), angle: 90deg),
|
||||
width: 100%,
|
||||
height: 4pt,
|
||||
), block(
|
||||
fill: self.colors.primary.lighten(90%),
|
||||
width: 100%,
|
||||
radius: (bottom: 6pt),
|
||||
inset: (top: 0.4em, bottom: 0.5em, left: 0.5em, right: 0.5em),
|
||||
it,
|
||||
))
|
||||
grid(
|
||||
columns: 1,
|
||||
row-gutter: 0pt,
|
||||
block(
|
||||
fill: self.colors.primary-dark,
|
||||
width: 100%,
|
||||
radius: (top: 6pt),
|
||||
inset: (top: 0.4em, bottom: 0.3em, left: 0.5em, right: 0.5em),
|
||||
text(fill: self.colors.neutral-lightest, weight: "bold", title),
|
||||
),
|
||||
rect(
|
||||
fill: gradient.linear(self.colors.primary-dark, self.colors.primary.lighten(90%), angle: 90deg),
|
||||
width: 100%,
|
||||
height: 4pt,
|
||||
),
|
||||
block(
|
||||
fill: self.colors.primary.lighten(90%),
|
||||
width: 100%,
|
||||
radius: (bottom: 6pt),
|
||||
inset: (top: 0.4em, bottom: 0.5em, left: 0.5em, right: 0.5em),
|
||||
it,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
#let tblock(title: none, it) = touying-fn-wrapper(_tblock.with(title: title, it))
|
||||
@@ -89,7 +95,7 @@
|
||||
// institution
|
||||
if info.institution != none {
|
||||
parbreak()
|
||||
text(size: 0.7em, info.institution)
|
||||
text(size: 0.8em, info.institution)
|
||||
}
|
||||
// date
|
||||
if info.date != none {
|
||||
@@ -100,29 +106,47 @@
|
||||
touying-slide(self: self, body)
|
||||
})
|
||||
|
||||
#let outline-slide(config: (:), title: utils.i18n-outline-title, numbered: true, level: none, ..args) = touying-slide-wrapper(self => {
|
||||
self.store.title = title
|
||||
touying-slide(self: self, config: config, std.align(self.store.align, components.adaptive-columns({
|
||||
text(fill: self.colors.primary, weight: 600, components.custom-progressive-outline(
|
||||
level: level,
|
||||
alpha: self.store.alpha,
|
||||
indent: (0em, 1em),
|
||||
vspace: (.4em,),
|
||||
numbered: (numbered,),
|
||||
depth: 1,
|
||||
..args.named(),
|
||||
))
|
||||
}) + args.pos().sum(default: none)))
|
||||
#let outline-slide(
|
||||
config: (:),
|
||||
title: utils.i18n-outline-title,
|
||||
numbered: true,
|
||||
level: none,
|
||||
..args,
|
||||
) = touying-slide-wrapper(self => {
|
||||
self.store.title = "Indice"
|
||||
touying-slide(self: self, config: config, std.align(
|
||||
self.store.align,
|
||||
components.adaptive-columns({
|
||||
text(fill: self.colors.primary, weight: 600, components.custom-progressive-outline(
|
||||
level: level,
|
||||
alpha: self.store.alpha,
|
||||
indent: (0em, 1em),
|
||||
vspace: (.4em,),
|
||||
numbered: (numbered,),
|
||||
depth: 1,
|
||||
..args.named(),
|
||||
))
|
||||
})
|
||||
+ args.pos().sum(default: none),
|
||||
))
|
||||
})
|
||||
|
||||
#let new-section-slide(config: (:), title: utils.i18n-outline-title, level: 1, numbered: true, ..args, body) = outline-slide(config: config, title: title, level: level, numbered: numbered, ..args, body)
|
||||
#let new-section-slide(
|
||||
config: (:),
|
||||
title: utils.i18n-outline-title,
|
||||
level: 1,
|
||||
numbered: true,
|
||||
..args,
|
||||
body,
|
||||
) = outline-slide(config: config, title: title, level: level, numbered: numbered, ..args, body)
|
||||
|
||||
#let focus-slide(config: (:), align: horizon + center, body) = touying-slide-wrapper(self => {
|
||||
self = utils.merge-dicts(
|
||||
self,
|
||||
config-common(freeze-slide-counter: true),
|
||||
config-page(fill: self.colors.primary, margin: 2em, header: none, footer: none),
|
||||
)
|
||||
self = utils.merge-dicts(self, config-common(freeze-slide-counter: true), config-page(
|
||||
fill: self.colors.primary,
|
||||
margin: 2em,
|
||||
header: none,
|
||||
footer: none,
|
||||
))
|
||||
set text(fill: self.colors.neutral-lightest, weight: "bold", size: 1.5em)
|
||||
touying-slide(self: self, config: config, std.align(align, body))
|
||||
})
|
||||
@@ -131,12 +155,11 @@
|
||||
let content = {
|
||||
set std.align(center + horizon)
|
||||
if title != none {
|
||||
block(
|
||||
fill: self.colors.tertiary,
|
||||
inset: (top: 0.7em, bottom: 0.7em, left: 3em, right: 3em),
|
||||
radius: 0.5em,
|
||||
text(size: 1.5em, fill: self.colors.neutral-lightest, title),
|
||||
)
|
||||
block(fill: self.colors.tertiary, inset: (top: 0.7em, bottom: 0.7em, left: 3em, right: 3em), radius: 0.5em, text(
|
||||
size: 1.5em,
|
||||
fill: self.colors.neutral-lightest,
|
||||
title,
|
||||
))
|
||||
}
|
||||
body
|
||||
}
|
||||
@@ -176,7 +199,11 @@
|
||||
rows: (auto, auto),
|
||||
utils.call-or-display(self, self.store.footer),
|
||||
if self.store.progress-bar {
|
||||
utils.call-or-display(self, components.progress-bar(height: 2pt, self.colors.primary, self.colors.neutral-lightest))
|
||||
utils.call-or-display(self, components.progress-bar(
|
||||
height: 2pt,
|
||||
self.colors.primary,
|
||||
self.colors.neutral-lightest,
|
||||
))
|
||||
},
|
||||
)
|
||||
}
|
||||
@@ -191,26 +218,30 @@
|
||||
margin: (top: 3.5em, bottom: 2.5em, x: 2.5em),
|
||||
),
|
||||
config-common(slide-fn: slide, new-section-slide-fn: new-section-slide),
|
||||
config-methods(init: (self: none, body) => {
|
||||
set text(size: 18pt, font: "Open Sans")
|
||||
set par(leading: 0.75em)
|
||||
set list(marker: {
|
||||
place(top + left, dy: 0.2em, circle(fill: self.colors.primary, radius: 3pt))
|
||||
h(0.25em)
|
||||
})
|
||||
show figure.caption: set text(size: 0.6em)
|
||||
show footnote.entry: set text(size: 0.6em)
|
||||
show heading: set text(fill: self.colors.primary)
|
||||
show link: it => if type(it.dest) == str {
|
||||
set text(fill: self.colors.primary)
|
||||
it
|
||||
} else {
|
||||
it
|
||||
}
|
||||
show figure.where(kind: table): set figure.caption(position: top)
|
||||
config-methods(
|
||||
init: (self: none, body) => {
|
||||
set text(size: 18pt, font: "Open Sans")
|
||||
set par(leading: 0.75em)
|
||||
set list(marker: {
|
||||
place(top + left, dy: 0.2em, circle(fill: self.colors.primary, radius: 3pt))
|
||||
h(0.25em)
|
||||
})
|
||||
show figure.caption: set text(size: 0.6em)
|
||||
show footnote.entry: set text(size: 0.6em)
|
||||
show heading: set text(fill: self.colors.primary)
|
||||
show link: it => if type(it.dest) == str {
|
||||
set text(fill: self.colors.primary)
|
||||
it
|
||||
} else {
|
||||
it
|
||||
}
|
||||
show figure.where(kind: table): set figure.caption(position: top)
|
||||
|
||||
body
|
||||
}, alert: utils.alert-with-primary-color, tblock: _tblock),
|
||||
body
|
||||
},
|
||||
alert: utils.alert-with-primary-color,
|
||||
tblock: _tblock,
|
||||
),
|
||||
config-colors(
|
||||
primary: rgb("#003c71"),
|
||||
primary-dark: rgb("#005baa"),
|
||||
@@ -236,16 +267,14 @@
|
||||
logo: utils.call-or-display(self, self.store.header-right),
|
||||
),
|
||||
header: self => if self.store.title != none {
|
||||
block(
|
||||
width: 100%,
|
||||
height: 2em,
|
||||
fill: self.colors.primary,
|
||||
place(
|
||||
left + horizon,
|
||||
text(fill: self.colors.neutral-lightest, weight: 600, size: 1.2em, utils.call-or-display(self, self.store.title)),
|
||||
dx: 1.5em,
|
||||
),
|
||||
)
|
||||
block(width: 100%, height: 2em, fill: self.colors.primary, place(
|
||||
left + horizon,
|
||||
text(fill: self.colors.neutral-lightest, weight: 600, size: 1.2em, utils.call-or-display(
|
||||
self,
|
||||
self.store.title,
|
||||
)),
|
||||
dx: 1.5em,
|
||||
))
|
||||
},
|
||||
footer: self => {
|
||||
let cell(fill: none, it) = rect(
|
||||
@@ -270,4 +299,4 @@
|
||||
)
|
||||
|
||||
body
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,10 @@
|
||||
import cetz.draw: *
|
||||
|
||||
// draw the white outline
|
||||
set-style(..cetz.styles.resolve((stroke: (paint: white, thickness: size-factor * 0.75pt * 8, cap: "butt")), base: style))
|
||||
set-style(..cetz.styles.resolve(
|
||||
(stroke: (paint: white, thickness: size-factor * 0.75pt * 8, cap: "butt")),
|
||||
base: style,
|
||||
))
|
||||
polyline
|
||||
|
||||
// draw the black line
|
||||
@@ -81,6 +84,49 @@
|
||||
draw-strand({ hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||
}),
|
||||
//
|
||||
// Large
|
||||
//
|
||||
unit-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
|
||||
circle((0, 0), radius: 1, stroke: (paint: black, thickness: 0.75pt))
|
||||
}),
|
||||
over-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
draw-strand({ line((-1, -1), (1, 1)) })
|
||||
draw-strand({ line((-1, 1), (1, -1)) })
|
||||
}),
|
||||
under-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
draw-strand({ line((-1, 1), (1, -1)) })
|
||||
draw-strand({ line((-1, -1), (1, 1)) })
|
||||
}),
|
||||
h-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
draw-strand({ hobby((-1, -1), (0, -0.61), (1, -1), omega: 1) })
|
||||
draw-strand({ hobby((-1, 1), (0, +0.61), (1, 1), omega: 1) })
|
||||
}),
|
||||
v-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
draw-strand({ hobby((-1, -1), (-0.61, 0), (-1, 1), omega: 1) })
|
||||
draw-strand({ hobby((1, -1), (+0.61, 0), (1, 1), omega: 1) })
|
||||
}),
|
||||
strand-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
rect((-1, -1), (1, 1), fill: white, stroke: none)
|
||||
draw-strand({ hobby((-1, 0), (0, 0.25), (1, 0), omega: 1) })
|
||||
}),
|
||||
over-twist-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
draw-strand({ hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||
draw-strand({ hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
||||
}),
|
||||
under-twist-large: skein-canvas(size-factor: 1.5, {
|
||||
import cetz.draw: *
|
||||
draw-strand({ hobby((-1.5, +1), (-1, +1), (0.5, 0), (0.1, -1), (0, -1)) })
|
||||
draw-strand({ hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
|
||||
}),
|
||||
//
|
||||
// Medium
|
||||
//
|
||||
unit-medium: skein-canvas(size-factor: medium-scale-factor, {
|
||||
@@ -123,16 +169,16 @@
|
||||
}),
|
||||
)
|
||||
|
||||
#let skein-generic(kind: "over", direction: (+1, +1), arrows: (true, true), styles: ((:), (:))) = {
|
||||
skein-canvas({
|
||||
#let skein-generic(kind: "over", direction: (+1, +1), arrows: (true, true), styles: ((:), (:)), size-factor: 1.0) = {
|
||||
skein-canvas(size-factor: size-factor, {
|
||||
import cetz.draw: *
|
||||
if kind == "over" {
|
||||
draw-strand({ line((-1, -1), (1, 1)) }, style: styles.at(1))
|
||||
draw-strand({ line((-1, 1), (1, -1)) }, style: styles.at(0))
|
||||
draw-strand(size-factor: size-factor, { line((-1, -1), (1, 1)) }, style: styles.at(1))
|
||||
draw-strand(size-factor: size-factor, { line((-1, 1), (1, -1)) }, style: styles.at(0))
|
||||
}
|
||||
if kind == "under" {
|
||||
draw-strand({ line((-1, 1), (1, -1)) }, style: styles.at(0))
|
||||
draw-strand({ line((-1, -1), (1, 1)) }, style: styles.at(1))
|
||||
draw-strand(size-factor: size-factor, { line((-1, 1), (1, -1)) }, style: styles.at(0))
|
||||
draw-strand(size-factor: size-factor, { line((-1, -1), (1, 1)) }, style: styles.at(1))
|
||||
}
|
||||
|
||||
if arrows.at(0) {
|
||||
|
||||