Dopo aver conosciuto l’universo di Star Wars, dove la tecnologia è di gran lunga più avanzata rispetto a quella attualmente a nostra disposizione, è impossibile non chiedersi almeno una volta se la Matematica, la Fisica o la Chimica della galassia lontana lontana siano o meno le stesse che studiamo noi. Così, su due piedi, non ci risulta possibile dare una risposta definitiva a questo interrogativo. Tuttavia possiamo analizzare una serie di situazioni, di opere o di informazioni canoniche con una serie di approfondimenti e calcoli a tema, per dare tante piccole risposte ad altrettanti quesiti minori. Quesiti che possono sorgere, in ottica scientifica, proprio a partire dall’oggetto della suddetta analisi.
Per inaugurare questa nuova rubrica andremo a studiare un problema di matematica che ritroviamo nel romanzo canonico L’erede dei Jedi di Kevin Hearne:
“«L’Alleanza ti porge i suoi saluti. È un piacere incontrarti. Sono Luke Skywalker». Era il momento di ripetere diligentemente l’equazione che avevo memorizzato quella mattina. «Mentre fuggiamo dal resto delle guardie, ti dispiacerebbe fornirmi gli autovalori e autovettori per la seguente matrice tre per tre: uno, meno tre, tre, poi tre, meno cinque, tre, e sei, meno sei, quattro?» «Sono incantata, Luke Skywalker. Felice di conoscerti!»”
La vicenda
Ne L’erede dei Jedi, Luke deve portare a termine una serie di missioni volte ad assistere i Ribelli nel periodo immediatamente successivo ad Episodio IV. Di queste missioni, la più importante prevede il salvataggio della crittografa givin Drusil Bephorin, una figura molto importante per l’Alleanza e particolarmente interessante per via di una peculiarità tipica della sua specie. I givin, infatti, sono soliti proporre problemi di natura matematica ai loro simili e non, poiché quest’ultima è centrale nella loro cultura. Nel caso di Luke, come descritto nell’estratto riportato poc’anzi, egli anticipa Drusil chiedendole di risolvere un problema di Algebra Lineare che gli era stato illustrato preventivamente da Leia.
Problema che, almeno secondo i programmi di molte università italiane, è risolvibile dagli studenti del primo anno di diversi corsi di laurea incentrati sulle discipline STEM (Science, Technology, Engineering and Mathematics). Ma non temete: in questo approfondimento tratteremo solo gli aspetti necessari alla risoluzione del problema spiegando i concetti nel modo più semplice possibile, fornendo esempi dove necessario e, ovviamente, mostrando tutti i calcoli in cui ci imbatteremo. Non importa se la vostra formazione in ambito matematico si è “stabilizzata” sulle nozioni delle scuole superiori, perché il problema da risolvere si ridurrà allo svolgimento di calcoli che sarete sicuramente in grado di svolgere con le vostre conoscenze pregresse. Pronti? Si comincia!
Tanto tempo fa, in una geometria lontana lontana…
Vettori e matrici
I protagonisti del problema di Luke, ovvero gli autovalori e gli autovettori, sono oggetti matematici che richiedono una serie di preconcetti per poter essere definiti in maniera chiara e non superficiale. I preconcetti fondamentali di cui abbiamo bisogno sono i vettori e le matrici.
I vettori v=(a1, … , an) sono oggetti che possono essere sommati tra loro (nel caso in cui la loro dimensione sia la stessa, e a dircelo è la ‘n’) o moltiplicati per un numero ???? detto scalare. Queste due operazioni sono definite come segue: la somma si svolge componente per componente, cioè si sommano tra loro i valori che si trovano nella stessa posizione (indicata dall’indice messo come pedice delle ‘a’ nell’esempio sopra riportato), mentre la moltiplicazione prevede che ciascuna componente venga moltiplicata per lo scalare ????. Un esempio è il seguente: (1, 2, 3) + (-10, 0, 1) = (1-10, 2+0, 3+1) = (-9, 2, 4), e 6 ∙ (1, 2, 3) = (6∙1, 6∙2, 6∙3) = (6, 12, 18).
Vettori della stessa dimensione “vivono” in particolari ambienti chiamati spazi vettoriali.
Le matrici sono tabelle rettangolari contenenti una serie di valori numerici. Sotto determinate condizioni esse si comportano esattamente come dei vettori andando a costituire degli spazi vettoriali, e in alcuni casi specifici possono anche essere moltiplicate per altre matrici o per dei vettori (i quali possono essere visti come delle matrici particolari).
Nel nostro caso ci interessano le matrici quadrate, ovvero le matrici tali che il numero di elementi presenti su ciascuna riga combaci con il numero di quelli presenti su ciascuna colonna. Queste matrici, interagendo con vettori “affini”, possono “dare vita” ad autovalori e autovettori. La condizione di “affinità” è la seguente: se il numero di righe/colonne della matrice quadrata corrisponde alla dimensione del vettore, è possibile svolgere il cosiddetto ‘prodotto righe per colonne‘, che nel nostro caso specifico restituisce come risultato un nuovo vettore della stessa lunghezza di quello iniziale.
Il problema di Luke
Per il problema di Luke, il prodotto in questione è definito come segue: dati la matrice e il vettore iniziali, il vettore risultante ha come componenti le somme dei prodotti svolti componente per componente tra le righe della matrice e il vettore iniziale. Più nel dettaglio, la prima componente del vettore risultante si ottiene sommando i prodotti svolti componente per componente tra la prima riga della matrice e il vettore di partenza, la seconda componente sommando quelli tra la seconda riga e il vettore di partenza, e la terza componente sommando quelli tra la terza riga e il vettore di partenza. Vediamo rapidamente un esempio con un’altra matrice 3×3.
Se abbiamo come matrice quella appena riportata e come vettore iniziale (5, 2, 4), il prodotto righe per colonne tra i due sarà il vettore (1・5+2・2+5・4, 0・5+1・2+8・4, 3・5+4・2+1・4)=(5+4+20, 0+2+32, 15+8+4)=(29, 34, 27).
A questo punto possiamo addentrarci nel vivo del problema spiegando cosa sono gli autovalori e gli autovettori associati a una matrice.
Autovalori e autovettori
Gli autovettori associati a una matrice quadrata sono quei particolari vettori che, moltiplicati per la matrice data secondo il prodotto righe per colonne, restituiscono come risultato un vettore che è un loro multiplo. Questa definizione si traduce nell’ uguaglianza Av=????v, dove A è la matrice, v è il vettore e ???? è uno scalare. In sostanza stiamo dicendo che svolgere il prodotto righe per colonne tra la matrice A e l’autovettore è equivalente a moltiplicare l’autovettore per il suo specifico ????.
Gli autovalori associati a una matrice quadrata sono proprio i ???? associati agli autovettori della matrice A. L’insieme degli autovalori di una data matrice A viene chiamato spettro e viene indicato con Sp(A). Gli autovalori (quindi anche gli autovettori) sono molto importanti in quanto permettono di determinare una serie di proprietà della matrice e dell’endomorfismo a essa associato (un endomorfismo è un particolare tipo di funzione tra spazi vettoriali che, tuttavia, non approfondiremo per evitare di appesantire troppo la lettura). Autovettori associati a uno stesso autovalore generano particolari spazi vettoriali chiamati autospazi.
Il problema di Luke consiste dunque nel trovare quali sono gli autovalori associati alla sua matrice e, solo successivamente, gli autovettori relativi ai singoli autovalori.
L’impostazione del problema
Per trovare gli autovalori di A bisogna determinare le radici (o zeri) di un particolare polinomio (cioè i valori che lo annullano), chiamato polinomio caratteristico, che varia in base alla matrice a cui fa riferimento. Senza introdurre ulteriori concetti teorici e svolgere calcoli abbastanza noiosi, vi basti sapere che il polinomio caratteristico della matrice di Luke è -????3+12????+16, che si fattorizza (usando la Regola di Ruffini, quella che si studia anche alle superiori) come (4-????)・(????+2)2, da cui le sue radici sono 4, -2 e -2. Quindi gli autovalori della matrice sono -2 (contato due volte) e 4.
Per trovare gli autovettori relativi agli autovalori trovati dobbiamo quindi chiederci: quali sono quei vettori che, moltiplicati per la matrice, restituiscono un vettore che è il loro quadruplo oppure il loro doppio cambiato di segno? Questa domanda si traduce nella risoluzione di due equazioni matriciali nella forma
che a loro volta si traducono, svolgendo il prodotto righe per colonne, in due sistemi lineari nella forma
che infine, con i dovuti spostamenti e le possibili semplificazioni derivate da semplici calcoli, si riducono ai due sistemi lineari omogenei seguenti, sostituendo ???? con gli autovalori trovati in precedenza.
Le soluzioni di questi due sistemi saranno delle terne (x, y, z) che corrisponderanno proprio agli autovettori che stiamo cercando.
I calcoli per il primo sistema
Il primo sistema (????=-2) si riduce alla singola equazione x–y+z=0 (essendo ripetuta per tre volte non fornisce ulteriori informazioni sulle soluzioni del sistema, quindi si può scrivere una sola volta), che ha infinite soluzioni (x, y, z) tali che y=x+z (condizione ottenuta manipolando l’equazione rimasta e che ci permette di “eliminare” la y in quanto dipendente da x e z), vale a dire soluzioni nella forma (x, x+z, z).
Dalla definizione di somma tra vettori possiamo ricavare che la generica soluzione del sistema si può scrivere come somma di due vettori: (x, x+z, z) = (x, x, 0) + (0, z, z), con x e z che variano nell’insieme su cui è costruito lo spazio vettoriale (cioè da cui prendiamo i valori che, messi “in fila”, costituiscono i vettori). A questo punto dobbiamo solo scegliere i valori più “comodi” per x e z, per esempio possiamo prendere x=z=1, avendo così come soluzioni i vettori (1, 1, 0) e (0, 1, 1): tutti gli altri vettori che soddisfano il sistema sono somma di loro specifici multipli (l’importante è non prendere contemporaneamente x e z uguali a 0, altrimenti si banalizza il risultato ottenuto).
I calcoli per il secondo sistema
Il secondo sistema (????=4) ci dice che devono essere contemporaneamente soddisfatte tre condizioni:
▶︎z=x+y; (I)
▶︎z=3y–x; (II)
•x=y. (III)
La (III) ci permette di riscrivere la (I) e la (II), rispettivamente, come z=x+x=2x e z=3x–x=2x. Poiché queste due equazioni ci forniscono la stessa informazione, possiamo prenderne in considerazione solo una, diciamo la (II). Vanno dunque soddisfatte le condizioni
▶︎z=2x; (II)
▶︎y=x. (III)
Osserviamo che abbiamo scritto y e z in funzione di x, quindi il generico vettore che verifica questo sistema deve essere nella forma (x, x, 2x).
Applicando la definizione di moltiplicazione di un vettore per uno scalare, possiamo scrivere (x, x, 2x) = x ・ (1, 1, 2), pertanto le soluzioni sono tutti e soli i multipli del vettore (1, 1, 2), che possiamo prendere come soluzione più “comoda”.
La soluzione
Riprendendo il romanzo, possiamo leggere:
“Svoltammo il primo angolo, entrando nella fogna vera e propria e togliendoci alla vista immediata del tunnel di scolo della strada, ma avevamo percorso solo pochi passi prima che la sua voce alle mie spalle dicesse: «Per rispondere alla tua domanda, gli autovalori per quella matrice sarebbero quattro, meno due e meno due, con gli associati vettori radice di sei su sei per il vettore uno, uno, due; radice di due su due per il vettore meno uno, zero, uno; radice di due su due per il vettore uno, uno, zero: normalizzato e razionalizzato, ovviamente.»”
Come possiamo vedere, abbiamo calcolato correttamente gli autovalori e nella scelta degli autovettori differiamo (a meno di un coefficiente di proporzionalità non nullo) di un solo vettore rispetto ai calcoli di Drusil, che non è un errore in quanto, come detto in precedenza, gli autovettori possono essere scelti “a piacere” tra gli infiniti possibili (per la precisione, per ????=-2 noi abbiamo preso x=z=1 per entrambi gli autovettori, mentre la givin ha scelto x=-1 e z=1 per il primo e x=1 e z=0 per il secondo).
Se ne volete un’ulteriore conferma potete svolgere il prodotto righe per colonne tra la matrice di Luke e i tre autovettori che abbiamo scelto: vedrete che i vettori risultanti saranno loro multipli secondo un coefficiente di proporzionalità pari esattamente al loro rispettivo autovalore.
Drusil, in aggiunta ai calcoli che abbiamo svolto, ha scelto di “levigare” i suoi autovettori normalizzandoli e razionalizzandoli, cioè facendo sì che avessero lunghezza pari a 1 e che al denominatore dei singoli coefficienti non ci fossero numeri irrazionali. Questi rimaneggiamenti non sono assolutamente necessari, ma contribuiscono a rendere il risultato più elegante e versatile.
E voi avete letto L’erede dei Jedi? Sapevate come risolvere il problema di Drusil? Fatecelo sapere nei commenti! E continuate a seguirci, anche su Facebook, YouTube, Instagram e Twitter! Vi terremo costantemente aggiornati sull’universo di Star Wars.