41
Laboratorio di MatLab Algebra lineare e Geometria Alessandro Benfenati Ph.D. Student Departments of Mathematics - University of Ferrara [email protected] 1 / 41

Laboratorio di MatLab - Unife

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Laboratorio di MatLab - Unife

Laboratorio di MatLab

Algebra lineare e Geometria

Alessandro Benfenati

Ph.D. StudentDepartments of Mathematics - University of Ferrara

[email protected]

1 / 41

Page 2: Laboratorio di MatLab - Unife

Sommario

1 IntroduzioneOrganizzazionePerche i sistemi lineari?

2 Algebra LineareDeterminanteRangoMatrice Inversa

3 Sistemi lineariMatrici e sistemiGraficaSistemi indeterminati

4 Spazi vettorialiCombinazioni lineariBasiMatrici e Basi

2 / 41

Page 3: Laboratorio di MatLab - Unife

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

Page 4: Laboratorio di MatLab - Unife

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

Page 5: Laboratorio di MatLab - Unife

Introduzione Perche i sistemi lineari?

Tariffe telefoniche

Supponiamo di dover scegliere fra due tariffe per il cellulare: con la primaabbiamo un costo di 0.16 e al minuto senza scatto alla risposta, mentre con laseconda abbiamo un costo di 0.12 e al minuti con 0.12 e di scatto allarisposta. Si vuole capire quale delle due e piu conveniente.Se indichiamo con x il tempo di chiamata e con y il costo della stessachiamata, allora posso scrivere

$

&

%

y � 0.16x

y � 0.12x � 0.12

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Minuti

Cos

to

y = 0.16xy=0.12x+0.12

(x*,y*)=(3,0.48)

Le componenti px�, y�q della soluzione del sistema rappresentano la duratadella chiamata (x�) per cui il costo (y�) della stessa e uguale,indipendentemente dalla tariffa scelta. Quindi, per decidere quale tariffaapplicare, e necessario vedere la durata media delle chiamate effettuate.

5 / 41

Page 6: Laboratorio di MatLab - Unife

Introduzione Perche i sistemi lineari?

Masse

Supponiamo di avere una leva, di estremi A e B. Si desidera porre il baricentronel punto M, di coordinate date. Si vogliono trovare le masse da porre in A ein B per fare in modo che il baricentro sia nella posizione voluta.

A BM

Ricordando la formula del baricentro in due dimensioni, possiamo scrivere

$

&

%

1Mtot

pMAxA �MBxBq � xM

1Mtot

pMAyA �MByBq � yM

dove MA e MB sono le masse da porre nei punti A e B, mentre Mtot e la massatotale.Ad esempio, se A � p2, 3q, B � p8, 3q, M � p3, 3q e Mtot � 1, allora il sistemada risolvere e

$

&

%

2MA � 8MB � 3

3MA � 3MB � 3

6 / 41

Page 7: Laboratorio di MatLab - Unife

Introduzione Perche i sistemi lineari?

Traiettoria parabolica

Siamo interessati a calcolare i coefficienti della traiettoria parabolica1 dellapalla in figura.

x

y

100 200 300 400 500 600

50

100

150

200

250

300

350

400

1http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg7 / 41

Page 8: Laboratorio di MatLab - Unife

Introduzione Perche i sistemi lineari?

Traiettoria parabolica

Siamo interessati a calcolare i coefficienti della traiettoria parabolica1 dellapalla in figura.

x

y

100 200 300 400 500 600

50

100

150

200

250

300

350

400L’equazione della parabola e

y � ax2� bx � c

quindi si scelgono tre punti e si imponeil passaggio per questi tre punti:

A � p150, 256q

B � p250, 363q

C � p360, 143q

Si ottiene il sistema$

'

'

'

'

&

'

'

'

'

%

22500a � 150b � c � 256

62500a � 250b � c � 363

129600a � 360b � c � 143

1http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg8 / 41

Page 9: Laboratorio di MatLab - Unife

Introduzione Perche i sistemi lineari?

Traiettoria parabolica

