Algebra lineare (1): spazi vettoriali, basi e applicazioni lineari
- Ottieni link
- X
- Altre app
Questo è il primo di tre articoli in cui raccolgo gli appunti di algebra lineare che ho scritto mentre lavoravo a un progetto di reti neurali. L'obiettivo non è sostituire un libro di testo, ma mettere in fila i risultati che servono davvero quando si passa dalla teoria al codice: perché una matrice simmetrica sia un oggetto speciale, perché la SVD si possa calcolare, perché il gradiente di una forma quadratica valga proprio \(2Ax\).
Si parte dalle fondamenta. In questa prima parte non compare quasi nessuna matrice: parliamo di spazi vettoriali, di basi, di applicazioni lineari e di prodotti scalari. Sembra la parte più astratta, ed è vero, ma è anche quella che spiega perché tutto il resto funziona. Le matrici, che sono l'argomento della seconda parte, non sono altro che il modo di scrivere in coordinate le cose che vediamo qui.
1. Spazi vettoriali
L'idea di spazio vettoriale nasce da un'osservazione: strutture apparentemente lontane fra loro si comportano allo stesso identico modo quando si tratta di sommare i loro elementi e di moltiplicarli per un numero. Le frecce nel piano, i polinomi, le funzioni continue su un intervallo, le sequenze di 784 pixel di un'immagine in scala di grigi — in tutti questi casi "sommare due oggetti" e "scalare un oggetto" hanno senso e obbediscono alle stesse regole. Invece di ridimostrare gli stessi teoremi in ogni contesto, si isolano le regole comuni e si dimostra tutto una volta sola.
Il punto di partenza è un'operazione che, a differenza della somma, mescola due insiemi diversi: gli scalari e i vettori.
La differenza con una legge di composizione interna (LCI), come la somma, è tutta qui: la LCI prende due elementi di \(E\) e ne restituisce uno di \(E\), la LCE prende uno scalare e un elemento di \(E\). A questo punto possiamo dare la definizione centrale.
Le cinque condizioni si leggono facilmente: la prima dice che la somma si comporta bene da sola, la seconda e la terza sono le due distributività (una rispetto alla somma di scalari, l'altra rispetto alla somma di vettori), la quarta collega il prodotto del campo al prodotto esterno, la quinta impedisce il caso degenere in cui la moltiplicazione schiaccia tutto sullo zero.
2. Sottospazi
Individuato uno spazio vettoriale, la domanda naturale è quali suoi sottoinsiemi siano a loro volta spazi vettoriali. La risposta è utile in pratica: quando in un problema di apprendimento i dati vivono in \(\mathbb{R}^{1000}\) ma in realtà si dispongono su un sottospazio di dimensione 20, ridurre le dimensioni non perde nulla.
Verificare gli otto assiomi ogni volta sarebbe scomodo, ma per fortuna la maggior parte si eredita gratis dallo spazio grande: se la somma è associativa in \(\mathbf{E}\), lo è anche in \(\mathbf{E}'\). Restano da controllare solo le due chiusure.
- \(\forall x, y \in \mathbf{E}' : x + y \in \mathbf{E}'\)
- \(\forall x \in \mathbf{E}',\ \forall k \in \mathbf{K} : kx \in \mathbf{E}'\)
Le due condizioni si possono comprimere in una sola, ed è la forma che conviene usare quando si fanno verifiche a mano.
L'espressione che compare nel criterio ha un nome e sarà il mattone di tutto il resto.
Preso un pugno di vettori qualsiasi, l'insieme di tutte le loro combinazioni lineari è automaticamente un sottospazio — è il più piccolo che li contenga tutti.
Ai sottospazi si possono poi applicare le operazioni insiemistiche, ma con un'avvertenza importante: l'intersezione si comporta bene, l'unione no. L'unione di due rette distinte per l'origine non è chiusa rispetto alla somma, e infatti non è un sottospazio. Al suo posto si usa la somma.
Il caso interessante è quello in cui la decomposizione di un vettore nella somma è unica: è la situazione che permette, per esempio, di separare un segnale in componenti indipendenti senza ambiguità.
- \(\mathbf{E} = \mathbf{E}_1 + \mathbf{E}_2\)
- \(\mathbf{E}_1 \cap \mathbf{E}_2 = \{0_E\}\)
Vale la pena soffermarsi sull'equivalenza: la condizione "l'intersezione è il solo vettore nullo", che è una richiesta sull'insieme, si traduce esattamente nell'unicità della decomposizione, che è una richiesta su ogni singolo vettore. È il primo esempio di un fenomeno che si ripeterà spesso in algebra lineare.
3. Dipendenza lineare, generatori, basi
Abbiamo visto che un insieme di vettori genera un sottospazio. Ora la domanda si rovescia: quanti vettori servono, come minimo, per generarlo? Il concetto chiave è quello di ridondanza.
Questa proposizione è la traduzione operativa della definizione: dipendenza lineare significa ridondanza, cioè che uno dei vettori non aggiunge niente a quello che gli altri già generano. Dall'altro lato abbiamo la nozione di copertura.
Le due proprietà tirano in direzioni opposte: i generatori vogliono essere tanti per coprire tutto, l'indipendenza li vuole pochi per non sprecarne. Il punto di equilibrio è la base.
Ritroviamo la stessa struttura vista per la somma diretta: esistenza della decomposizione (i vettori generano) più unicità (i vettori sono indipendenti). È questa unicità che rende legittimo parlare di "coordinate" e che, in ultima analisi, permette di rappresentare un vettore astratto come un array di numeri in memoria.
4. Dimensione
Uno spazio ammette infinite basi diverse. Il fatto notevole — tutt'altro che ovvio a priori — è che tutte hanno lo stesso numero di elementi. Questo numero è un invariante dello spazio, e dà finalmente un senso preciso all'idea intuitiva di "quante direzioni indipendenti ci sono". Il risultato che apre la strada è il teorema di completamento.
- l'intero \(n\) è il numero massimo di vettori l.i. dello spazio \(\mathbf{E}\);
- due qualsiasi basi di \(\mathbf{E}\) contengono sempre \(n\) vettori.
- \(\dim \mathbf{V} \leq \dim \mathbf{W}\)
- \(\dim \mathbf{V} = \dim \mathbf{W} \iff \mathbf{V} = \mathbf{W}\)
Il secondo punto è uno strumento di dimostrazione che useremo più volte: per provare che due sottospazi coincidono, quando uno è contenuto nell'altro, basta contarne le dimensioni. Si evita così di far vedere la doppia inclusione.
Quanto alla somma di due sottospazi, la sua dimensione non è in generale la somma delle dimensioni: i vettori dell'intersezione verrebbero contati due volte. La correzione è esattamente quella che ci si aspetta, ed è l'analogo del principio di inclusione-esclusione.
Nel caso della somma diretta l'intersezione si riduce al vettore nullo, che ha dimensione zero, e l'identità degenera nella formula additiva: se \(\mathbf{E} = \mathbf{V} \oplus \mathbf{W}\) allora \(\dim \mathbf{E} = \dim \mathbf{V} + \dim \mathbf{W}\).
5. Applicazioni lineari
Definita la struttura, servono le funzioni che la rispettano. Sono quelle che commutano con la somma e con il prodotto per scalare: applicare la funzione e poi combinare, oppure combinare e poi applicare la funzione, deve dare lo stesso risultato.
- \(\forall v, w \in \mathbf{E} : f(v + w) = f(v) + f(w)\) (omomorfismo di gruppi)
- \(\forall \lambda \in \mathbf{K},\ \forall v \in \mathbf{E} : f(\lambda v) = \lambda f(v)\)
Le applicazioni lineari trasportano l'intera struttura da uno spazio all'altro: portano sottospazi in sottospazi e generatori in generatori.
La disuguaglianza è stretta ogni volta che \(f\) schiaccia direzioni diverse l'una sull'altra: un'applicazione lineare può perdere informazione, mai crearne. I due sottospazi che misurano rispettivamente ciò che sopravvive e ciò che va perso sono l'immagine e il nucleo.
È facile dimostrare che \(\mathrm{Ker}\, f\) è un sottospazio vettoriale di \(\mathbf{E}\). La relazione fra le dimensioni di questi due sottospazi è probabilmente il singolo risultato più usato di tutta l'algebra lineare.
La lettura è quantitativa: le dimensioni dello spazio di partenza si ripartiscono fra quelle che vengono annullate e quelle che sopravvivono nell'immagine. Nella seconda parte lo ritroveremo nella veste di teorema sul rango di una matrice, dove diventa un enunciato sulle colonne.
6. Matrice associata a un'applicazione lineare
Qui avviene il passaggio decisivo, quello che collega la teoria astratta al calcolo. Un'applicazione lineare è completamente determinata da come agisce sui vettori di una base: se so dove vanno a finire i \(n\) vettori \(e_j\), so dove va a finire qualsiasi vettore, perché ogni vettore è combinazione lineare degli \(e_j\) e \(f\) rispetta le combinazioni lineari. Scrivere le immagini \(f(e_j)\) nella base di arrivo produce una tabella di numeri, ed è la matrice.
Conviene fissare bene questa immagine, perché torna continuamente: le colonne di \(A\) sono i coefficienti della decomposizione, nella base di \(\mathbf{F}\), delle immagini dei vettori della base di \(\mathbf{E}\). La colonna \(j\)-esima dice dove finisce l'\(j\)-esimo vettore della base di partenza.
Da qui si ricava con un conto diretto la regola di calcolo. Dato un generico \(v \in \mathbf{E}\), scritto in componenti come \(v = x^j e_j\) (somma sottintesa su \(j\)):
D'altra parte \(f(v) \in \mathbf{F}\), quindi \(f(v) = \sum_{i=1}^m x_i' f_i\), e confrontando i coefficienti si ottiene
che è esattamente la formula che converte le componenti di \(x\) nelle componenti di \(f(x)\). In notazione matriciale, posto
Il prodotto matrice-vettore, che nella seconda parte tratteremo come definizione, è dunque una conseguenza: nasce dal richiedere che la matrice rappresenti l'applicazione lineare. Lo stesso vale per le operazioni fra matrici.
Quest'ultima proposizione risponde a una domanda che ogni tanto si sente porre: perché il prodotto di matrici è definito in quel modo contorto, righe per colonne, e non elemento per elemento? Perché il prodotto di matrici è la composizione di funzioni, e la definizione righe per colonne è l'unica che la rappresenti correttamente. Da qui segue anche la non commutatività: comporre \(f\) dopo \(g\) non è la stessa cosa che comporre \(g\) dopo \(f\).
Anche l'inversa di una matrice, quindi, non è un artificio di calcolo: è la matrice della funzione inversa, e non esiste esattamente quando la funzione non è invertibile.
7. Forme lineari e iperpiani
Un caso particolare merita attenzione: quello in cui lo spazio di arrivo è il campo stesso. Sono le applicazioni lineari a valori scalari, cioè quelle che assegnano un numero a ogni vettore.
Il nucleo di una forma lineare non nulla è un sottospazio di codimensione 1, cioè "grande quanto lo spazio meno una direzione". Ha un nome proprio.
\(\mathrm{Ker}\, f\) è sempre sottospazio di \(\mathbf{E}\), e vale \(\dim \mathrm{Ker}\, f + \dim \mathrm{Im}(f) = \dim \mathbf{E}\). Basta quindi mostrare che \(\dim \mathrm{Im}(f) = 1\), cioè che \(f\) è suriettiva su \(\mathbf{K}\).
Poiché \(f\) non è nulla, esiste \(x \in \mathbf{E}\) con \(f(x) = a \neq 0_K\). Preso un qualsiasi \(\lambda \in \mathbf{K}\), poniamo \(y = \lambda a^{-1} x\), che appartiene a \(\mathbf{E}\) perché \(\lambda a^{-1}\) è uno scalare. Allora
$$f(y) = f(\lambda a^{-1} x) = \lambda a^{-1} f(x) = \lambda a^{-1} a = \lambda$$
Quindi per ogni \(\lambda \in \mathbf{K}\) esiste \(y \in \mathbf{E}\) con \(f(y) = \lambda\), cioè \(f\) è suriettiva e \(\mathrm{Im}(f) = \mathbf{K}\), da cui \(\dim \mathrm{Im}(f) = 1\). Sostituendo: \(\dim \mathrm{Ker}\, f + 1 = \dim \mathbf{E}\), ossia \(\dim \mathrm{Ker}\, f = \dim \mathbf{E} - 1\), che è la tesi. \(\blacksquare\)
Vale anche il viceversa, ed è la parte più laboriosa.
Poiché \(\mathbf{H} \subset \mathbf{E}\) e \(\mathbf{H} \neq \mathbf{E}\), esiste \(y \in \mathbf{E} \setminus \mathbf{H}\). Consideriamo \(\mathbf{D} = \langle y \rangle\) e dimostriamo che \(\mathbf{E} = \mathbf{H} \oplus \mathbf{D}\).
Da \(\mathbf{H} \subseteq \mathbf{H} + \mathbf{D} \subseteq \mathbf{E}\) segue \(n - 1 \leq \dim(\mathbf{H} + \mathbf{D}) \leq n\). Non può essere \(\dim(\mathbf{H} + \mathbf{D}) = n - 1\), altrimenti sarebbe \(\mathbf{H} = \mathbf{H} + \mathbf{D}\), assurdo perché \(y \in \mathbf{H} + \mathbf{D}\) ma \(y \notin \mathbf{H}\). Quindi \(\dim(\mathbf{H} + \mathbf{D}) = n\) e pertanto \(\mathbf{H} + \mathbf{D} = \mathbf{E}\).
Resta da mostrare che \(\mathbf{H} \cap \mathbf{D} = \{0\}\). Per l'identità di Grassmann, \(\dim \mathbf{H} + \dim \mathbf{D} = \dim(\mathbf{H} \cap \mathbf{D}) + \dim(\mathbf{H} + \mathbf{D})\), cioè \((n-1) + 1 = \dim(\mathbf{H} \cap \mathbf{D}) + n\), da cui \(\dim(\mathbf{H} \cap \mathbf{D}) = 0\) e \(\mathbf{H} \cap \mathbf{D} = \{0\}\).
Dunque \(\mathbf{E} = \mathbf{H} \oplus \mathbf{D}\) e ogni vettore \(x \in \mathbf{E}\) si scrive in un unico modo come \(x = h + d\) con \(h \in \mathbf{H}\), \(d \in \mathbf{D}\); e poiché \(\mathbf{D} = \langle y \rangle\), per ogni \(d \in \mathbf{D}\) esiste un unico \(a \in \mathbf{K}\) con \(d = ay\). In definitiva
$$\forall x \in \mathbf{E} \quad \exists!\, h \in \mathbf{H}\ \ \exists!\, a \in \mathbf{K} : x = h + ay$$
Definiamo allora \(f : \mathbf{E} \rightarrow \mathbf{K}\) ponendo \(f(x) = a\), dove \(a\) è lo scalare che compare in \(x = h + ay\). Verifichiamo che è un omomorfismo: presi \(x = h + ay\) e \(x' = h' + a'y\), si ha
$$f(\lambda x + \mu x') = f\big(\lambda h + \mu h' + (\lambda a + \mu a')y\big) = \lambda a + \mu a' = \lambda f(x) + \mu f(x')$$
Dimostriamo infine che \(\mathbf{H} = \mathrm{Ker}\, f\). Per ogni \(h \in \mathbf{H}\) si ha \(h = h + 0_K y\), quindi \(f(h) = 0_K\) e \(h \in \mathrm{Ker}\, f\): dunque \(\mathbf{H} \subseteq \mathrm{Ker}\, f\). Ma \(f\) è una forma lineare non nulla, quindi per il teorema precedente \(\mathrm{Ker}\, f\) è un iperpiano e \(\dim \mathrm{Ker}\, f = n - 1\); anche \(\mathbf{H}\) è un iperpiano, quindi \(\dim \mathbf{H} = n - 1\). Due sottospazi con la stessa dimensione, uno contenuto nell'altro, coincidono: \(\mathbf{H} = \mathrm{Ker}\, f\). \(\blacksquare\)
Si noti l'uso, nell'ultimo passaggio, del criterio dimensionale enunciato nella sezione 4: è il modo più economico di chiudere la dimostrazione. Un iperpiano può essere rappresentato dai nuclei di più forme lineari non nulle, a seconda di come si sceglie \(y \in \mathbf{E} \setminus \mathbf{H}\), ma la scelta cambia poco.
Le forme lineari con lo stesso nucleo sono cioè tutte proporzionali fra loro: l'iperpiano determina la forma a meno di un fattore di scala.
8. Forme bilineari
Passiamo ora dalle funzioni di un vettore alle funzioni di due vettori, lineari in ciascuno dei due argomenti separatamente. È la struttura che sta sotto al prodotto scalare, e quindi sotto ai concetti di lunghezza, angolo e ortogonalità.
- \(\forall x, x', y \in \mathbf{E} : \varphi(x + x', y) = \varphi(x, y) + \varphi(x', y)\)
- \(\forall x, y, y' \in \mathbf{E} : \varphi(x, y + y') = \varphi(x, y) + \varphi(x, y')\)
- \(\forall x, y \in \mathbf{E},\ \forall \alpha \in \mathbf{K} : \varphi(\alpha x, y) = \varphi(x, \alpha y) = \alpha\, \varphi(x, y)\)
In altri termini, \(\varphi\) è bilineare se le applicazioni parziali \(x \mapsto \varphi(x, y)\) e \(y \mapsto \varphi(x, y)\), ottenute congelando un argomento, sono forme lineari su \(\mathbf{E}\). Ne segue subito che \(\varphi(0_E, y) = \varphi(0_K \cdot 0_E, y) = 0_K\, \varphi(0_E, y) = 0_K\), e analogamente \(\varphi(x, 0_E) = 0_K\).
Anche una forma bilineare, come un'applicazione lineare, è determinata dai suoi valori sulla base: conoscere \(\varphi\) su tutte le coppie \((e_i, e_j)\) significa conoscerla ovunque. E anche qui il risultato si organizza in una matrice.
La verifica è un conto di due righe. Siano \(x = x^i e_i\) e \(y = y^j e_j\); allora
e quindi, conoscendo la matrice \(A\) e la base \(\mathbf{B}\), conosciamo tutta la forma bilineare. In notazione matriciale, posti \(x\) e \(y\) come vettori colonna,
che restituisce uno scalare. Questa scrittura tornerà spesso: è la stessa che nella terza parte, con \(y = x\), diventerà la forma quadratica \(x^T A x\).
La simmetria della forma si riflette sulla matrice, e in modo indipendente dalla base scelta: se \(\varphi\) è simmetrica allora \(\varphi(e_i, e_j) = \varphi(e_j, e_i)\), cioè \(a_{ij} = a_{ji}\), qualunque sia la base \(\mathbf{B}\). È la ragione profonda per cui le matrici simmetriche ricorrono ovunque — sono la controparte in coordinate di un oggetto geometrico che non dipende dalle coordinate. Nella seconda parte vedremo che proprio per queste matrici valgono i teoremi più forti sugli autovalori.
- \(\forall x \in \mathbf{E} : \varphi(x, x) \geq 0_R\)
- \(\forall x \in \mathbf{E} : \varphi(x, x) = 0_R \iff x = 0_E\)
9. Spazi euclidei e norme
Mettendo insieme i tre aggettivi — bilineare, simmetrica, definita positiva — si ottiene la struttura che permette di misurare.
Si dimostra che la funzione \(\varphi : \mathbb{R}^n \times \mathbb{R}^n \to \mathbb{R}\) definita da \(\varphi(x, y) = \sum_{i=1}^n x_i y_i\) è un prodotto scalare, chiamato prodotto scalare standard su \(\mathbb{R}^n\). È quello che si usa implicitamente ogni volta che si scrive un prodotto scalare in codice, ma è bene ricordare che è una scelta fra tante: cambiare prodotto scalare significa cambiare la nozione di distanza e di angolo, ed è esattamente quello che si fa, per esempio, con la distanza di Mahalanobis.
Il concetto di norma si può definire in astratto, senza passare da un prodotto scalare.
- \(\forall x \in \mathbf{E} : f(x) \geq 0\)
- \(\forall x \in \mathbf{E} : f(x) = 0 \iff x = 0\) (definitezza)
- \(\forall x \in \mathbf{E},\ \forall t \in \mathbb{R} : f(t x) = \lvert t \rvert\, f(x)\) (omogeneità)
- \(\forall x, y \in \mathbf{E} : f(x + y) \leq f(x) + f(y)\) (disuguaglianza triangolare)
Un prodotto scalare, però, ne induce sempre una.
- \(\forall x \in \mathbf{E} : \lVert x \rVert = 0 \iff x = 0_E\)
- \(\forall x \in \mathbf{E},\ \forall \alpha \in \mathbb{R} : \lVert \alpha x \rVert = \lvert \alpha \rvert\, \lVert x \rVert\)
- \(\forall x, y \in \mathbf{E} : \varphi(x, y) \leq \lVert x \rVert\, \lVert y \rVert\) (disuguaglianza di Schwarz)
- \(\forall x, y \in \mathbf{E} : \lVert x + y \rVert \leq \lVert x \rVert + \lVert y \rVert\) (disuguaglianza triangolare)
(1) \(\lVert x \rVert = 0_R \iff \sqrt{\varphi(x,x)} = 0_R \iff \varphi(x,x) = 0_R \iff x = 0_E\), dove l'ultima equivalenza è la definitezza positiva dello spazio euclideo.
(2) \(\lVert \alpha x \rVert = \sqrt{\varphi(\alpha x, \alpha x)} = \sqrt{\alpha^2 \varphi(x,x)} = \lvert \alpha \rvert \sqrt{\varphi(x,x)} = \lvert \alpha \rvert\, \lVert x \rVert\).
(3) Se \(y = 0_E\) la tesi è banale, perché entrambi i membri sono nulli. Se \(y \neq 0_E\), poniamo \(\lambda = \lVert y \rVert^2\) e \(\mu = -\varphi(x,y)\), e sfruttiamo la positività della forma sul vettore \(\lambda x + \mu y\):
$$0_R \leq \varphi(\lambda x + \mu y,\, \lambda x + \mu y) = \lambda^2 \varphi(x,x) + 2\lambda\mu\, \varphi(x,y) + \mu^2 \varphi(y,y)$$
Sostituendo i valori scelti per \(\lambda\) e \(\mu\):
$$0_R \leq \lVert y \rVert^4 \lVert x \rVert^2 - 2 \lVert y \rVert^2 \varphi(x,y)^2 + \varphi(x,y)^2 \lVert y \rVert^2 = \lVert y \rVert^4 \lVert x \rVert^2 - \lVert y \rVert^2 \varphi(x,y)^2$$
Dividendo per \(\lVert y \rVert^2 \gt 0\) si ottiene \(\varphi(x,y)^2 \leq \lVert x \rVert^2 \lVert y \rVert^2\), da cui \(\lvert \varphi(x,y) \rvert \leq \lVert x \rVert \lVert y \rVert\) e a maggior ragione \(\varphi(x,y) \leq \lVert x \rVert \lVert y \rVert\).
(4) Sviluppando il quadrato della norma e usando la (3):
$$\lVert x + y \rVert^2 = \varphi(x+y, x+y) = \lVert x \rVert^2 + 2\varphi(x,y) + \lVert y \rVert^2 \leq \lVert x \rVert^2 + 2\lVert x \rVert \lVert y \rVert + \lVert y \rVert^2 = \big(\lVert x \rVert + \lVert y \rVert\big)^2$$
e poiché sia \(\lVert x+y \rVert\) sia \(\lVert x \rVert + \lVert y \rVert\) sono non negativi, si può estrarre la radice conservando il verso: \(\lVert x + y \rVert \leq \lVert x \rVert + \lVert y \rVert\). \(\blacksquare\)
Altre norme: \(p\)-norme e norma di Frobenius
La norma euclidea è solo un caso della famiglia delle \(p\)-norme:
Per \(p = 2\) si ritrova quella euclidea, per \(p = 1\) la somma dei valori assoluti (quella che nella regolarizzazione produce soluzioni sparse), per \(p \to \infty\) il massimo. È utile anche definire una norma sulle matrici, e quella più immediata tratta la matrice come un lungo vettore.
Nel campo reale, dunque, \(\lVert A \rVert_F\) è la radice della somma dei quadrati di tutti gli elementi della matrice. L'identità con la traccia non è una curiosità: è il modo in cui la norma di Frobenius si collega ai valori singolari, cosa che vedremo parlando di SVD.
10. Distanza, angoli, ortogonalità
Con la norma si definisce la distanza, e con essa \(\mathbf{E}\) diventa uno spazio metrico.
- \(d(x,y) = 0 \iff x = y\)
- \(d(x,y) = d(y,x)\)
- \(d(x,z) \leq d(x,y) + d(y,z)\)
La disuguaglianza di Schwarz permette poi di recuperare la nozione di angolo, che a prima vista sembrerebbe irrimediabilmente legata alla geometria del piano. Se \(x \neq 0_E\) e \(y \neq 0_E\), Schwarz garantisce che
e poiché il coseno è strettamente decrescente in \([0, \pi]\), esiste un unico \(\theta \in [0,\pi]\) il cui coseno vale quel rapporto. È il fatto che quel quoziente cada sempre nell'intervallo giusto a rendere la definizione lecita.
È la formula alla base della cosine similarity, usata continuamente per confrontare embedding: due vettori sono simili quando l'angolo fra loro è piccolo, indipendentemente dalla loro lunghezza. Il caso limite dell'angolo retto ha un nome proprio.
L'ortogonalità è una condizione molto più forte dell'indipendenza lineare, e infatti la implica.
Siano \(x_1, \dots, x_h\) a due a due ortogonali e non nulli. Consideriamo una combinazione lineare nulla \(\sum_{i=1}^h \lambda_i x_i = 0\) e dimostriamo che tutti i \(\lambda_i\) sono nulli.
Fissato \(t\) con \(1 \leq t \leq h\), calcoliamo il prodotto scalare di \(x_t\) con la combinazione, che è il vettore nullo:
$$0 = \varphi\Big(x_t,\, \sum_{i=1}^h \lambda_i x_i\Big) = \sum_{i=1}^h \lambda_i\, \varphi(x_t, x_i) = \sum_{\substack{i=1 \\ i \neq t}}^h \lambda_i \underbrace{\varphi(x_t, x_i)}_{= 0 \text{ perché ortogonali}} + \ \lambda_t\, \varphi(x_t, x_t)$$
Tutti i termini della sommatoria si annullano per l'ortogonalità, e resta \(\lambda_t \lVert x_t \rVert^2 = 0\). Poiché \(x_t \neq 0\), la sua norma non è nulla, e quindi \(\lambda_t = 0\). Ripetendo il ragionamento per ogni \(t\) si conclude che tutti i coefficienti sono zero, cioè i vettori sono linearmente indipendenti. \(\blacksquare\)
Questo suggerisce che le basi ortogonali siano particolarmente comode: essendo l'ortogonalità più forte dell'indipendenza, una famiglia ortogonale è automaticamente una base non appena ha abbastanza elementi. E, cosa più importante, una base ortogonale si può sempre costruire a partire da una base qualsiasi.
Il teorema è costruttivo, e il procedimento che lo dimostra è un algoritmo effettivo: si prende il primo vettore così com'è, poi a ogni passo si sottrae al vettore successivo la sua proiezione sui vettori già ortogonalizzati, eliminando via via ogni componente ridondante. Normalizzando alla fine si ottiene una base ortonormale. È la base concettuale della fattorizzazione QR, e il motivo per cui poter sempre lavorare in una base ortonormale non è un'ipotesi comoda ma un fatto garantito.
Dove si va da qui
Tirando le somme, in questa prima parte abbiamo costruito il vocabolario: spazi e sottospazi, indipendenza, basi e dimensione, applicazioni lineari con nucleo e immagine, e infine la struttura metrica data dal prodotto scalare. Due risultati in particolare torneranno di continuo: il teorema del rango \(\dim \mathbf{E} = \dim \mathrm{Ker} f + \dim \mathrm{Im} f\), e il fatto che le matrici non sono che applicazioni lineari e forme bilineari scritte in coordinate.
Nella seconda parte partiamo proprio da lì: prodotto fra matrici letto in quattro modi diversi, rango, inversa, matrici ortogonali, determinanti, e poi il cuore della faccenda — autovalori, diagonalizzazione, decomposizione ai valori singolari e pseudo-inversa di Moore-Penrose.
- Ottieni link
- X
- Altre app
Commenti
Posta un commento