minior counter updates

main
parent 1e1bdccaf7
commit 2ce84fe408

Binary file not shown.

@ -1,6 +1,8 @@
#import "theme.typ": *
#import "prelude.typ": *
#import "@preview/cetz:0.3.4"
#import "skein.typ": skein
#import "skein.typ": *
#import "@preview/drafting:0.2.2": set-margin-note-defaults, inline-note, margin-note, set-page-properties
#import "@preview/colorful-boxes:1.1.0": stickybox
@ -8,7 +10,7 @@
rect: (..kwargs, content) => rect(
..kwargs,
{
set text(size: 9pt)
set text(size: 8pt, font: "Open Sans")
set par(leading: 0.5em, justify: false)
content
},
@ -16,12 +18,8 @@
side: right,
)
// Prelude
#let kL = $L$
#let dotss = $space dots.c space$
#show: ams-article.with(
paper-size: "a4",
title: [Il polinomio di Kauffman, \ un Invariante di Isotopia Regolare],
@ -40,10 +38,8 @@
bibliography: bibliography("refs.bib"),
)
#set-page-properties(margin-right: 4cm)
// Content
= Introduzione
@ -66,6 +62,8 @@ In questa tesi studieremo un invariante di isotopia regolare chiamato polinomio
== Introduzione alla Teoria dei Nodi
Ora introdurremo le definizioni di nodi e link ed alcuni risultati di fondazione della teoria dei nodi che ci servono per poter parlare ad esempio dei diagrammi planari e dell'isotopia regolare.
#definition[
Siano $X, Y$ due spazi topologici, allora un'applicazione continua $f : X arrow Y$ si dice *embedding* se $X$ è omeomorfo a $f(X) subset Y$ con la topologia di sottospazio indotta da $Y$.
] <embedding>
@ -89,12 +87,176 @@ In questa tesi studieremo un invariante di isotopia regolare chiamato polinomio
$U inter K$, $<->$, ${ 0 } times [0, 1]$,
)
}
inoltre si dice *localmente piatto* (ovunque) se lo è in ogni punto di $X$.
] <locally-flat>
#let locally-flat-def = ref-link(<locally-flat>)[localmente piatto]
#definition[
Un *nodo tame* è un sottoinsieme $K subset bb(R)^3$ tale che esiste un #embedding-def $f : bb(S)^1 arrow.hook bb(R)^3$ e $forall p in K, f$ è #locally-flat-def in $p$.
Un *nodo tame* è un sottoinsieme $K subset bb(R)^3$ tale che esiste un #embedding-def $f : bb(S)^1 arrow.hook bb(R)^3$ #locally-flat-def. In questo caso $f$ è anche detto *embedding tame*.
]
#todo[
Disegnino nodi non tame
]
#definition[
Due nodi $K_0, K_1 subset bb(R)^3$ sono *equivalenti* se esiste un'*isotopia ambiente* $H$ che porta uno nell'altro, ovvero esiste un'applicazione continua $H : bb(R)^3 times [0, 1] arrow bb(R)^3$ tale che
- $forall t in [0, 1], H(dot, t)$ è un omeomorfismo
- $H_0 = id_(bb(R)^3)$
- $H_1(K_0) = K_1$
]
Inoltre vale che se due nodi sono equivalenti allora abbiamo che $bb(R)^3 without K_0$ è omeomorfo a $bb(R)^3 without K_1$.
#definition[
Un *nodo poligonale* è un nodo equivalente ad un'unione finita di seguenti lineari.
]
#fact(name: [Cromwell])[
Dato un nodo $K subset bb(R)^3$, $K$ è tame $<=>$ $K$ è poligonale.
]
#definition[
Il *nodo banale* è la classe di equivalenza del bordo di un triangolo equilatero piano.
]
Possiamo generalizzare tutte le definizioni per i nodi a *link*, sostituendo $bb(S)^1$ con $bb(S)^1 union dots.c union bb(S)^1$ con le opportune modifiche.
#definition[
Dato $L subset bb(R)^3$ è detto *link* se $exists$ #embedding-def $f : bb(S)^1 union dots.c union bb(S)^1 arrow bb(R)^3$ #locally-flat-def tale che l'immagine sia $L$.
]
#definition[
Due link $L_1, L_2$ sono *combinatorialmente equivalenti* se si ottengono uno dall'altro tramite un numero finito delle seguenti mosse:
1. Aggiunta/rimozione di vertici
#todo[disegnino 1]
2. Dato $Delta subset bb(R)^3$ triangolo piano tale che $Delta inter L$ sia un lato di $Delta$ ed un segmento di $L$ allora una $Delta$-move è la seguente
#todo[disegnino 2]
]
#fact[
Due link poligonali $L_1, L_2 subset bb(R)^3$ sono equivalenti $<=>$ sono combinatorialmente equivalenti
]
== Proiezioni e Diagrammi
Dato $v in bb(S)^2 subset bb(R)^3$, possiamo definire la proiezione $pi_v : bb(R)^3 arrow v^perp$ sul piano ortogonale a $v$ come segue
#todo[disegnino]
#definition(name: [Punti regolare, singolare, doppio])[
Dato $L subset bb(R)^3$, $v in bb(S)^2$ e $pi = pi_v : bb(R)^3 arrow v^perp$, un punto $x in pi(L) subset v^perp$ è
- *regolare* se $abs(pi^(-1)(x)) = 1$
- *singolare* se $abs(pi^(-1)(x)) > 1$
- *doppio* se $abs(pi^(-1)(x)) = 2$
]
#fact[
Dato un link poligonale $L subset bb(R)^3$, esiste un aperto denso $U subset bb(S)^2$ tale che $forall v in U$, $pi_v(L)$ soddisfa
- Non esistono segmenti di $L$ paralleli a $v$.
- Se $x in pi_v(L)$ singolare allora $pi_v^(-1)(x)$ non contiene vertici, $x$ è un punto doppio ed è intersezione trasversa delle immagini di due segmenti.
]
Dato $L subset bb(R)^3$ link poligonale, esiste una proiezione regolare $pi(L) subset bb(R)^2$, ovvero con un numero finito di punti singolari, ciascuno dei quali è un punto doppio e di intersezione trasversa e viene detto *incrocio*.
#definition[
Un *diagramma* $D subset bb(R)^2$ di un link $L subset bb(R)^3$ è una proiezione regolare di $L$ decorata con l'informazione sopra/sotto ad ogni incrocio.
]
#fact[
Due link con lo stesso diagramma sono equivalenti.
]
#todo[
Vari commenti
]
#theorem(name: [Reidemeister])[
Due diagrammi di link equivalenti sono collegati da una successione finita di isotopie planari e mosse di tipo R1, R2, R3 (e loro inverse).
]
#definition[
L'insieme di isotopie planari e mosse R1, R2, R3 (e loro inverse) sono le *mosse di Reidemeister*.
]
#todo[Commenti sul teorema di Reidemeister, $phi$ invariante a meno di mosse di Reidemeister ci permette di dire che due link non sono equivalenti]
#fact[
Come abbiamo generalizzato nodi a link possiamo ripetere tutto anche aggiungendo un'orientazione e studiare *nodi e link orientati* ed esiste anche una versione orientata del teorema di Reidemeister.
]
== Operazioni su Diagrammi
#definition[
Dato un link $L subset bb(R)^3$ possiamo definire
- Il *mirror* $m(L) colon.eq rho(L)$ dove $rho : bb(R)^3 arrow bb(R)^3$ è la riflessione rispetto al piano di proiezione. In particolare dato un diagramma è lo stesso diagramma con l'informazione sopra/sotto scambiata.
Se $L$ è anche _orientato_ allora possiamo definire
- Il *reverse* $r(L)$ che è lo stesso $L$ con l'orientazione opposta su ogni componente.
- L'*inverso* $-L colon.eq m(r(L)) = r(m(L))$.
]
#definition[
Se $K subset bb(R)^3$ e $K tilde.not m(K)$ allora diciamo che $K$ è *chirale*, altrimenti è detto *anfichirale*.
]
= Isotopia Regolare
#todo[
Aggiungere più commenti
]
Il teorema di Reidemeister ci dice che se due nodi sono equivalenti per isotopia ambiente allora i loro diagrammi lo sono anche a meno di isotopie planari e mosse di Reidemeister R1, R2, R3. Possiamo studiare cosa succede se ci restringiamo solo alle isotopie planari e le ultime due mosse, questo ci dà una nuova equivalenza tra nodi più forte dell'isotopia ambiente.
#definition[
Due nodi o link $K_1, K_2$ si dicono equivalenti a meno di *isotopia regolare* se due loro diagrammi sono equivalenti a meno di isotopie planari e solo mosse R2 ed R3.
]
#todo[
Disegnino con le mosse
]
Una prima cosa che possiamo notare è che tutte le mosse R1 possono essere "fattorizzate" in modo da averle tutte raggruppate insieme. #margin-note[Magari dimostrare questa cosa]
#todo[
Altro disegnino
]
Questo ci suggerisce un primo invariante di isotopia regolare per link orientatati, per prima cosa introduciamo il segno di un incrocio.
#definition[
Dato un incrocio di un link orientato ci possono essere due casi
$
epsilon(#skein-generic(direction: (+1, +1))) = +1
#h(2em)
epsilon(#skein-generic(direction: (+1, -1))) = -1
$
]
#definition[
Dato $K$ link orientato, il *writhe* $w(K)$ (o numero di avvolgimento) è dato dalla somma dei segni dei suoi crossing
$
w(K) colon.eq sum_c epsilon(c)
$
]
= Relazioni Skein