Siamo interessati a calcolare i coefficienti della traiettoria parabolica1 dellapalla in figura.

x

y

100 200 300 400 500 600

50

100

150

200

250

300

350

400L’equazione della parabola e

y � ax2� bx � c

quindi si scelgono tre punti e si imponeil passaggio per questi tre punti:

A � p150, 256q

B � p250, 363q

C � p360, 143q

Si ottiene il sistema$

'

'

'

'

&

'

'

'

'

%

22500a � 150b � c � 256

62500a � 250b � c � 363

129600a � 360b � c � 143

1http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg9 / 41

Page 10: Laboratorio di MatLab - Unife

Introduzione Perche i sistemi lineari?

Traiettoria parabolica

Siamo interessati a calcolare i coefficienti della traiettoria parabolica2 dellapalla in figura.

x

y

100 200 300 400 500 600

50

100

150

200

250

300

350

400L’equazione della parabola e

y � ax2� bx � c

quindi si scelgono tre punti e si imponeil passaggio per questi tre punti:

A � p382, 56q

B � p479, 265q

C � p590, 52q

Si ottiene il sistema$

'

'

'

'

&

'

'

'

'

%

145924a � 382b � c � 56

229441a � 479b � c � 265

348100a � 590b � c � 52

2http://commons.wikimedia.org/wiki/File:Bouncing_ball_strobe_edit.jpg10 / 41

Page 11: Laboratorio di MatLab - Unife

Algebra Lineare Determinante

Algebra lineare: richiami.

Per poter risolvere adeguatamente i sistemi lineari, e necessario avere qualchestrumento dall’algebra lineare. Si comincia con i determinanti.

Def.

Determinante Il determinante di una matrice A PM1�1pRq � c P R e c stesso.Il determinante di una matrice A PM2�2pRq e definito nella maniera seguente:

det

a bc d

� ad � bc

Per poter definire il determinante di matrici di ordine superiore, si necessita dialtre definizioni.

Achtung!!

Il determinante si puo calcolare solo per matrice quadrate!

11 / 41

Page 12: Laboratorio di MatLab - Unife

Algebra Lineare Determinante

Algebra lineare: richiami.

Def.

Minore complementare Data una matrice A PMn�npRq si definisce minore

complementare dell’elemento di posto i , j (e si indica con Mij) ildeterminante della matrice che si ottiene eliminando da A l’i-esima riga e laj-esima colonna

Ad esempio, se si volesse calcolare M21 della seguente matrice si avrebbe�

1 3 00 3 09 2 1

ñ M21 � det

3 02 1

� 3 � 1� 2 � 0 � 3

Def.

Complemento algerico Si definisce complemento algebrico dell’elemento di

posto i , j (e si indica con Cij) il termine p�1qi�jMij , dove Mij e il rispettivominore complementare.

Nell’esempio precedente:

C21 � p�1q2�1� 3 � �3

12 / 41

Page 13: Laboratorio di MatLab - Unife

Algebra Lineare Determinante

Algebra lineare: determinante.

Def. (Determinante, Laplace)

Il Determinante di una matrice A PMn�npRq e dato dalla somma deglielementi di una qualunque riga (o colonna) moltiplicati per i rispettivicomplementi algebrici.

Se si volesse calcolare il determinante di una matrice A rispetto alla riga i siavrebbe

detpAq � ai1Ci1 � ai2Ci2 � � � � � ainCin

rispetto alla colonna j invece

detpAq � a1jC1j � a2jC2j � � � � � anjCnj

Remark

Il determinante non dipende dalla particolare riga o colonna rispetto a cui sisviluppa, inoltre svilupparlo per righe o per colonne e indifferente.

13 / 41

Page 14: Laboratorio di MatLab - Unife

Algebra Lineare Determinante

Algebra lineare: determinante.

Ad esempio, se

A �

1 3 00 3 09 2 1

allora, sviluppando secondo la prima colonna

detpAq � 1C11 � 0C21 � 9C31

� p�1q2det

3 02 1

� 9p�1q4det

