Laboratorio di MatLab Algebra lineare e Geometria Alessandro Benfenati Ph.D. Student Departments of Mathematics - University of Ferrara [email protected] 1 / 41 Sommario 1 Introduzione Organizzazione Perché i sistemi lineari? 2 Algebra Lineare Determinante Rango Matrice Inversa 3 Sistemi lineari Matrici e sistemi Grafica Sistemi indeterminati 4 Spazi vettoriali Combinazioni lineari Basi Matrici e Basi 2 / 41 Introduzione Organizzazione Organizzazione ed Esercizi Date delle lezioni 07/04/2014 : 1 lezione 14/04/2014 : 2 lezione 28/04/2014 : 3 lezione Che si fa?? 05/05/2014 : 4 lezione 12/05/2014 : 5 lezione 19/05/2014 : simulazione di esame 3 / 41 Introduzione Organizzazione Organizzazione ed Esercizi Date delle lezioni 07/04/2014 : 1 lezione 14/04/2014 : 2 lezione 28/04/2014 : 3 lezione Che si fa?? 05/05/2014 : 4 lezione 12/05/2014 : 5 lezione 19/05/2014 : simulazione di esame Esercizi. 4 / 41 Introduzione Perché i sistemi lineari? Tariffe telefoniche Supponiamo di dover scegliere fra due tariffe per il cellulare: con la prima abbiamo un costo di 0.16 e al minuto senza scatto alla risposta, mentre con la seconda abbiamo un costo di 0.12 e al minuti con 0.12 e di scatto alla risposta. Si vuole capire quale delle due è più conveniente. Se indichiamo con x il tempo di chiamata e con y il costo della stessa chiamata, allora posso scrivere 0.8 y = 0.16x y=0.12x+0.12 (x*,y*)=(3,0.48) 0.7 0.6 % y 0.16x 0.12x 0.5 Costo $ & y 0.12 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 Minuti 3 3.5 4 4.5 Le componenti px , y q della soluzione del sistema rappresentano la durata della chiamata (x ) per cui il costo (y ) della stessa è uguale, 5 indipendentemente dalla tariffa scelta. Quindi, per decidere quale tariffa applicare, è necessario vedere la durata media delle chiamate effettuate. 5 / 41 Introduzione Perché i sistemi lineari? Masse Supponiamo di avere una leva, di estremi A e B. Si desidera porre il baricentro nel punto M, di coordinate date. Si vogliono trovare le masse da porre in A e in B per fare in modo che il baricentro sia nella posizione voluta. A M B Ricordando la formula del baricentro in due dimensioni, possiamo scrivere $ & % 1 Mtot pMA xA MB xB q xM 1 Mtot pMA yA MB yB q yM dove MA e MB sono le masse da porre nei punti A e B, mentre Mtot è la massa totale. 2, 3 , B 8, 3 , M 3, 3 e Mtot 1, allora il sistema Ad esempio, se A da risolvere è $ 3 & 2MA 8MB p q p q % 3MA p q 3MB 3 6 / 41 Introduzione Perché i sistemi lineari? Traiettoria parabolica Siamo interessati a calcolare i coefficienti della traiettoria parabolica1 della palla in figura. 400 350 300 y 250 200 150 100 50 100 200 300 400 500 600 x 1 http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg 7 / 41 Introduzione Perché i sistemi lineari? Traiettoria parabolica Siamo interessati a calcolare i coefficienti della traiettoria parabolica1 della palla in figura. L’equazione della parabola è 400 y 350 ax 2 bx c 300 quindi si scelgono tre punti e si impone il passaggio per questi tre punti: y 250 200 p150, 256q B p250, 363q C p360, 143q A 150 100 50 100 200 300 400 500 600 x Si ottiene il sistema $ 22500a ' ' ' ' & 150b c 256 62500a 250b c 363 ' ' ' ' % 1 129600a 360b c 143 http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg 8 / 41 Introduzione Perché i sistemi lineari? Traiettoria parabolica Siamo interessati a calcolare i coefficienti della traiettoria parabolica1 della palla in figura. L’equazione della parabola è 400 y 350 ax 2 bx c 300 quindi si scelgono tre punti e si impone il passaggio per questi tre punti: y 250 200 p150, 256q B p250, 363q C p360, 143q A 150 100 50 100 200 300 400 500 600 x Si ottiene il sistema $ 22500a ' ' ' ' & 150b c 256 62500a 250b c 363 ' ' ' ' % 1 129600a 360b c 143 http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg 9 / 41 Introduzione Perché i sistemi lineari? Traiettoria parabolica Siamo interessati a calcolare i coefficienti della traiettoria parabolica2 della palla in figura. L’equazione della parabola è 400 y 350 ax 2 bx c 300 quindi si scelgono tre punti e si impone il passaggio per questi tre punti: y 250 200 p382, 56q B p479, 265q C p590, 52q A 150 100 50 100 200 300 400 500 600 x Si ottiene il sistema $ 145924a ' ' ' ' & 382b c 56 229441a 479b c 265 348100a 590b c 52 ' ' ' ' % 2 http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg 10 / 41 Algebra Lineare Determinante Algebra lineare: richiami. Per poter risolvere adeguatamente i sistemi lineari, è necessario avere qualche strumento dall’algebra lineare. Si comincia con i determinanti. Def. P p q P Determinante Il determinante di una matrice A M11 R c R è c stesso. Il determinante di una matrice A M22 R è definito nella maniera seguente: det P a c p q b d ad bc Per poter definire il determinante di matrici di ordine superiore, si necessita di altre definizioni. Achtung!! Il determinante si può calcolare solo per matrice quadrate! 11 / 41 Algebra Lineare Determinante Algebra lineare: richiami. Def. P p q Minore complementare Data una matrice A Mnn R si definisce minore complementare dell’elemento di posto i, j (e si indica con Mij ) il determinante della matrice che si ottiene eliminando da A l’i-esima riga e la j-esima colonna Ad esempio, se si volesse calcolare M21 della seguente matrice si avrebbe 1 0 9 3 3 2 0 0 1 ñ M21 det 3 2 0 1 31203 Def. Complemento algerico Si definisce complemento algebrico dell’elemento di posto i, j (e si indica con Cij ) il termine 1 i j Mij , dove Mij è il rispettivo minore complementare. p q Nell’esempio precedente: C21 p1q2 1 3 3 12 / 41 Algebra Lineare Determinante Algebra lineare: determinante. Def. (Determinante, Laplace) P p q Il Determinante di una matrice A Mnn R è dato dalla somma degli elementi di una qualunque riga (o colonna) moltiplicati per i rispettivi complementi algebrici. Se si volesse calcolare il determinante di una matrice A rispetto alla riga i si avrebbe det A ai 1 Ci 1 ai 2 Ci 2 ain Cin p q rispetto alla colonna j invece p q a1j C1j det A a2j C2j anj Cnj Remark Il determinante non dipende dalla particolare riga o colonna rispetto a cui si sviluppa, inoltre svilupparlo per righe o per colonne è indifferente. 13 / 41 Algebra Lineare Determinante Algebra lineare: determinante. Ad esempio, se A 1 0 9 3 3 2 0 0 1 allora, sviluppando secondo la prima colonna p q 1C11 0C21 p1q2det 32 3 03 det A 9C31 0 1 p1q4 det 9 3 3 0 0 Secondo la seconda riga p q 0C21 3C22 4 3p1q det 3 det A 0C23 1 9 0 1 14 / 41 Algebra Lineare Determinante Proprietà del determinante Il determinante di una matrice quadrata gode delle seguenti proprietà: se due colonne (o righe) sono uguali allora il determinante è nullo; Il valore del determinante rimane immutato se si aggiunge ad una tiga (colonna) un’altra riga (colonna) moltiplicata per uno scalare; se si scambiano due righe (colonne) il determinante cambia di segno; p q detpAt q detpAB q detpAqdetpB q det A Curiosità Il valore assoluto del determinante di una y matrice bidimensionale è l’area del parallelogramma che ha per lati le colonne della matrice. A A 1 2 3 1.5 p1, 2q |detpAq| 4.5 p3, 1.5q x Il risultato si generalizza a n dimensioni. 15 / 41 Algebra Lineare Determinante Determinante, Matlab Per fortuna MatLab ci viene in aiuto e ci consente di calcolare il determinante in maniera comoda: A 1 0 9 3 3 2 0 0 1 >> A = [1 3 0; 0 3 0; 9 2 1 ] A = 1 3 0 0 3 0 9 2 1 >> det ( A ) ans = 3 Achtung! Attenzione alle matrici di determinante prossimo allo zero. A 1 4 7 2 5 8 3 6 9 >> A = [1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> det ( A ) ans = 6.6613 e -16 16 / 41 Algebra Lineare Rango Algebra Lineare: rango. Def. (rango) P p q Si definisce rango di una matrice A Mnn R l’ordine del minore più alto diverso da zero estraibile dalla matrice A. A 1 0 9 3 3 2 0 0 1 B 1 0 9 3 0 2 0 0 1 A ha rango 3 mentre B ha rango 2. Theorem Una matrice A P Mnn pRq ha rango n se e soltanto se det(A) 0 In MatLab il rango si calcola con il comando rank: >> A = [1 3 0; 0 0 0; 9 2 1 ]; >> rank (A ) ans = 2 17 / 41 Algebra Lineare Matrice Inversa Algebra Lineare: matrice inversa. Def. (Matrice inversa) P p q Data A Mnn R si definisce la matrice inversa una matrice B tale che BA In , e si scrive B A1 . Si ha che A1 A AA1 I . P Mnn pRq Theorem A P Mnn pRq ammette inversa A1 se e soltanto se detpAq 0. In tal caso A1 t detMpAq dove M t è la trasposta della matrice dei complementi algebrici. In MatLab non è necessario calcolare tutti i complementi algebrici nè il determinante, basta usare i comandi inv(A) oppure A^(-1). 18 / 41 Sistemi lineari Matrici e sistemi Matrici e sistemi lineari Esaminiamo il seguente sistema lineare: $ x1 ' ' ' ' & ' ' ' ' % Indicando A 1 4 1 2 0 1 4x1 x1 3x3 0 2x2 2x3 x2 3 6 1 x3 2 x 1 x1 x2 b x3 0 6 1 allora è possibile scrivere il sistema lineare in forma matriciale e compatta Ax b La prima equazione nel dettaglio: A1 , x ¡ b1 p1, 2, 3q , px1 , x2 , x3 qt ¡ 0 x1 2x2 3x3 0 t 19 / 41 Sistemi lineari Matrici e sistemi Matrici e sistemi lineari: Gauss-Jordan Per risolvere questo sistema applichiamo il metodo di Gauss-Jordan: Matrice completa del sistema A b . p |q 1 4 1 2 0 1 3 2 1 0 6 1 T = [A , b ]; III riga - I riga 1 4 0 2 0 3 3 2 4 0 6 1 T (3 ,:) = T (3 ,:) - T (1 ,:); Scambio della II riga e della III 1 0 4 2 3 0 3 4 2 0 1 6 T ([3 2] ,:) = T ([2 ,3] ,:); 20 / 41 Sistemi lineari Matrici e sistemi Matrici e sistemi lineari: Gauss-Jordan riga III - 4(riga I) 1 0 0 2 3 8 3 4 14 0 1 6 T (3 ,:) = T (3 ,:) -4* T (1 ,:); III riga - 38 (II riga) 1 0 0 2 3 0 3 4 10 3 0 1 T (3 ,:) = T (3 ,:) -8/3* T (1 ,:); 10 3 E ora si può procedere con la sostituzione all’indietro. Banalmente, x3 dall’ultima riga. Per la seconda equazione 3x2 1 ñ x2 1 4 1 1 T (2 ,:) = T (2 ,:)/ T (2 ,2); T (2 ,:) = [0 1 0 T (2 ,4) - T (2 ,3)]; E si procede nello stesso modo per la prima equazione. 21 / 41 Sistemi lineari Matrici e sistemi Matrici e sistemi lineari: Gauss-Jordan Questo metodo però non pare essere molto comodo, sopratutto quando si devono risolvere sistemi lineari con ben più di 3 equazioni e 3 incognite. In MatLab è implementato questo algoritmo appena descritto utilizzando l’operatore di backslash \: >> A \ b ans = 1 1 1 il risultato dell’operazione è la soluzione del sistema. Un altro metodo è l’utilizzo del comando rref: >> rref ([ A , b ]) ans = 1 0 0 1 0 0 0 0 1 1 1 1 Come input del comando è necessario porre la matrice dei coefficienti con la colonna dei termini noti. Nel caso preso in esempio, A M3 R , quindi A b M34 R . Il risultato del comando rref è una matrice 4 3 dove l’ultima colonna rappresenta la soluzione del sistema. p q P p q p | qP 22 / 41 Sistemi lineari Matrici e sistemi Matrici: operatori backslash e slash Il comando A\B quando A e B sono matrici restituisce una matrice le cui colonne sono le soluzioni dei sistemi lineari con vettore dei termini noti uguali alle colonne di B. Ad esempio: >> A = [3 ,4; 7 8] A = 3 4 7 8 >> B = [1 2 ; 6 9] B = 1 2 6 9 >> A \ B ans = 4.0000 -2.7500 Equivale quindi a calcolare A1 B. 5.0000 -3.2500 >> A \ B (: ,1) ans = 4.0000 -2.7500 23 / 41 Sistemi lineari Matrici e sistemi Matrici: operatori backslash e slash Il comando A/B invece calcola BA1 A/B ans = -1.0000 -5.0000 0.6667 2.0000 Equivale quindi a calcolare (B’\A’)’. Per capire ed avere maggiori informazioni sugli operatori aritmetici, digitare ad esempio doc \ nella shell e navigare nel help browser di MatLab. 24 / 41 Sistemi lineari Matrici e sistemi Matrici e sistemi lineari: Cramer Nel caso in cui si abbia un sistema quadrato (cioè a n equazioni in n incognite) si può decidere di utilizzare il metodo di Cramer, dove la componente xi del vettore delle soluzioni è data da xi det A1 , A2 , . . . Ai 1 , b, Ai det A 1 p q . . . An ma non è molto conveniente computazionalmente parlando, in quanto richiede il calcolo di n 1 determinanti, molto costosi da calcolare. Ad esempio, 1 2 x1 0 4 5 2 x2 perciò x1 det det 0 2 2 5 1 4 2 5 43 x2 det det 1 4 0 2 1 4 2 5 23 25 / 41 Sistemi lineari Matrici e sistemi Matrici e sistemi lineari: inversa Un’altra idea (malsana) potrebbe essere ispirata dalla scrittura Ax b: se det A 0, allora possiamo calcolare l’inversa A1 e scrivere la soluzione p q A1b dato che Ax b A1 Ax A1 b Ix A1 b x In effetti, concettualmente parlando non è niente di diverso da risolvere un’equazioni di primo grado come 7x 14, dove moltiplichiamo a destra e a sinistra per l’inverso di 7 e otteniamo x 2. Il problema risiede nel fatto che il calcolo dell’inversa della matrice è molto dispendioso: infatti il tempo impiegato per risolvere il sistema Ax b tramite il comando inv(A)*b è due o tre volte superiore rispetto al tempo impiegato da A\b. A = rand (1000); b = rand (1000 ,1); tic inv ( A )* b ; toc tic A\b; toc Si crea la matrice quadrata con 1000 1000 elementi, e un vettore b di 1000 elementi. Si risolve il sistema Ax b prima con il metodo A1 b, poi con A\b e si confrontano i tempi con tic e toc. 26 / 41 Sistemi lineari Grafica Grafica 2D f px q nel piano cartesiano, dove f px q x sinpx q Supponiamo di voler plottare la funzione y In MatLab è presente l’istruzione plot che ci consente di creare grafici bidimensionali. Ricordando la sintassi vettoriale di MatLab, abbiamo: 60 40 20 >> x = -20* pi :0.1:20* pi ; >> y = x .* sin ( x ); >> plot (x , y ) 0 −20 −40 −60 −80 −80 −60 −40 −20 0 20 40 60 80 MatLab collega con una linea i punti [x(i),y(i)] e [x(i+1),y(i+1)]: più punti di discretizzazione creiamo, migliore qualità visiva avrà il grafico. 27 / 41 Sistemi lineari Grafica Grafica 2D È possibile personalizzare in vari modi il grafico: x = -20* pi :0.1:20* pi ; y = x .* sin ( x ); plot (x , y ) hold on plot (x , -x , ’r - - ’ , ’ Linewidth ’ ,2) plot (x ,x , ’ k : ’ , ’ Linewidth ’ ,3) axis ([ -60 60 -60 60]) box off h = legend ( ’ $y = x \ sin ( x ) $ ’ ,... ’y = - x ’ ,... ’y = x ’ ,... ’ Location ’ , ’ North ’ ); set (h ,... ’ Interpret e r ’ , ’ Latex ’ ) 60 y = x sin(x) y=-x y=x 40 20 0 −20 −40 −60 −60 −40 −20 0 20 40 60 Ignoriamo il comando set(h,’Interpreter’,’Latex’). I tre puntini ... consentono di scrivere un’istruzione MatLab su più righe, ma il programma legge l’intera istruzione come se fosse su di una riga unica. 28 / 41 Sistemi lineari Grafica Grafica 2D Vediamo nel dettaglio i vari comandi. Linewidth consente di specificare lo spessore della linea. Di default è 1. dopo aver dichiarato la variabile indipendente (x) e quella indipendente (y), si possono specificare i colori, lo stile e i marker dei punti. le lettere r,b,k,c,y,m identificano i colori della linea: red, blue, black, cyan, yellow, magenta; le scritture -, .-, :, -- identificano lo stile della linea: continuo, punto-linea, punteggiata, tratteggiata. le scritture o,+,h,... identificano lo stile dei markers: tondo, +, esagonali, etc... È possibile inserire tutte queste opzioni in un’unica chiamata: ad esempio ’sm.-’ disegna una linea di color magenta, con markers quadrati e una linea punteggiata e tratteggiata. axis([x1 x2 y1 y2]) consente di limitare la visualizzazione tra x1 e x2 per l’asse delle ascisse e fra y1 e y2 per l’asse delle ordinate; legend consente di disegnare la legenda del grafico, mettendo fra apici le descrizione delle linee del grafico nell’ordine in cui son state plottate. box off consente di eliminare la scatola che appare attorno al grafico 29 / 41 Sistemi lineari Grafica Sistemi lineari: interpretazione grafica Nel caso in cui dovessimo risolvere il seguente sistema lineare " 3x 4y 2 x y 5 Ñ " y y 34 x x 5 1 2 i comandi MatLab sono i seguenti: x = -10:0.1:10; y1 = -3/4* x +0.5; y2 = x -5; hold on plot (x , y1 , ’r ’ ) plot (x , y2 , ’b ’ ) A = [3 4 ; 1 -1]; b = [2 ;5]; sol = A \ b ; plot ( sol (1) , sol (2) , ’ or ’ , ’ Markersize ’ ,5 , ’ M a r k e r f a c e c o l o r ’ , ’b ’) legend ( ’y = -0.75 x +0.5 ’ , ’y =x -5 ’ , ’ sol ’) xlabel ( ’x ’ ) % Per dare un ’ etichetta all ’ asse x ylabel ( ’y ’ ) % Per dare un ’ etichetta all ’ asse y title ( ’ Soluzione grafica ’ ) % Per dare un titolo al grafico 30 / 41 Sistemi lineari Sistemi indeterminati Sistemi con soluzione NON unica Non si può essere sempre fortunati: $ 3x ' ' ' ' & ' ' ' ' % x 6x 4y z 2 y z $ & 3x 3 8y 2z 4 Ñ% x 4y z 2 y z 3 che ha quindi come soluzione $ ' ' & x ' ' % y 2 37 z 1 47 z p q Possibili soluzioni sono quindi triplette come 2, 1, 0 , del tipo 2 3 z, 1 7 4 z, z , 7 z 17 3 , , 1 , . . . : cioè 7 7 PR 31 / 41 Sistemi lineari Sistemi indeterminati Sistemi con soluzione NON unica in MatLab Come si può risolvere un problema del genere in MatLab? Nel seguente modo: >> A = [3 -4 -1; 1 1 1; 6 -8 -2]; >> b = [2; 3; 4]; >> R = rref ([ A , b ]) R = 1.0000 0 0.4286 2.0000 0 1.0000 0.5714 1.0000 0 0 0 0 La matrice R equivale alla scrittura: $ & x 0x % 0x 0y 0.4286z y 0.5714z 0y 0z 0 2 1 Per poter dire a MatLab di considerare z come un parametro utilizziamo il comando syms. ı̀ >> syms x3 >> x_temp = [ - x3 * R (1:2 ,3)+ R (1:2 ,4)]; >> sol = [ x_temp ; x3 ]; In questo modo il calcolatore vede x3 non come una variabile numerica ma come una variabile simbolica. Per calcolare una particolare soluzione (i.e. dare ad x3 un particolare valore) si utilizza il comando subs: subs ( sol , x3 ,0) ans = 2 1 0 32 / 41 Sistemi lineari Sistemi indeterminati Teoremi sull’esistenza delle soluzioni di un sistema Theorem Un sistema lineare Ax 0 soltanto se det A p q b, con A P Mnn pRq, ha un’unica soluzione se e Theorem (Rouché-Capelli) P p q p q Un sistema lineare Ax b con A Mmn R ha soluzioni se e soltanto se rank A rank A b . In caso esistano soluzioni, allora esse formano uno sottospazio affine di dimensione n rank A . p q p |q In MatLab possiamo verificare l’esistenza di soluzioni (uniche o meno) utilizzando questi due teoremi e i comandi det e rank. A = [3 -4 -1; 1 -4/3 -1/3; 6 -8 -2]; b = [2; 3; 4]; rankA = rank ( A ); rankAb = rank ([ A , b ]); if rankA == rankAb fprintf ( ’ Il sistema Ax = b ha soluzione \ n ’ ); else fprintf ( ’ Il sistema Ax = b non ha soluzione \ n ’ ); end 33 / 41 Spazi vettoriali Combinazioni lineari Spazi vettoriali: alcune definizioni fondamentali Def. Dati v1 , . . . , vq vettori una loro combinazione lineare è un’espressione del tipo a1 v1 . . . aq vq P dove ai R. I vettori w1 , . . . , wq si dicono linearmente indipendenti se q ¸ i 1 ai wi 0 ñ ai 0 i 1, . . . , q In caso contrario si dicono linearmente dipendenti. p q p16, 8q sono linearmente dipendenti in quanto 1p16, 8q 8p2, 1q p0, 0q I vettori 2, 1 e 34 / 41 Spazi vettoriali Combinazioni lineari Combinazioni lineari e matrici Osserviamo in dettaglio il prodotto matrice vettore Ax 4 2 1 6 3 2 2 2 3 3 1 2 y: 30 19 10 Il vettore y è una combinazione lineare delle colonne della matrice A: 30 19 10 4 2 2 1 6 3 3 2 2 2 3 1 Indicando con Aj la colonna j-esima della matrice A e con xi la componente i-esima del vettore x, possiamo scrivere y x1 A1 x2 A2 x3 A3 35 / 41 Spazi vettoriali Basi Spazi vettoriali: alcune definizioni fondamentali Ricordando la definizione di spazio vettoriale, si riportano le seguenti Def. Un sottoinsieme U di uno spazio vettoriale V prende il nome di sottospazio vettoriale se son verificate le seguenti condizioni: 1 2 3 0 PU u1, u2 P U, u1 u2 P U α P R, u P U αu P R Def. Una base di uno spazio vettoriale è un insieme di generatori linearmente indipendenti. Il numero dei vettori appartenenti alla base prende il nome di dimensione dello spazio vettoriale. Uno spazio vettoriale può avere più basi, ma avran tutte la stessa dimensione. Data una base, un vettore è esprimibile in un unico modo in quella determinata base. 36 / 41 Spazi vettoriali Basi Spazi vettoriali: basi tp q p qu Ad esempio, R2 può avere le seguenti due basi: B 1, 0 , 0, 1 e B1 1, 1 , 1, 1 . Il vettore 2, 2 ha coordinate in base B (2,2), mentre in base B1 ha coordinate 2, 0 : tp q p qu 3 p q p q 3 (2,2) (2,2) 2 2 1 1 (0,1) y y (1,1) 0 (0,0) 0 (0,0) (1,0) −1 −1 (1,−1) −2 −3 −3 −2 −2 −1 0 x 1 2 3 −3 −3 −2 −1 0 x 1 2 3 A sinistra sono plottati i vettori della base B, mentre a destra i vettori della base B1 . In rosso sono rappresentati i percorsi da fare nei due casi per raggiungere il vettore (2,2). 37 / 41 Spazi vettoriali Basi Matrici e basi Def. p q P p q Lo spazio delle colonne, o R A , di una matrice A Mmn R è dato da tutti i possibili prodotti del tipo Ax, con x di dimensioni opportune. Un sistema lineare Ax b ha soluzione se e soltanto se b P R pAq. Ricordando che il prodotto Ax è una combinazione lineare delle colonne della matrice A, possiamo dire che le colonne di A sono linearmente indipendenti se e soltanto se il sistema Ax 0 ha come unica soluzione x 0, ossia il vettore nullo. Def. Il nucleo, o kernel, di A è dato da tutti i vettori x̃ per cui Ax̃ 0: p q tx̃ P Rm |Ax̃ 0u N A p qt u Quindi, se N A 0 , i.e. è costituito da solo il vettore nullo, allora le colonne di A sono l.i.; altrimenti, cioè se esistono vettori y diversi da quello nullo per cui Ay 0, sono l.d. 38 / 41 Spazi vettoriali Matrici e Basi Matrici e basi, esempio p q p q Supponiamo di avere i seguenti vettori: v1 1, 4, 0, 1 , v2 2, 2, 3, 0 , v3 1, 1, 2, 1 , v4 1, 2, 1, 4 . Si vuole capire se sono linearmente indipendenti o meno. Per farlo, si scrive p q p xv1 y v2 q zv3 0 tv4 x, y , z, t PR Si cercano x, y , z, t per cui l’uguaglianza è verificata. Nel caso in cui px, y , z, t q p0, 0, 0, 0q, allora i vi sono linearmente indipendenti, altrimenti sono linearmente dipendenti. Quindi: 1 4 Æ Æ x 0 1 2 2 Æ Æ y 3 0 che equivale a dover risolvere 1 1 z Æ Æ 2 1 t 1 2 Æ Æ 1 4 0 0 Æ Æ 0 0 $ x 2y z t 0 ' ' ' ' ' ' ' ' z 2t 0 & 4x 2y ' ' 3y ' ' ' ' ' ' % x 2z 1t 0 z 4t 0 39 / 41 Spazi vettoriali Matrici e Basi Matrici e basi, esempio. Un altro. p q p q Supponiamo di avere i seguenti vettori: v1 1, 4, 0, 1 , v2 2, 2, 3, 0 , v3 1, 1, 2, 1 . Si vuole capire se sono linearmente indipendenti o meno. Per farlo, si scrive xv1 y v2 zv3 0 x, y , z R p q P Si cercano x, y , z per cui l’uguaglianza è verificata. Nel caso in cui px, y , z, p0, 0, 0q, allora i vi sono linearmente indipendenti, altrimenti sono linearmente dipendenti. Quindi: 1 4 Æ Æ x 0 1 2 2 Æ Æ y 3 0 z 1 1 ÆÆ 2 1 0 0 Æ Æ 0 0 che equivale a dover risolvere $ x 2y z ' ' ' ' ' ' ' ' z & 4x 2y 0 0 ' ' 3y ' ' ' ' ' ' % x 2z 0 z 0 40 / 41 Spazi vettoriali Matrici e Basi Lineare indipendenza e rango Remark Il rango di una matrice corrisponde al numero di colonne (o righe) linearmente indipendenti della matrice stessa. A d esempio, se si dovesse verificare quale dei seguenti vettori sono linearmente indipendenti, si considerano come colonne di una matrice A e se ne calcola il rango. 1, 1, 1 , v2 3, 6, 1 , v3 1, 2, 1 , v4 6, 12, 2 , v5 2, 2, 2 . v1 p q p q p q p q p q >> A = [1 1 1 3 6 1 1 2 1 6 12 2 -2 -2 -2] ’; >> rank (A ) % o anche rref ( A ) 41 / 41