🗒️ 3d-research indice lezione 00 · prerequisiti EN · IT

Lezione 00 · Prerequisiti

Autovettori, autovalori e jacobiano — con le immagini giuste

Le due idee di algebra che reggono tutto il quaderno: le direzioni «proprie» di una trasformazione, e la sua imitazione lineare locale. Ogni concetto con una metafora famosa da tenere in tasca.

Dove servono — la covarianza \(\Sigma\) della lezione 01 si legge con gli autovalori (assi e semiassi dell'ellissoide); la proiezione EWA della lezione 05 è un jacobiano; e il determinante dice quanto si gonfia l'area di uno splat sullo schermo.

Autovettori e autovalori: i binari della trasformazione

Una matrice \(A\) trasforma tutto il piano in un colpo solo: ogni vettore viene spostato, ruotato, allungato. La domanda che definisce gli autovettori è: c'è qualche direzione che la trasformazione rispetta? Cioè un vettore \(\mathbf v\) che non viene deviato, ma solo fatto scorrere lungo la propria retta:

$$A\,\mathbf v \;=\; \lambda\,\mathbf v$$

Due oggetti, due domande diverse — questo è il punto che spesso si confonde:

Mnemonico — l'autovettore risponde a «quale binario resta binario?» (una direzione). L'autovalore risponde a «quanto corre il treno su quel binario?» (un numero: il fattore di allungamento).

Tre immagini famose

1 · L'asse della Terra. La rotazione terrestre muove ogni cosa: Roma viaggia, New York viaggia, tutto l'oceano viaggia. L'unica direzione che non va da nessuna parte è l'asse: i poli restano fermi. L'asse è l'autovettore della matrice di rotazione, con autovalore \(\lambda = 1\) (non si allunga nemmeno). È un teorema di Eulero: ogni rotazione 3D ha un asse — tradotto: ogni matrice di rotazione 3D ha un autovettore reale con \(\lambda=1\). In 2D invece no: una rotazione del piano non lascia ferma nessuna direzione (vedi sotto).

2 · L'impasto sotto il mattarello. Stendi la pasta in una direzione: si allunga ×2 lungo il mattarello e si restringe ×0.7 in quella perpendicolare. Se prima avevi disegnato tante freccioline sull'impasto, quasi tutte ruotano mentre stendi (vengono trascinate verso la direzione di stiro); le uniche che non ruotano sono quella lungo il mattarello e quella perpendicolare. Quelle due direzioni sono gli autovettori; 2 e 0.7 sono gli autovalori.

3 · La Gioconda inclinata. La figura più famosa di Wikipedia sull'argomento: applichi uno shear al quadro e tutto si inclina — tranne il vettore lungo la base, che resta esattamente dov'era (\(\lambda=1\)). Curiosità: nello shear il binario è uno solo (matrice «difettiva»: due autovalori uguali, un solo autovettore indipendente) — prova il preset qui sotto.

Eigen in tedesco significa «proprio, caratteristico»: gli autovettori sono le direzioni proprie della trasformazione, quelle che le appartengono.

Il bestiario dei λ

AutovaloreCosa fa al suo binarioImmagine
\(\lambda > 1\)allungail mattarello
\(0 < \lambda < 1\)comprimela molla che si accorcia
\(\lambda < 0\)ribalta il verso (la retta resta ferma)l'elastico che scatta dall'altra parte
\(\lambda = 0\)annienta la direzione (tutto nell'origine)il rullo compressore — e infatti \(\det A = 0\), non invertibile
complessi \(\alpha \pm \beta i\)nessun binario reale: tutto ruotala rotazione 2D — ogni direzione gira
Fig. 1 — interattiva. La matrice \(A=\begin{bmatrix}a&b\\c&d\end{bmatrix}\) applicata al piano: cerchio unitario → ellisse (blu), quadratino unitario → parallelogramma con la «F» che ne mostra l'orientazione, frecce terracotta = 12 direzioni qualsiasi, frecce e rette verdi = gli autovettori (i «binari»). Trascina applica t avanti e indietro: tutte le frecce sbandano tranne quelle sui binari, che si limitano ad allungarsi di λ. Con «Rotazione» i binari spariscono (autovalori complessi); con «Riflessione» la F si specchia (det < 0).
Nel 3DGS ci vivi dentro — la fattorizzazione \(\Sigma = R\,S\,S^{\!\top}\!R^{\!\top}\) della lezione 01 è letteralmente un'autodecomposizione: le colonne di \(R\) sono gli autovettori di \(\Sigma\) (gli assi dell'ellissoide), i quadrati delle scale \(s^2\) sono gli autovalori (le varianze lungo gli assi). Il preset «Covarianza» costruisce \(A\) proprio così, con assi a 30° e scale \((1.5,\,0.6)\) — e infatti leggi \(\lambda_1 = 2.25 = 1.5^2\), \(\lambda_2 = 0.36 = 0.6^2\). Quando l'ottimizzatore aggiorna le scale di una gaussiana sta facendo discesa del gradiente sugli autovalori della sua covarianza.

Bonus per fissare la famiglia «eigen»: la PCA prende gli autovettori della covarianza di uno sciame di punti (gli assi dello sciame); PageRank è l'autovettore dominante del grafo del web — Google ci ha costruito un impero; il bicchiere di cristallo si spezza alla sua nota perché ha delle autofrequenze. Ogni volta che senti «eigen-qualcosa», la domanda sotto è sempre la stessa: che cosa resta se stesso sotto questa operazione?

Il jacobiano: la mappa piatta locale

Ripasso in una riga: la derivata è uno zoom. Una funzione liscia, ingrandita abbastanza intorno a un punto, diventa indistinguibile dalla sua retta tangente. Il jacobiano è la stessa identica idea per \(f:\mathbb R^n \to \mathbb R^m\): ingrandisci abbastanza la deformazione intorno a un punto \(\mathbf p\) e diventa indistinguibile da una mappa lineare. Quella mappa lineare è \(J(\mathbf p)\):

$$J_{ij} \;=\; \frac{\partial f_i}{\partial x_j} \qquad\qquad f(\mathbf p + \boldsymbol\delta) \;\approx\; f(\mathbf p) + J(\mathbf p)\,\boldsymbol\delta$$

La riga \(i\) elenca quanto reagisce l'uscita \(i\) a ciascun ingresso: il jacobiano è la tabella delle sensibilità di \(f\) in quel punto. Ma le immagini che restano in testa sono queste due:

1 · La mappa del quartiere. Proiettare la Terra (curva) su un foglio (piatto) è una mappa non lineare — non esiste il planisfero perfetto. Eppure la mappa del tuo quartiere funziona benissimo: su scala piccola la proiezione è approssimata alla grande da una mappa lineare. Ogni punto del pianeta ha la sua «mappa piatta locale», e quella mappa è il jacobiano della proiezione in quel punto.

2 · Lo specchio deformante del luna park. La tua figura intera è mostruosa: gambe corte, testa a pera — trasformazione decisamente non lineare. Ma un francobollo di pelle, un neo e i suoi dintorni, è semplicemente stirato, ruotato e inclinato: una trasformazione affine. Lo specchio deformante è una collezione di jacobiani, uno per ogni punto della tua sagoma.

Perché ci serve — la proiezione prospettica divide per la profondità: non lineare. E una gaussiana spinta attraverso una mappa non lineare non è più gaussiana (i gusci si piegano). Il trucco EWA (lezione 05): vicino al centro \(\mu\) sostituisci la proiezione col suo jacobiano — una mappa lineare porta gaussiane in gaussiane — e ottieni \(\Sigma' = J\,W\,\Sigma\,W^{\!\top}\!J^{\!\top}\). Anche la distorsione radiale degli obiettivi (quella che COLMAP stima quando calibra le camere) è un warp non lineare: la demo qui sotto usa proprio quella.
Fig. 2 — interattiva. Una mappa non lineare deforma la griglia. I cerchietti diventano ellissi — questa è esattamente l'indicatrice di Tissot degli atlanti — colorate per \(\det J\): terracotta dove l'area si gonfia, blu dove si comprime. Trascina la sonda: il cerchio pieno è l'immagine vera del cerchio, quello tratteggiato è la previsione lineare del jacobiano. Ora riduci il raggio sonda: le due curve coincidono — «zoomare finché non diventa lineare» è tutta l'essenza del jacobiano. Intensità negativa = barilotto (GoPro), positiva = cuscinetto.

Il determinante: quanto si gonfiano le aree

Per una mappa lineare il determinante è il fattore di area (in 3D: di volume): prendi il quadratino unitario, applichi \(A\), ottieni un parallelogramma; \(|\det A|\) è la sua area. Mattarello ×2 in una direzione e ×1.5 nell'altra → ogni areola ×3. Nella Fig. 1 è il parallelogramma con la «F» dentro, e il suo valore è nel readout.

Con l'immagine dei binari il fatto \(\det A = \lambda_1 \lambda_2 \cdots\) diventa ovvio: allunghi ×\(\lambda_1\) lungo un binario e ×\(\lambda_2\) lungo l'altro, quindi l'area va ×\(\lambda_1\lambda_2\). E i due casi patologici hanno una fisica precisa:

CasoImmagineSignificato
\(\det = 0\)il rullo compressore: schiaccia il piano su una retta (un autovalore è 0)non invertibile — non puoi de-schiacciare una crêpe: due punti finiti nello stesso posto non si distinguono più
\(\det < 0\)il guanto rivoltato: la mano destra allo specchio diventa sinistral'area c'è ancora (\(|\det|\)) ma l'orientazione si è ribaltata — nella Fig. 1 la «F» si specchia col preset «Riflessione»

Il determinante del jacobiano: fattore di area locale

Se il jacobiano è la mappa lineare locale, il suo determinante è il fattore di area locale — un numero diverso in ogni punto, che dice quanto la mappa gonfia o comprime le areole . Tre ancore famose:

1 · La Groenlandia di Mercatore. Sul planisfero di Mercatore la Groenlandia sembra grande come l'Africa; in realtà è circa 14 volte più piccola. Il motivo è che \(\det J\) della proiezione di Mercatore esplode avvicinandosi ai poli. Le ellissi di Tissot stampate sugli atlanti sono esattamente la Fig. 2 applicata al planisfero: cerchietti uguali sulla sfera, ellissi sempre più gonfie sulla carta.

2 · La fetta di pizza. Nel passaggio in coordinate polari, \(dx\,dy = r\,dr\,d\theta\): quel \(r\) è \(|\det J|\). L'immagine: un «quadratino» \(\Delta r \times \Delta\theta\) vicino al bordo della pizza è molto più grande dello stesso quadratino vicino al centro — l'area dipende da dove sei, cioè da \(r\). Ogni volta che cambi variabili in un integrale, il \(\det J\) è lì a fare da tasso di cambio tra le aree.

3 · Il miele sull'impasto (per la parte ML del cervello). Spalma un velo di miele sull'impasto e poi stendilo: dove l'impasto si allarga, il velo si assottiglia esattamente del fattore di area — la massa si conserva. È il cambio di variabile delle densità di probabilità, \(p_Y(\mathbf y) = p_X(\mathbf x)\,/\,|\det J|\): il cuore dei normalizing flows, e il motivo per cui una gaussiana trasformata linearmente resta normalizzata con la covarianza giusta.

Nel 3DGS — l'impronta di uno splat sullo schermo è l'ellisse della covarianza proiettata \(\Sigma'\), e la sua area scala come \(\sqrt{\det \Sigma'}\). I trucchi di anti-aliasing (es. Mip-Splatting) correggono l'opacità proprio con un rapporto di determinanti, per non far «sparire» gli splat che diventano sub-pixel. Il determinante non è un tecnicismo: è la contabilità delle aree del renderer.

Riassunto da frigorifero

OggettoDomanda a cui rispondeImmagineDove lo rivedi
autovettorequale direzione non viene deviata?l'asse della Terra; il binarioassi dell'ellissoide = colonne di \(R\)
autovaloredi quanto allunga lungo quel binario?il mattarello ×2 varianze = scale al quadrato \(s^2\)
jacobianocome stira lo spazio qui?la mappa del quartiere; lo specchio del luna parkproiezione EWA, \(\Sigma' = JW\Sigma W^{\!\top}\!J^{\!\top}\) (lez. 05)
det (del jacobiano)quanto si gonfiano le aree qui? la Groenlandia di Mercatore; la fetta di pizzaarea dello splat, cambi di variabile, anti-aliasing