3 03 0

� 3� 0 � 3

Secondo la seconda riga

detpAq � 0C21 � 3C22 � 0C23

� 3p�1q4det

1 09 1

� 3

14 / 41

Page 15: Laboratorio di MatLab - Unife

Algebra Lineare Determinante

Proprieta del determinante

Il determinante di una matrice quadrata gode delle seguenti proprieta:

se due colonne (o righe) sono uguali allora il determinante e 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;

detpAq � detpAtq

detpABq � detpAqdetpBq

Curiosita

Il valore assoluto del determinante di unamatrice bidimensionale e l’area del pa-rallelogramma che ha per lati le colonnedella matrice.

A �

1 32 1.5

A � |detpAq| � 4.5 x

y

p1, 2q

p3, 1.5q

Il risultato si generalizza a n dimensioni.

15 / 41

Page 16: Laboratorio di MatLab - Unife

Algebra Lineare Determinante

Determinante, Matlab

Per fortuna MatLab ci viene in aiuto e ci consente di calcolare il determinantein maniera comoda:

A �

1 3 00 3 09 2 1

>> A = [1 3 0; 0 3 0; 9 2 1 ]A =

1 3 00 3 09 2 1

>> det (A)ans =

3

Achtung!

Attenzione alle matrici di determinante prossimo allo zero.

A �

1 2 34 5 67 8 9

>> A = [1 2 3; 4 5 6; 7 8 9]A =

1 2 34 5 67 8 9

>> det (A)ans =

6.6613e -16

16 / 41

Page 17: Laboratorio di MatLab - Unife

Algebra Lineare Rango

Algebra Lineare: rango.

Def. (rango)

Si definisce rango di una matrice A PMn�npRq l’ordine del minore piu altodiverso da zero estraibile dalla matrice A.

A �

1 3 00 3 09 2 1

B �

1 3 00 0 09 2 1

A ha rango 3 mentre B ha rango 2.

Theorem

Una matrice A PMn�npRq 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

Page 18: Laboratorio di MatLab - Unife

Algebra Lineare Matrice Inversa

Algebra Lineare: matrice inversa.

Def. (Matrice inversa)

Data A PMn�npRq si definisce la matrice inversa una matrice B PMn�npRq

tale che BA � In, e si scrive B � A�1.

Si ha che A�1A � AA�1� I .

Theorem

A PMn�npRq ammette inversa A�1 se e soltanto se detpAq � 0. In tal caso

A�1�

M t

detpAq

dove M t e la trasposta della matrice dei complementi algebrici.

In MatLab non e necessario calcolare tutti i complementi algebrici ne ildeterminante, basta usare i comandi inv(A) oppure A^(-1).

18 / 41

Page 19: Laboratorio di MatLab - Unife

Sistemi lineari Matrici e sistemi

Matrici e sistemi lineari

Esaminiamo il seguente sistema lineare:$

'

'

'

'

&

'

'

'

'

%

x1 � 2x2 � 3x3 � 0

4x1 � 2x3 � 6

x1 � x2 � x3 � 1

Indicando

A �

1 2 �34 0 21 �1 1

x �

x1x2x3

b �

061

allora e possibile scrivere il sistema lineare in forma matriciale e compatta

Ax � b

La prima equazione nel dettaglio:

  A1, x ¡ � b1

  p1, 2,�3qt , px1, x2, x3qt¡ � 0

x1 � 2x2 � 3x3 � 0

19 / 41

Page 20: Laboratorio di MatLab - Unife

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 pA|bq.

1 2 �3 04 0 2 61 �1 1 1

T = [A,b];

III riga - I riga�

1 2 �3 04 0 2 60 �3 4 1

T(3,:) = T(3,:)-T(1 ,:);

Scambio della II riga e della III�

1 2 �3 00 �3 4 14 0 2 6

T([3 2],:) = T([2 ,3] ,:);

20 / 41

Page 21: Laboratorio di MatLab - Unife

Sistemi lineari Matrici e sistemi

Matrici e sistemi lineari: Gauss-Jordan

