initial commit
commit
c17450e4a1
@ -0,0 +1,2 @@
|
||||
out/
|
||||
*.local*
|
||||
@ -0,0 +1,8 @@
|
||||
# Tesi Triennale
|
||||
|
||||
> **Il polinomio di Kauffman, un Invariante di Isotopia Regolare**
|
||||
>
|
||||
> In questa tesi introdurremo la teoria dei nodi con alcuni risultati
|
||||
> fondazionali. Parleremo brevemente delle relazione skein che ci serviranno per
|
||||
> definire assiomaticamente il polinomio di Kauffman ed infine vedremo la sua
|
||||
> buona definizione.
|
||||
@ -0,0 +1,151 @@
|
||||
#import "theme.typ": *
|
||||
#import "@preview/cetz:0.3.4"
|
||||
#import "skein.typ": skein
|
||||
#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
|
||||
|
||||
#set-margin-note-defaults(
|
||||
rect: (..kwargs, content) => rect(
|
||||
..kwargs,
|
||||
{
|
||||
set text(size: 9pt)
|
||||
set par(leading: 0.5em, justify: false)
|
||||
content
|
||||
},
|
||||
),
|
||||
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],
|
||||
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",
|
||||
),
|
||||
),
|
||||
abstract: [
|
||||
In questa tesi introdurremo la teoria dei nodi con alcuni risultati fondazionali. Parleremo brevemente delle relazione skein che ci serviranno per definire assiomaticamente il polinomio di Kauffman ed infine vedremo la sua buona definizione.
|
||||
],
|
||||
bibliography: bibliography("refs.bib"),
|
||||
)
|
||||
|
||||
|
||||
#set-page-properties(margin-right: 4cm)
|
||||
|
||||
|
||||
// Content
|
||||
|
||||
= Introduzione
|
||||
|
||||
In questa tesi studieremo un invariante di isotopia regolare chiamato polinomio di Kauffman @Kauffman1990-qe. Dato un nodo o link non orientato $K$, $kL_K (a, z)$ è definito in forma assiomatica attraverso le seguenti relazioni
|
||||
|
||||
1. Se $K$ e $K'$ sono equivalenti a meno di isotopia regolare, allora $kL_K (a,z) = kL_K' (a,z)$.
|
||||
|
||||
2. Valgono le seguenti relazioni skein
|
||||
|
||||
- $kL(#skein.over) + kL(#skein.under) = z (kL(#skein.h) + kL(#skein.v))$
|
||||
|
||||
- $kL(#skein.unit) = 1$
|
||||
|
||||
- $kL(#skein.over-twist) = a kL(#skein.strand)$
|
||||
|
||||
- $kL(#skein.under-twist) = a^(-1) kL(#skein.strand)$
|
||||
|
||||
dove ogni simbolo indica che per un link fissato $K$ e per ogni suo crossing $i$, applichiamo le modifiche ad $i$ in modo da rendere quel crossing come indicato dal simbolo in figura. #margin-note[Spiegare meglio questa cosa o toglierla e basta]
|
||||
|
||||
== Introduzione alla Teoria dei Nodi
|
||||
|
||||
#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>
|
||||
|
||||
#let embedding-def = ref-link(<embedding>)[embedding]
|
||||
|
||||
#fact[
|
||||
Dati due spazi topologici $X$ compatto e $Y$ di Hausdorff e un'applicazione continua $f : X arrow Y$ allora $f$ è un #embedding-def $<=>$ è iniettiva.
|
||||
]
|
||||
|
||||
#definition[
|
||||
Un #embedding-def $f : X arrow Y$ si dice *localmente piatto* in $p in X$ se $exists U subset bb(R)^3$ intorno di $p$, con
|
||||
|
||||
#{
|
||||
set align(center)
|
||||
grid(
|
||||
columns: 3,
|
||||
gutter: 1em,
|
||||
align: center,
|
||||
$U$, $approx$, $bb(D)^2 times [0, 1]$,
|
||||
$U inter K$, $<->$, ${ 0 } times [0, 1]$,
|
||||
)
|
||||
}
|
||||
] <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$.
|
||||
]
|
||||
|
||||
= Relazioni Skein
|
||||
|
||||
#lorem(100)
|
||||
|
||||
#lorem(100)
|
||||
|
||||
= Polinomio di Kauffman
|
||||
|
||||
#lorem(100)
|
||||
|
||||
#lorem(100)
|
||||
|
||||
#definition(name: [Forma chiusa per $kL_K$])[
|
||||
Qui di seguito la forma chiusa del polinomio $kL_(K)(a,z)$.
|
||||
|
||||
1. Se $K = hat(K)$ è un _nodo banale standard_ allora $kL_K (a, z) colon.eq a^w(K)$
|
||||
|
||||
2. Se $K_1$ è _sopra_ $K_2$, sia $d colon.eq (a + a^(-1)) slash z - 1$ e allora
|
||||
|
||||
$
|
||||
kL(K_1 union K_2) colon.eq d kL(K_1) kL(K_2)
|
||||
$
|
||||
|
||||
3. Se $K = K_1 union dotss union K_n$
|
||||
|
||||
- Se un $K_i$ è _sopra_ un altro componente allora applica (ii).
|
||||
|
||||
- Se nessun $K_i$ è _sopra_ 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 _sopra_ 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)))
|
||||
]
|
||||
$
|
||||
]
|
||||
|
||||
- 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)
|
||||
|
||||
$
|
||||
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)))
|
||||
]
|
||||
$
|
||||
]
|
||||
]
|
||||
@ -0,0 +1,92 @@
|
||||
#import "@preview/cetz:0.3.4"
|
||||
|
||||
#let draw-strand(polyline, style: (:)) = {
|
||||
import cetz.draw: *
|
||||
|
||||
set-style(
|
||||
..cetz.styles.resolve(
|
||||
(stroke: (paint: white, thickness: 0.75pt * 8, cap: "butt")),
|
||||
base: style,
|
||||
),
|
||||
)
|
||||
polyline
|
||||
set-style(
|
||||
..cetz.styles.resolve(
|
||||
style,
|
||||
base: (stroke: (paint: black, thickness: 0.75pt, cap: "round")),
|
||||
),
|
||||
)
|
||||
polyline
|
||||
|
||||
set-style(stroke: (paint: black, thickness: 0.75pt, cap: "round"))
|
||||
}
|
||||
|
||||
#let skein-canvas = body => cetz.canvas(
|
||||
length: 0.25cm,
|
||||
padding: 0.25,
|
||||
{
|
||||
import cetz.draw: *
|
||||
rect((-1, -1), (1, 1), fill: white, stroke: none)
|
||||
|
||||
body
|
||||
},
|
||||
)
|
||||
|
||||
#let arrow-size = 0.35
|
||||
|
||||
#let draw-arrow((x, y), angle: 0, ..style) = {
|
||||
import cetz.draw: *
|
||||
|
||||
{
|
||||
let len = arrow-size / calc.sqrt(2)
|
||||
set-style(..style)
|
||||
|
||||
translate(x: x, y: y)
|
||||
rotate(z: angle)
|
||||
line((0, 0), (-len, +len), ..style)
|
||||
line((0, 0), (-len, -len), ..style)
|
||||
}
|
||||
}
|
||||
|
||||
#let skein = (
|
||||
unit: skein-canvas({
|
||||
import cetz.draw: *
|
||||
|
||||
circle((0, 0), radius: 1, stroke: (paint: black, thickness: 0.75pt))
|
||||
}),
|
||||
over: skein-canvas({
|
||||
import cetz.draw: *
|
||||
draw-strand({ line((-1, -1), (1, 1)) })
|
||||
draw-strand({ line((-1, 1), (1, -1)) })
|
||||
}),
|
||||
under: skein-canvas({
|
||||
import cetz.draw: *
|
||||
draw-strand({ line((-1, 1), (1, -1)) })
|
||||
draw-strand({ line((-1, -1), (1, 1)) })
|
||||
}),
|
||||
h: skein-canvas({
|
||||
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: skein-canvas({
|
||||
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: skein-canvas({
|
||||
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: skein-canvas({
|
||||
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: skein-canvas({
|
||||
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)) })
|
||||
}),
|
||||
)
|
||||
@ -0,0 +1,377 @@
|
||||
// Sizes used across the template.
|
||||
#let script-size = 9pt
|
||||
#let footnote-size = 10pt
|
||||
#let small-size = 11pt
|
||||
#let normal-size = 12pt
|
||||
#let large-size = 14pt
|
||||
|
||||
#let heading-factor = 1.41
|
||||
|
||||
#let heading-level-size(level) = normal-size * calc.pow(heading-factor, 4 - level)
|
||||
|
||||
#let fact-counter = counter("fact")
|
||||
|
||||
// This function gets your whole document as its `body` and formats
|
||||
// it as an article in the style of the American Mathematical Society.
|
||||
#let ams-article(
|
||||
// The article's title.
|
||||
title: [Paper title],
|
||||
page-title: [Paper title],
|
||||
// An array of authors. For each author you can specify a name,
|
||||
// department, organization, location, and email. Everything but
|
||||
// but the name is optional.
|
||||
authors: (),
|
||||
// Your article's abstract. Can be omitted if you don't have one.
|
||||
abstract: none,
|
||||
// The article's paper size. Also affects the margins.
|
||||
paper-size: "us-letter",
|
||||
// The result of a call to the `bibliography` function or `none`.
|
||||
bibliography: none,
|
||||
// The document's content.
|
||||
body,
|
||||
) = {
|
||||
// Formats the author's names in a list with commas and a
|
||||
// final "and".
|
||||
let names = authors.map(author => author.name)
|
||||
let author-string = if authors.len() == 2 {
|
||||
names.join(" and ")
|
||||
} else {
|
||||
names.join(", ", last: ", and ")
|
||||
}
|
||||
|
||||
// Set document metadata.
|
||||
set document(title: title, author: names)
|
||||
|
||||
// Configure the page.
|
||||
set page(
|
||||
paper: paper-size,
|
||||
// The margins depend on the paper size.
|
||||
margin: (
|
||||
// left: 3cm,
|
||||
// right: 6cm,
|
||||
inside: 4cm,
|
||||
outside: 4cm,
|
||||
x: 4cm,
|
||||
y: 4cm,
|
||||
// top: 4.5cm,
|
||||
// bottom: 3.5cm,
|
||||
),
|
||||
|
||||
header-ascent: 1cm,
|
||||
header: context {
|
||||
let i = counter(page).get().first()
|
||||
if i == 1 { return }
|
||||
set text(size: script-size)
|
||||
align(center, upper(page-title))
|
||||
},
|
||||
|
||||
footer-descent: 1cm,
|
||||
footer: context {
|
||||
let i = counter(page).get().first()
|
||||
align(
|
||||
center,
|
||||
{
|
||||
set text(size: large-size)
|
||||
[#i]
|
||||
},
|
||||
)
|
||||
},
|
||||
)
|
||||
|
||||
// Configure headings.
|
||||
set heading(numbering: "1.")
|
||||
show heading: it => {
|
||||
// Create the heading numbering.
|
||||
let number = if it.numbering != none {
|
||||
counter(heading).display(it.numbering)
|
||||
h(7pt, weak: true)
|
||||
}
|
||||
|
||||
let heading-size = heading-level-size(it.level)
|
||||
|
||||
set text(
|
||||
size: heading-size,
|
||||
fill: luma(10%),
|
||||
weight: 600,
|
||||
top-edge: "bounds",
|
||||
bottom-edge: "baseline",
|
||||
)
|
||||
set par(
|
||||
spacing: 0pt,
|
||||
hanging-indent: 0pt,
|
||||
first-line-indent: 0pt,
|
||||
)
|
||||
|
||||
|
||||
if it.level == 1 {
|
||||
if counter(heading).get() != (0,) {
|
||||
pagebreak()
|
||||
}
|
||||
|
||||
stack(
|
||||
dir: ttb,
|
||||
..(
|
||||
if counter(heading).get() != (0,) {
|
||||
(
|
||||
layout(size => v(size.height * 25%)),
|
||||
{
|
||||
set text(size: heading-level-size(3))
|
||||
[Capitolo ]
|
||||
set text(size: heading-level-size(2))
|
||||
counter(heading).display("1")
|
||||
},
|
||||
v(heading-size * 0.61),
|
||||
)
|
||||
}
|
||||
),
|
||||
line(length: 100%),
|
||||
v(heading-size * 0.61),
|
||||
align(right, it.body),
|
||||
v(heading-size * 0.61),
|
||||
line(length: 100%),
|
||||
)
|
||||
} else {
|
||||
number
|
||||
it.body
|
||||
}
|
||||
|
||||
v(heading-size, weak: true)
|
||||
}
|
||||
|
||||
// Configure paragraph properties.
|
||||
set par(spacing: 1.5em, leading: 1em, justify: true)
|
||||
|
||||
// Custom Theme Settings
|
||||
|
||||
// * Inter + Fira Math
|
||||
// set text(font: "Fira Sans", weight: 400)
|
||||
set strong(delta: 200)
|
||||
// show math.equation: set text(font: "Fira Math")
|
||||
// * EB Garamond + Asana Math
|
||||
|
||||
set text(font: "EB Garamond", size: normal-size)
|
||||
show math.equation: set text(font: "Stix Two Math")
|
||||
show raw: set text(font: "Iosevka")
|
||||
|
||||
// Configure lists
|
||||
set list(spacing: 1.5em, indent: 0.5em, body-indent: 0.5em, marker: [•])
|
||||
set enum(spacing: 1.5em, indent: 0.5em, body-indent: 0.5em, numbering: "i.1.a)")
|
||||
|
||||
// Configure links
|
||||
let link-color = color.mix((blue, 50%), (black, 50%))
|
||||
show link: set text(link-color)
|
||||
show link: it => underline(offset: 1pt, stroke: link-color, it)
|
||||
|
||||
// Configure equations.
|
||||
show math.equation: set block(below: normal-size * 1.5, above: normal-size * 1.5)
|
||||
show math.equation: set text(weight: 400)
|
||||
|
||||
show raw.where(block: false): it => {
|
||||
set text(size: 7.25pt, fill: luma(7%))
|
||||
|
||||
box(
|
||||
outset: (x: 2pt, y: 3pt),
|
||||
fill: luma(92%),
|
||||
radius: 3pt,
|
||||
it,
|
||||
)
|
||||
}
|
||||
|
||||
show raw.where(block: true): it => block(
|
||||
outset: (x: 2pt, y: 3pt),
|
||||
fill: luma(92%),
|
||||
radius: 4pt,
|
||||
inset: 4pt,
|
||||
it,
|
||||
)
|
||||
|
||||
set std.bibliography(
|
||||
style: "ieee",
|
||||
title: none,
|
||||
)
|
||||
|
||||
set figure(gap: 17pt)
|
||||
show figure: set block(above: 1.5em, below: 1.5em)
|
||||
show figure: it => {
|
||||
// Customize the figure's caption.
|
||||
show figure.caption: caption => {
|
||||
set text(size: small-size)
|
||||
smallcaps(caption.supplement)
|
||||
if caption.numbering != none {
|
||||
[ ]
|
||||
numbering(caption.numbering, ..caption.counter.at(it.location()))
|
||||
}
|
||||
[. ]
|
||||
caption.body
|
||||
}
|
||||
|
||||
// We want a bit of space around tables and images.
|
||||
show selector.or(table, image): pad.with(x: 23pt)
|
||||
|
||||
// Display the figure's body and caption.
|
||||
it
|
||||
}
|
||||
|
||||
show figure.where(kind: "fact"): it => grid(
|
||||
rows: 2,
|
||||
align: left,
|
||||
block(
|
||||
fill: orange.transparentize(50%),
|
||||
inset: 0.5em,
|
||||
{
|
||||
set text(size: 9pt)
|
||||
[*Work in Progress*]
|
||||
},
|
||||
),
|
||||
block(
|
||||
width: 100%,
|
||||
fill: orange.transparentize(75%),
|
||||
inset: (x: 0.25em, y: 0.5em),
|
||||
it,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
// Display the title and authors.
|
||||
v(35pt, weak: true)
|
||||
align(
|
||||
center,
|
||||
{
|
||||
text(size: 18pt, weight: 600, title)
|
||||
v(25pt, weak: true)
|
||||
smallcaps({
|
||||
text(author-string)
|
||||
})
|
||||
},
|
||||
)
|
||||
|
||||
// Display the abstract
|
||||
if abstract != none {
|
||||
v(20pt, weak: true)
|
||||
// set text(script-size)
|
||||
show: pad.with(x: 35pt)
|
||||
|
||||
set text(size: 11pt)
|
||||
|
||||
[*Abstract.* ]
|
||||
abstract
|
||||
}
|
||||
|
||||
outline(title: "Indice", depth: 2, indent: 1em)
|
||||
|
||||
context { counter("fact").update(2) }
|
||||
|
||||
// Display the article's contents.
|
||||
v(29pt, weak: true)
|
||||
body
|
||||
|
||||
// Display the bibliography, if any is given.
|
||||
if bibliography != none {
|
||||
show std.bibliography: set text(footnote-size)
|
||||
show std.bibliography: set block(above: 11pt)
|
||||
|
||||
{
|
||||
colbreak()
|
||||
show heading: it => {
|
||||
set text(size: heading-level-size(2))
|
||||
block(it.body)
|
||||
}
|
||||
heading(level: 2)[Bibliografia]
|
||||
}
|
||||
|
||||
bibliography
|
||||
}
|
||||
}
|
||||
|
||||
#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…
Reference in New Issue