@ -0,0 +1,139 @@
#let kL = $L$
#let dotss = $space dots.c space$
#let statement-style = (name, numbered: false) => it => {
set align(start)
block({
strong({
it.supplement
if numbered and it.numbering != none {
[ ]
// current chapter and section
[#(
..counter(heading).get().slice(0, 2).map(it => str(it)),
numbering(it.numbering, ..it.counter.at(it.location())),
).join(".")]
}
if name != none {
[ (#name)]
}
[.]
})
[ ]
it.body
})
}
#let definition(body, name: none) = {
show figure: statement-style(name, numbered: false)
figure(
body,
kind: "definition",
supplement: [Definizione],
)
}
#let fact(body, name: none) = {
show figure: statement-style(name, numbered: false)
figure(
body,
kind: "fact",
supplement: [Fatto],
)
}
#let proposition(body, name: none, numbered: true) = {
show figure: statement-style(name, numbered: numbered)
figure(
body,
// kind: "proposition",
kind: "proposition",
supplement: [Proposizione],
numbering: if numbered { "1" },
)
}
#let lemma(body, name: none, numbered: true) = {
show figure: statement-style(name, numbered: numbered)
figure(
body,
// kind: "lemma",
kind: "proposition",
supplement: [Lemma],
numbering: if numbered { "1" },
)
}
#let theorem(body, name: none, numbered: true) = {
show figure: statement-style(name, numbered: numbered)
figure(
body,
kind: "theorem",
supplement: [Teorema],
numbering: if numbered { "1" },
)
}
#let proof(body) = block(
spacing: 11.5pt,
{
emph[Proof.]
[ ]
body
h(1fr)
// Add a word-joiner so that the proof square and the last word before the
// 1fr spacing are kept together.
sym.wj
// Add a non-breaking space to ensure a minimum amount of space between the
// text and the proof square.
sym.space.nobreak
$square$
},
)
#let ref-link(target, content) = {
show link: it => {
set text(luma(10%))
// remove underline for this
show underline: it => it.body
it
}
link(target, emph(content))
}
#let todo-color = color.mix((red, 10%), (yellow, 90%))
#let todo(content) = block(
breakable: false,
grid(
rows: 2,
align: left,
block(
fill: todo-color.desaturate(20%),
inset: (x: 0.5em, y: 0.35em),
radius: (top: 0.25em),
{
set text(fill: black.transparentize(15%), size: 8pt, font: "Open Sans")
[*TODO*]
},
),
block(
width: 100%,
fill: todo-color.desaturate(40%),
inset: (x: 0.5em, y: 0.5em),
radius: (bottom: 0.25em, top-right: 0.25em),
{
set text(fill: black.transparentize(15%), size: 9pt, font: "Open Sans")
content
},
),
),
)