riga III - 4(riga I)

1 2 �3 00 �3 4 10 �8 14 6

T(3,:) = T(3,:)-4* T(1 ,:);

III riga - 83(II riga)

1 2 �3 00 �3 4 10 0 10

3103

T(3,:) = T(3 ,:) -8/3* T(1 ,:);

E ora si puo procedere con la sostituzione all’indietro. Banalmente, x3 � 1dall’ultima riga. Per la seconda equazione

�3x2 � 4 � 1 � 1ñ x2 � 1T(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

Page 22: Laboratorio di MatLab - Unife

Sistemi lineari Matrici e sistemi

Matrici e sistemi lineari: Gauss-Jordan

Questo metodo pero non pare essere molto comodo, sopratutto quando sidevono risolvere sistemi lineari con ben piu di 3 equazioni e 3 incognite. InMatLab e implementato questo algoritmo appena descritto utilizzandol’operatore di backslash \:

>> A\bans =

111

il risultato dell’operazione e la soluzionedel sistema.

Un altro metodo e l’utilizzo del comando rref:

>> rref ([A,b])ans =

1 0 0 10 1 0 10 0 1 1

Come input del comando e necessarioporre la matrice dei coefficienti con lacolonna dei termini noti. Nel caso presoin esempio, A P M3pRq, quindi pA|bq PM3�4pRq. Il risultato del comando rref

e una matrice 4�3 dove l’ultima colonnarappresenta la soluzione del sistema.

22 / 41

Page 23: Laboratorio di MatLab - Unife

Sistemi lineari Matrici e sistemi

Matrici: operatori backslash e slash

Il comando A\B quando A e B sono matrici restituisce una matrice le cuicolonne sono le soluzioni dei sistemi lineari con vettore dei termini noti ugualialle colonne di B. Ad esempio:

>> A = [3 ,4; 7 8]A =

3 47 8

>> B = [1 2 ; 6 9]B =

1 26 9

>> A\Bans =

4.0000 5.0000-2.7500 -3.2500

>> A\B(:,1)ans =

4.0000-2.7500

Equivale quindi a calcolare A�1B.

23 / 41

Page 24: Laboratorio di MatLab - Unife

Sistemi lineari Matrici e sistemi

Matrici: operatori backslash e slash

Il comando A/B invece calcola BA�1

A/Bans =

-1.0000 0.6667-5.0000 2.0000

Equivale quindi a calcolare (B’\A’)’.

Per capire ed avere maggiori informazioni sugli operatori aritmetici, digitare adesempio doc \ nella shell e navigare nel help browser di MatLab.

24 / 41

Page 25: Laboratorio di MatLab - Unife

Sistemi lineari Matrici e sistemi

Matrici e sistemi lineari: Cramer

Nel caso in cui si abbia un sistema quadrato (cioe a n equazioni in n incognite)si puo decidere di utilizzare il metodo di Cramer, dove la componente xi delvettore delle soluzioni e data da

xi �det�

A1,A2

, . . .Ai�1, b,Ai�1

. . .An�

detpAq

ma non e molto conveniente computazionalmente parlando, in quanto richiede

il calcolo di n � 1 determinanti, molto costosi da calcolare.Ad esempio,

1 24 5

x1x2

02

percio

x1 �

det

0 22 5

det

1 24 5

4

3x2 �

det

1 04 2

det

1 24 5

� �

2

3

25 / 41

Page 26: Laboratorio di MatLab - Unife

Sistemi lineari Matrici e sistemi

Matrici e sistemi lineari: inversa

Un’altra idea (malsana) potrebbe essere ispirata dalla scrittura Ax � b: sedetpAq � 0, allora possiamo calcolare l’inversa A�1 e scrivere la soluzione

x � A�1b

dato che Ax � b � A�1Ax � A�1b � Ix � A�1b

In effetti, concettualmente parlando non e niente di diverso da risolvereun’equazioni di primo grado come 7x � 14, dove moltiplichiamo a destra e asinistra per l’inverso di 7 e otteniamo x � 2.

Il problema risiede nel fatto che il calcolo dell’inversa della matrice e moltodispendioso: infatti il tempo impiegato per risolvere il sistema Ax � btramite il comando inv(A)*b e due o tre volte superiore rispetto al tempo

impiegato da A\b.

A = rand (1000);b = rand (1000 ,1);ticinv (A)*b;tocticA\b;toc

Si crea la matrice quadrata con1000�1000 elementi, e un vettore bdi 1000 elementi. Si risolve il sistemaAx � b prima con il metodo A�1b, poicon A\b e si confrontano i tempi con tic

e toc.

26 / 41

Page 27: Laboratorio di MatLab - Unife

Sistemi lineari Grafica

Grafica 2D

Supponiamo di voler plottare la funzione y � f pxq nel piano cartesiano, dove

f pxq � x sinpxq

In MatLab e presente l’istruzione plot che ci consente di creare graficibidimensionali. Ricordando la sintassi vettoriale di MatLab, abbiamo:

>> x = -20*pi :0.1:20* pi;>> y = x.*sin (x);>> plot(x,y)

−80 −60 −40 −20 0 20 40 60 80−80

−60

−40

−20

0

20

40

60

MatLab collega con una linea i punti [x(i),y(i)] e [x(i+1),y(i+1)]: piupunti di discretizzazione creiamo, migliore qualita visiva avra il grafico.

27 / 41

Page 28: Laboratorio di MatLab - Unife

Sistemi lineari Grafica

Grafica 2D

E possibile personalizzare in vari modi il grafico:

x = -20*pi :0.1:20* pi;y = x.*sin (x);plot(x,y)hold onplot(x,-x,’r--’,’Linewidth ’,2)plot(x,x,’k:’,’Linewidth ’ ,3)axis ([-60 60 -60 60])box offh = legend (’$y=x\sin (x)$’ ,...

’y=-x’ ,...’y=x’ ,...’Location ’,’North ’);

set (h ,...’Interpreter ’,’Latex ’)

−60 −40 −20 0 20 40 60−60

−40

−20

0

20

40

60

y = x sin(x)y=-xy=x

Ignoriamo il comando set(h,’Interpreter’,’Latex’).

I tre puntini ... consentono di scrivere un’istruzione MatLab su piu righe, mail programma legge l’intera istruzione come se fosse su di una riga unica.

28 / 41

Page 29: Laboratorio di MatLab - Unife

Sistemi lineari Grafica

Grafica 2D

Vediamo nel dettaglio i vari comandi.

� Linewidth consente di specificare lo spessore della linea. Di default e 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...

E possibile inserire tutte queste opzioni in un’unica chiamata: ad esempio’sm.-’ disegna una linea di color magenta, con markers quadrati e unalinea 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 ledescrizione 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

Page 30: Laboratorio di MatLab - Unife

Sistemi lineari Grafica

Sistemi lineari: interpretazione grafica

Nel caso in cui dovessimo risolvere il seguente sistema lineare"

3x � 4y � 2x � y � 5

Ñ

"

y � �

34x � 1

2

y � x � 5

i comandi MatLab sono i seguenti:

x = -10:0.1:10;y1 = -3/4*x+0.5;y2 = x -5;hold onplot(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, ’Markerfacecolor’,’b’)legend (’y= -0.75 x+0.5’,’y=x-5’,’sol ’)xlabel (’x’) % Per dare un ’etichetta all ’asse xylabel (’y’) % Per dare un ’etichetta all ’asse ytitle (’Soluzione grafica ’) % Per dare un titolo al grafico

30 / 41

Page 31: Laboratorio di MatLab - Unife

Sistemi lineari Sistemi indeterminati

Sistemi con soluzione NON unica

Non si puo essere sempre fortunati:$

'

'

'

'

&

'

'

'

'

%

3x � 4y � z � 2

x � y � z � 3

6x � 8y � 2z � 4

Ñ

$

&

%

3x � 4y � z � 2

x � y � z � 3

che ha quindi come soluzione

$

'

'

&

'

'

%

x � 2�3

7z

y � 1�4

7z

Possibili soluzioni sono quindi triplette come p2, 1, 0q,

17

7,3

7, 1

, . . . : cioe

del tipo�

2�3

7z , 1�

4

7z , z

, z P R

31 / 41

Page 32: Laboratorio di MatLab - Unife

Sistemi lineari Sistemi indeterminati

Sistemi con soluzione NON unica in MatLab

Come si puo 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.00000 1.0000 0.5714 1.00000 0 0 0

La matrice R equivalealla scrittura:$

&

%

x � 0y � 0.4286z � 20x � y � 0.5714z � 10x � 0y � 0z � 0

Per poter dire a MatLab di considerare z come un parametro utilizziamo ilcomando 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 macome una variabile simbolica.Per calcolare una particolare soluzione (i.e. dare ad x3 un particolare valore) siutilizza il comando subs:

subs(sol ,x3 ,0)ans =

210

32 / 41

Page 33: Laboratorio di MatLab - Unife

Sistemi lineari Sistemi indeterminati

Teoremi sull’esistenza delle soluzioni di un sistema

Theorem

Un sistema lineare Ax � b, con A PMn�npRq, ha un’unica soluzione se esoltanto se detpAq � 0

Theorem (Rouche-Capelli)

Un sistema lineare Ax � b con A PMm�npRq ha soluzioni se e soltanto serankpAq � rankpA|bq. In caso esistano soluzioni, allora esse formano unosottospazio affine di dimensione n � rankpAq.

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

Page 34: Laboratorio di MatLab - Unife

Spazi vettoriali Combinazioni lineari

Spazi vettoriali: alcune definizioni fondamentali

Def.

Dati v1, . . . , vq vettori una loro combinazione lineare e un’espressione del tipo

a1v1 � . . . aqvq

dove ai P R.I vettori w1, . . . ,wq si dicono linearmente indipendenti se

q

i�1

aiwi � 0ñ ai � 0 �i � 1, . . . , q

In caso contrario si dicono linearmente dipendenti.

I vettori p2, 1q e p�16,�8q sono linearmente dipendenti in quanto

1p�16, 8q � 8p2, 1q � p0, 0q

34 / 41

Page 35: Laboratorio di MatLab - Unife

Spazi vettoriali Combinazioni lineari

Combinazioni lineari e matrici

Osserviamo in dettaglio il prodotto matrice vettore Ax � y :

4 6 22 3 31 2 1

232

301910

Il vettore y e una combinazione lineare delle colonne della matrice A:�

301910

� 2

421

� 3

632

� 2

231

Indicando con Aj la colonna j-esima della matrice A e con xi la componentei-esima del vettore x , possiamo scrivere

y � x1A1� x2A

2� x3A

3

35 / 41

Page 36: Laboratorio di MatLab - Unife

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 sottospaziovettoriale se son verificate le seguenti condizioni:

1 0 P U

2�u1, u2 P U, u1 � u2 P U

3�α P R,�u P U αu P R

Def.

Una base di uno spazio vettoriale e un insieme di generatori linearmente

indipendenti. Il numero dei vettori appartenenti alla base prende il nome didimensione dello spazio vettoriale.

Uno spazio vettoriale puo avere piu basi, ma avran tutte la stessa dimensione.Data una base, un vettore e esprimibile in un unico modo in quella determinatabase.

36 / 41

Page 37: Laboratorio di MatLab - Unife

Spazi vettoriali Basi

Spazi vettoriali: basi

Ad esempio, R2 puo avere le seguenti due basi: B � tp1, 0q, p0, 1qu eB1 � tp1, 1q, p1,�1qu. Il vettore p2, 2q ha coordinate in base B (2,2), mentre inbase B1 ha coordinate p2, 0q:

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

(0,1)

(1,0)(0,0)

(2,2)

x

y

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

(1,1)

(1,−1)

(0,0)

(2,2)

x

y

A sinistra sono plottati i vettori della base B, mentre a destra i vettori dellabase B1. In rosso sono rappresentati i percorsi da fare nei due casi perraggiungere il vettore (2,2).

37 / 41

Page 38: Laboratorio di MatLab - Unife

Spazi vettoriali Basi

Matrici e basi

Def.

Lo spazio delle colonne, o RpAq, di una matrice A PMm�npRq e dato da tutti ipossibili prodotti del tipo Ax, con x di dimensioni opportune.

Un sistema lineare Ax � b ha soluzione se e soltanto se b P RpAq.

Ricordando che il prodotto Ax e una combinazione lineare delle colonne dellamatrice 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 e dato da tutti i vettori x per cui Ax � 0:

NpAq � tx P Rm|Ax � 0u

Quindi, se NpAq � t0u, i.e. e costituito da solo il vettore nullo, allora lecolonne di A sono l.i.; altrimenti, cioe se esistono vettori y diversi da quellonullo per cui Ay � 0, sono l.d.

38 / 41

Page 39: Laboratorio di MatLab - Unife

Spazi vettoriali Matrici e Basi

Matrici e basi, esempio

Supponiamo di avere i seguenti vettori: v1 � p1, 4, 0, 1q, v2 � p2, 2, 3, 0q,v3 � p�1,�1, 2,�1q, v4 � p1,�2, 1,�4q. Si vuole capire se sono linearmenteindipendenti o meno. Per farlo, si scrive

xv1 � yv2 � zv3 � tv4 � 0 x , y , z , t P R

Si cercano x , y , z , t per cui l’uguaglianza e verificata. Nel caso in cuipx , y , z , tq � p0, 0, 0, 0q, allora i vi sono linearmente indipendenti, altrimentisono linearmente dipendenti. Quindi:

x

1401

Æ

Æ

� y

2230

Æ

Æ

� z

�1�12

�1

Æ

Æ

� t

1�21

�4

Æ

Æ

0000

Æ

Æ

che equivale a dover risolvere$

'

'

'

'

'

'

'

'

&

'

'

'

'

'

'

'

'

%

x � 2y � z � t � 0

4x � 2y � z � 2t � 0

3y � 2z � 1t � 0

x � z � 4t � 0

39 / 41

Page 40: Laboratorio di MatLab - Unife

Spazi vettoriali Matrici e Basi

Matrici e basi, esempio. Un altro.

Supponiamo di avere i seguenti vettori: v1 � p1, 4, 0, 1q, v2 � p2, 2, 3, 0q,v3 � p�1,�1, 2,�1q. Si vuole capire se sono linearmente indipendenti o meno.Per farlo, si scrive

xv1 � yv2 � zv3 � 0 x , y , z P R

Si cercano x , y , z per cui l’uguaglianza e verificata. Nel caso in cuipx , y , z ,� p0, 0, 0q, allora i vi sono linearmente indipendenti, altrimenti sonolinearmente dipendenti. Quindi:

x

1401

Æ

Æ

� y

2230

Æ

Æ

� z

�1�12

�1

Æ

Æ

0000

Æ

Æ

che equivale a dover risolvere$

'

'

'

'

'

'

'

'

&

'

'

'

'

'

'

'

'

%

x � 2y � z � 0

4x � 2y � z � 0

3y � 2z � 0

x � z � 0

40 / 41

Page 41: Laboratorio di MatLab - Unife

Spazi vettoriali Matrici e Basi

Lineare indipendenza e rango

Remark

Il rango di una matrice corrisponde al numero di colonne (o righe) linearmenteindipendenti della matrice stessa.

A

d esempio, se si dovesse verificare quale dei seguenti vettori sono linearmenteindipendenti, si considerano come colonne di una matrice A e se ne calcola ilrango.v1 � p1, 1, 1q, v2 � p3, 6, 1q, v3 � p1, 2, 1q, v4 � p6, 12, 2q, v5 � p�2,�2,�2q.

>> A = [1 1 13 6 11 2 16 12 2-2 -2 -2]’;

>> rank(A) % o anche rref(A)

41 / 41