@ -90,3 +90,38 @@
draw-strand({ hobby((1.5, +1), (1, +1), (-0.5, 0), (-0.1, -1), (0, -1)) })
}),
)
#let skein-generic(
kind: "over",
direction: (+1, +1),
arrows: (true, true),
styles: ((:), (:)),
) = {
skein-canvas({
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))
}
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))
}
if arrows.at(0) {
if direction.at(0) == +1 {
line((1 - arrow-size, -1), (1, -1), (1, -1 + arrow-size), ..styles.at(0))
} else {
line((-1, 1 - arrow-size), (-1, 1), (-1 + arrow-size, 1), ..styles.at(0))
}
}
if arrows.at(1) {
if direction.at(1) == +1 {
line((1 - arrow-size, 1), (1, 1), (1, 1 - arrow-size), ..styles.at(1))
} else {
line((-1, -1 + arrow-size), (-1, -1), (-1 + arrow-size, -1), ..styles.at(1))
}
}
})
}

@ -9,7 +9,10 @@
#let heading-level-size(level) = normal-size * calc.pow(heading-factor, 4 - level)
#let fact-counter = counter("fact")
// #let fact-counter = counter("fact")
#let chapter-counter = counter("chapter")
#let section-counter = counter("section")
// This function gets your whole document as its `body` and formats
// it as an article in the style of the American Mathematical Society.
@ -131,8 +134,10 @@
line(length: 100%),
)
} else {
number
it.body
block({
number
it.body
})
}
v(heading-size, weak: true)
@ -216,7 +221,7 @@
rows: 2,
align: left,
block(
fill: orange.transparentize(50%),
fill: red.mix((yellow, 33%)).desaturate(20%),
inset: 0.5em,
{
set text(size: 9pt)
@ -225,13 +230,12 @@
),
block(
width: 100%,
fill: orange.transparentize(75%),
fill: red.mix((yellow, 33%)).desaturate(40%),
inset: (x: 0.25em, y: 0.5em),
it,
),
)
// Display the title and authors.
v(35pt, weak: true)
align(
@ -267,11 +271,10 @@
// Display the bibliography, if any is given.
if bibliography != none {
show std.bibliography: set text(footnote-size)
show std.bibliography: set block(above: 11pt)
pagebreak()
{
colbreak()
// colbreak()
show heading: it => {
set text(size: heading-level-size(2))
block(it.body)
@ -283,95 +286,3 @@
}
}
#let definition(body, name: none, numbered: true) = {
show figure: it => {
set align(start)
block({
strong({
it.supplement
if it.numbering != none {
[ ]
numbering(it.numbering, ..it.counter.at(it.location()))
}
if name != none {
[ (#name)]
}
[.]
})
[ ]
it.body
})
}
figure(
body,
kind: "fact",
supplement: [Definizione],
numbering: if numbered { "1" },
)
}
#let fact(body, numbered: true) = figure(
body,
// kind: "fact",
kind: "fact",
supplement: [Fatto],
numbering: if numbered { "1" },
)
#let proposition(body, numbered: true) = figure(
body,
// kind: "proposition",
kind: "fact",
supplement: [Proposizione],
numbering: if numbered { "1" },
)
#let lemma(body, numbered: true) = figure(
body,
// kind: "lemma",
kind: "fact",
supplement: [Lemma],
numbering: if numbered { "1" },
)
#let theorem(body, numbered: true) = figure(
body,
// kind: "theorem",
kind: "fact",
supplement: [Theorem],
numbering: if numbered { "1" },
)
#let proof(body) = block(
spacing: 11.5pt,
{
emph[Proof.]
[ ]
body
h(1fr)
// Add a word-joiner so that the proof square and the last word before the
// 1fr spacing are kept together.
sym.wj
// Add a non-breaking space to ensure a minimum amount of space between the
// text and the proof square.
sym.space.nobreak
$square$
},
)
#let ref-link(target, content) = {
show link: it => {
set text(luma(10%))
// remove underline for this
show underline: it => it.body
it
}
link(target, emph(content))
}

Loading…
Cancel
Save