Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... ·...

37
Alcune figure di questi appunti riportano nei commenti esempi in linguaggio MATLAB. In tali esempi i caratteri di peso normale sono prodotti dal computer mentre i caratteri in grassetto sono battuti dall’operatore. I caratteri “>>” sono il prompt del sistema, ossia indicano che MATLAB è in attesa di istruzioni. Ad esempio la sequenza seguente: >> whos significa che MATLAB attendeva ordini e che l’operatore ha battuto il comando “whos”. __________________________________________________________________________________ MATLAB (MATrix LABoratory) è un sistema interattivo basato sul calcolo matriciale per uso scientifico e tecnico. Oltre al trattamento di matrici è in grado di trattare polinomiali, equazioni differenziali e altre applicazioni. Funzionalità aggiuntive sono rese possibili mediante l’installazione di toolbox addizionali. La Homepage di MATLAB è http://www.mathworks.com/ Un sistema simile a MATLAB, di tipo Open Source (ossia gratuito), è Scilab (http://www.scilab.org/). La sintassi di Scilab è molto simile a quella di MATLAB. In particolare, negli esempi che seguono i comandi da dare sono identici, tranne dove esplicitamente dichiarato. L’ output di Scilab è leggermente diverso. Il prompt di Sscilab è “-->”. 1 Matrici: Definizioni e Proprietà

Transcript of Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... ·...

Page 1: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Alcune figure di questi appunti riportano nei commenti esempi in linguaggio MATLAB.

In tali esempi i caratteri di peso normale sono prodotti dal computer mentre i caratteri in grassetto sono battuti dall’operatore.

I caratteri “>>” sono il prompt del sistema, ossia indicano che MATLAB è in attesa di istruzioni. Ad esempio la sequenza seguente:

>> whossignifica che MATLAB attendeva ordini e che l’operatore ha battuto il comando “whos”.

__________________________________________________________________________________

MATLAB (MATrix LABoratory) è un sistema interattivo basato sul calcolo matriciale per uso scientifico e tecnico. Oltre al trattamento di matrici è in grado di trattare polinomiali, equazioni differenziali e altre applicazioni. Funzionalità aggiuntive sono rese possibili mediante l’installazione di toolbox addizionali.

La Homepage di MATLAB è http://www.mathworks.com/

Un sistema simile a MATLAB, di tipo Open Source (ossia gratuito), è Scilab (http://www.scilab.org/).

La sintassi di Scilab è molto simile a quella di MATLAB. In particolare, negli esempi che seguono i comandi da dare sono identici, tranne dove esplicitamente dichiarato.

L’ output di Scilab è leggermente diverso.

Il prompt di Sscilab è “-->”.

1

Matrici:Definizioni e Proprietà

Page 2: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 2Elementi di Calcolo Matriciale

2

Matrice: Definizione e SimbologiaMatrice: Definizione e Simbologia

Matrice di dimensioni m�n (matrice m××××n):insieme di mn elementi scalari (numeri), ordinati secondo un doppio ordinamento.Doppio ordinamento significa che la posizione di ogni elemento è individuata da due indici.

n,...,km,...,i

a..aa..a..

a..aaA

mnmm

ik

n

11

21

11211

========

������������

����

����

������������

����

����

====

1° indice: riga (1≤≤≤≤ i ≤≤≤≤ m); 2° indice: colonna (1 ≤≤≤≤ k ≤≤≤≤ n),rappresentiamo la matrice con una tabella:

In MATLAB una matrice può essere costruita indicando tutti i suoi elementi, riga per riga, come nell’esempio seguente:

>> B=[1 2 1 -4; 0 3 -2 -1; 5 -1 0 -3]

B =

1 2 1 -4

0 3 -2 -1

5 -1 0 -3

>>

Si noti che gli elementi all’interno di una riga sono separati da spazi, mentre una riga è separata dalla successiva dal carattere “;”.

Page 3: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 3Elementi di Calcolo Matriciale

3

Come si indica una MatriceCome si indica una Matrice

������������

����

����

������������

����

����

−−−−−−−−−−−−−−−−−−−−

====301512304121

B� � � �

� � � �

b21=0 b12=2 b34=-3 b43= NON ESISTE!

Lettera Maiuscola: Matrice

Lettera minuscola: elemento generico

“B è una matrice 3“B è una matrice 3××××××××4”4”

In MATLAB il nome di una matrice può essere indifferentemente maiuscolo o minuscolo.

Esempio: b, alfa, B, Alfa, b1, cc sono altrettanti nomi validi e individuano matrici distinte fraloro.

Un elemento è indicato usando lo stesso nome della matrice con gli indici di riga e colonna fra parentesi, come negli esempi seguenti:

Se b =

1 3 -2

-1 7 5

0 4 -6

risulta: b(1,1)=1, b(1,3)=-2, b(3,1)=0,…

Data la matrice B della figura, gli elementi dell’esempio sono ottenuti coi comandi:

>> B(2,1)ans =

0

>>

>> B(3,4)ans =

-3

>>

>> B(4,3)??? Index exceeds matrix dimensions.

>>

Page 4: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 4Elementi di Calcolo Matriciale

In MATLAB la trasposta di a è indicata con a’.

Esempi:

>> B'

ans =

1 0 5

2 3 -1

1 -2 0

-4 -1 -3

>> (B')'ans =

1 2 1 -4

0 3 -2 -1

5 -1 0 -3

>>

4

Matrice trasposta Matrice trasposta

����������������

����

����

����������������

����

����

BT, trasposta di B, si ottiene scambiando le righe con le colonne.

Trasposta della trasposta = matrice originale:(AT)T = A

������������

����

����

������������

����

����

−−−−−−−−−−−−−−−−−−−−

====301512304121

B

501132 −−−−021 −−−−314 −−−−−−−−−−−−

B� =

La trasposta di una matrice m××××n è una matrice n××××m (B è 3××××4, BT è 4××××3)

Page 5: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 5Elementi di Calcolo Matriciale

In MATLAB è possibile costruire una matrice utilizzando dei blocchi invece che singoli elementi.Ad esempio la matrice della figura può essere ottenuta con la seguente sequenza di comandi:

>> P11=[1 3 5;2 4 6;11 -9 8];>> P12=[-1 -2 0 7;3 2 0 0;2 4 6 8];>> P21=[1 6 7;0 0 0];>> P22=[-3 0 4 4;3 4 6 6];>> A=[P11 P12;P21 P22]A =

1 3 5 -1 -2 0 72 4 6 3 2 0 011 -9 8 2 4 6 81 6 7 -3 0 4 40 0 0 3 4 6 6

>> Mentre una sottomatrice è ottenuta col comando

matrice(riga iniziale:riga finale, colonna iniziale:colonna finale). Esempio:>> P12=A(1:2,4:7)P12 =

-1 -2 0 73 2 0 02 4 6 8

>>

5

Matrice Matrice partizionatapartizionata in sottomatrici (blocchi)in sottomatrici (blocchi)

������������������������

����

����

������������������������

����

����

−−−−−−−−

−−−−−−−−

====

664300044037618642891100236427021531

A

������������

����

����

������������

����

����

−−−− 8911642531

��������

������������

����

000761

��������

������������

����−−−−66434403

��������

������������

����====

2221

1211

PPPP

P11= P12=������������

����

����

������������

����

���� −−−−−−−−

864200237021

P21= P22=

Page 6: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

6

Matrici quadrate

“Se m = n (tante righe quante colonne) la matrice si dice quadrata di ordine n”

Page 7: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 7Elementi di Calcolo Matriciale

In MATLAB il comando diag(X), se X è una matrice quadrata, genera come risposta un vettore colonna formato dagli elementi diagonali di X.

Esempio:

X =

1 3 -2

-1 7 5

0 4 -6

>> diag(X)

ans =

1

7

-6

7

Matrici quadrateMatrici quadrate

Diagonale principale Diagonale principale

������������

����

����

������������

����

����

−−−−−−−−

−−−−====

640571231

A

Diagonale principale

A è una matrice 3××××3,quindi è quadrata di ordine 3.

a11 = 1 a22 = 7La diagonale principale è un vettore formato dagli

elementi diagonali, ossia elementi del tipo:aii (indice riga = indice colonna)

a33 = -6

Page 8: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 8Elementi di Calcolo Matriciale

Se pensiamo di annerire tutte le posizioni che possono contenere un valore diverso da zero e lasciamo bianche quelle che di certo contengono zero, disegniamo un triangolo che sta sopra la diagonale principale.

In MATLAB il comando triu(X), se X è una matrice quadrata, estrae da essa la triangolare superiore.

Esempio:

X =

-1 3 0 -6

3 4 -2 5

5 0 -2 3

12 -3 9 3

>> B=triu(X)B =

-1 3 0 -6

0 4 -2 5

0 0 -2 3

0 0 0 3

>>

8

Matrici quadrateMatrici quadrate

Matrice triangolareMatrice triangolare

����������������

����

����

����������������

����

����

−−−−−−−−−−−−

−−−−−−−−

====

3000320052406031

B

B è quadrata di ordine 4

Tutti gli elementi sotto la diagonale sono = 0

B èTRIANGOLARESUPERIORE

“Se per ogni i>k (i,k=1,..,n) bik=0, la matrice è triangolare superiore”

Page 9: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 9Elementi di Calcolo Matriciale

In MATLAB il comando tril(X), se X è una matrice quadrata, estrae da essa la triangolare superiore.

Esempio:

X =

-1 3 0 -6

3 4 -2 5

5 0 -2 3

12 -3 9 3

>> C=tril(X)C =

-1 0 0 0

3 4 0 0

5 0 -2 0

12 -3 9 3

>>

9

Matrici quadrateMatrici quadrate

Matrice triangolare inferioreMatrice triangolare inferiore

����������������

����

����

����������������

����

����

−−−−−−−−

−−−−

====

39312020500430001

C

Tutti gli elementi sopra la diagonale sono = 0

C èTRIANGOLAREINFERIORE

“Se per ogni i<k (i,k=1,..,n) cik=0, la matrice è triangolare inferiore”

Page 10: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 10Elementi di Calcolo Matriciale

Se scambiamo l’indice di riga con quello di colonna, ci portiamo da un elemento a quello in posizione simmetrica rispetto alla diagonale principale.

Nell’esempio, se prendiamo l’elemento a21 (che contiene il valore 3) e scambiamo gli indici ci portiamo sull’elemento a12 (che contiene ancora 3, dato che la matrice è simmetrica). I due elementi sono equidistanti dalla diagonale principale.

Similmente per le coppie a31 e a13 (contengono 0); a32 e a23 (contengono 0); a41 e a14(contengono 12) eccetera.

10

Matrici quadrateMatrici quadrate

Matrice simmetricaMatrice simmetrica

����������������������������

����

����

����������������������������

����

����

−−−−

−−−−

−−−−

−−−−

39312

9200

3043

12031 Tutti gli elementi in posizione “speculare” rispetto alla diagonale sono a due a due uguali

La matrice èSIMMETRICA

“Se per ogni i,k (i,k=1,..,n) aik= aki, la matrice è simmetrica”

Page 11: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 11Elementi di Calcolo Matriciale

In MATLAB il comando diag(v), se v è un vettore (vettore riga oppure vettore colonna), genera come risposta una matrice diagonale.

Esempio:

>> v=[1 -4 -2 3];

>> diag(v)ans =

1 0 0 0

0 -4 0 0

0 0 -2 0

0 0 0 3

>>

11

Matrici quadrateMatrici quadrate

Matrice diagonaleMatrice diagonale

����������������

����

����

����������������

����

����

−−−−

−−−−

3000020000400001

Tutti gli elementi fuori dalla diagonale sono = 0

La matrice è detta DIAGONALE

“Se per ogni i≠≠≠≠k (i,k=1,..,n) aik= 0, la matrice è diagonale”

La matrice diagonale è triangolare superiore...

… e triangolare inferiore

Page 12: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 12Elementi di Calcolo Matriciale

In MATLAB il comando zeros(n) genera la matrice nulla di ordine n.

Esempio:

>> zeros(4)

ans =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

>>

=== Scilab ======================

in Scilab occorre indicare entrambe le dimensioni della matrice, quindi:

-->zeros(4,4)ans =

! 0. 0. 0. 0. !

! 0. 0. 0. 0. !

! 0. 0. 0. 0. !

! 0. 0. 0. 0. !

-->

12

Matrici quadrateMatrici quadrate

Matrice nullaMatrice nulla

Se per ogni i,k (i,k=1,..,n) aik= 0 abbiamo la matrice nulla

����������������

����

����

����������������

����

����

0000000000000000

Page 13: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 13Elementi di Calcolo Matriciale

In MATLAB il comando eye(n) genera la matrice identica di ordine n.

Esempio:

>> I=eye(3)

I =

1 0 0

0 1 0

0 0 1

>>

=== Scilab ======================

in Scilab occorre indicare entrambe le dimensioni della matrice, quindi:

-->eye(3,3)ans =

! 1. 0. 0. 0. !

! 0. 1. 0. 0. !

! 0. 0. 1. 0. !

-->

13

Matrici quadrateMatrici quadrate

Matrice unitariaMatrice unitaria

Se aik=0 per i≠≠≠≠k e aik=1 per i=k, A = I

������������

����

����

������������

����

����

====100010001

ILa matrice è diagonale, tutti gli

elementi sono =1

La matrice si diceUNITARIA o IDENTICAe si indica con I

Page 14: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

14

Operazioni sulle Matrici

Addizione e Sottrazione

Page 15: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 15Elementi di Calcolo Matriciale

15

AddizioneAddizioneDate due matrici A(m××××n), B(m××××n) si definisce addizionedelle due matrici l'operazione che genera la matricesomma S(m××××n) S=A+B, di elementi:

Valgono le proprietà dell'addizione fra numeri reali:commutativa: A+B=B+A,

associativa: A+(B+C) = (A+B)+C,l'elemento neutro è la matrice nulla.

L'addizione è possibile solo fra matrici simili (delle stesse dimensioni)

sij= aij+bij i=1,..,m;j=1,…,n

Elemento neutro di un’operazione (fra due elementi di un insieme) è quell’elemento che “non produce effetti”, ossia dà come risultato lo stesso elemento a cui viene applicato. Ad esempio: nell’operazione prodotto fra due numeri l’elemento neutro è il numero 1, dato che risulta a⋅1 = a, dove a è un numero qualsiasi.

In MATLAB la matrice somma si indica con l’usuale notazione usata per i numeri:

>>A+B;>>A+(B+C);>> . . .

Page 16: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 16Elementi di Calcolo Matriciale

16

SottrazioneSottrazioneDate due matrici A(m××××n), B(m××××n) si definisce sottrazionedelle due matrici l'operazione che genera la matricedifferenza D(m××××n) S=A-B, di elementi:

La sottrazione è possibile solo fra matrici simili (delle stesse dimensioni)

sij= aij-bij i=1,..,m;j=1,…,n

Page 17: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 17Elementi di Calcolo Matriciale

17

Esempio Esempio -- somma di due matrici 3somma di due matrici 3××××××××44

������������

����

����

������������

����

����

−−−−−−−−====������������

����

����

������������

����

����

−−−−−−−−−−−−−−−−−−−−

====008051246037

301512304121

BA

Date:

determinare la matrice somma A+B

A+B =

5 1 2

-4 1 -1 4 5 7 0 -3

8

In MATLAB:

>> A=[1 2 1 -4;0 3 -2 -1;5 -1 0 -3];

>> B=[7 3 0 6;-4 -2 1 5;0 8 0 0];>> A+Bans =

8 5 1 2

-4 1 -1 4

5 7 0 -3

>>

Page 18: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

18

Moltiplicazione

Page 19: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 19Elementi di Calcolo Matriciale

19

Prodotto di un numero per una matriceProdotto di un numero per una matrice

Dato uno scalare (numero) c e una matrice A(m××××n), si definisce prodotto cA la matriceA’(m××××n), di elementi:

Il prodotto del numero –1 per una matrice è la matrice opposta.

La differenza fra due matrici A, B è la somma di A con l’opposta di B:A – B = A + (-1)B

i=1,..,m;k=1,…,n

a’ik=caik

In MATLAB il prodotto di un numero per una matrice si indica col simbolo “*”:

Esempio:

A =

1 2 1 -4

0 3 -2 -1

5 -1 0 -3

>>

>> -3*Aans =

-3 -6 -3 12

0 -9 6 3

-15 3 0 9

>>

Page 20: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 20Elementi di Calcolo Matriciale

20

Prodotto di matriciProdotto di matriciDate due matrici A(m××××n), B(n××××p) si definisce moltiplicazione delle due matrici l'operazione che genera la matrice prodotto P(m××××p) P=A••••B (oppure P=AB), di elementi:

ri è il vettore formato dall’"i-esima riga" di Abk è il vettore "k-esima colonna" di B

(prodotto scalare "righe per colonne")Dimensioni delle matrici:

P = A •••• B

i=1,..,m;j=1,…,n

pik = ri••••bk

(m××××n) (n××××p)

DIMENSIONIINTERNE

(m××××p)

DIMENSIONI ESTERNE

Le dimensioni interne delle due matrici da moltiplicare devono essere uguali.

Le dimensioni esterne determinano le dimensioni della matrice prodotto.

Page 21: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 21Elementi di Calcolo Matriciale

21

Proprietà della Moltiplicazione AProprietà della Moltiplicazione A⋅⋅⋅⋅⋅⋅⋅⋅BB

La riga di A e la colonna di B devono avere lo stesso numero n di elementi (matrici compatibili).

Non vale la proprietà commutativa,quindi (anche se BA esiste):

AB ≠≠≠≠ BA

Il prodotto di matrici quadrate dello stesso ordine è definito ed è una matrice quadrata dello stesso ordine

Vale la proprietà associativa:(AB)C = A(BC)

Si può scrivere quindi: ABC

In MATLAB il prodotto di più matrici si può scrivere come segue:

>> A*B*C;

Page 22: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 22Elementi di Calcolo Matriciale

22

Esempio Esempio -- Prodotto di due matriciProdotto di due matrici

������������

����

����

������������

����

����

−−−−====����

����

������������

����

−−−−====

405301

010321

BAP = AB

P (2××××2)

P = AB =7

p11 = = 7 -2

-3 -5

A(2××××3)B(3××××2)

����1, 2, 3����••••����1, 3, 0����

In MATLAB:

>> A=[1 2 3;0 -1 0];B=[1 0;3 5;0 -4];

>> P=A*BP =

7 -2

-3 -5

>> P(1,1)ans =

7

>>

Page 23: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 23Elementi di Calcolo Matriciale

23

Prodotto matrice Prodotto matrice -- vettorevettore

AB (2××××1)

AB = 2 p11 = = 2

A(2××××2)B(2××××1) ����

����

������������

����====��������

������������

����

−−−−====

62

2401

BA

p21 = = 4 4

Il prodotto della matrice quadrata per il vettore colonna è ancora un vettore colonna

B è dettavettore colonna

����1, 0����••••����2, 6����

����-4, 2����••••����2, 6����

Page 24: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 24Elementi di Calcolo Matriciale

24

Prodotto vettore Prodotto vettore -- matricematrice

BA (1××××2)

BA = 2 p11 = = 2

A(2××××2)B(1××××2) [[[[ ]]]]62

2041

====��������

������������

���� −−−−==== BA

p12 = = 4 4

Il prodotto del vettore riga per la matrice quadrata è ancora un vettore riga

B è dettavettore riga

����2, 6����••••����1, 0����

����2, 6����••••����-4, 2����

Page 25: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 25Elementi di Calcolo Matriciale

25

Vettori riga e vettori colonnaVettori riga e vettori colonna

Inserendo gli elementi di un vettore in una matrice di una sola riga/colonna si possono applicare le regole del

prodotto di matrici

D’ora in avanti:“un vettore sarà sempre un vettore colonna”

Il vettore riga premoltiplica una matrice quadrata e viene trasformato in un altro vettore riga

Il vettore colonna postmoltiplica una matrice quadrata e viene trasformato in un altro vettore colonna

Il vettore riga subisce la stessa trasformazione del corrispondente vettore colonna se le due matrici sono

una trasposta dell’altra

Page 26: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 26Elementi di Calcolo Matriciale

26

Matrice ortogonaleMatrice ortogonale

Una matrice quadrata A si dice ortogonale se ATA = I

Esempio:

������������

����

����

������������

����

����

====������������

����

����

������������

����

���� −−−−

������������

����

����

������������

����

����

−−−−====100010001

100001010

100001010

AAT

Infatti:

������������

����

����

������������

����

���� −−−−====

100001010

Aè ortogonale

In MATLAB:

>> A=[0 –1 0;1 0 0;0 0 1];

>> A'*Aans =

1 0 0

0 1 0

0 0 1

>>

Page 27: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Il determinante è la somma di tanti prodotti. I fattori di ogni prodotto sono elementi della matrice moltiplicati fra loro; ogni fattore non deve appartenere né alla stessa riga né alla stessa colonna degli altri fattori di quel prodotto. Si ricava che ogni prodotto è costituito da n fattori, se n è la dimensione della matrice.

Uno dei prodotti che soddisfano senz’altro alla condizione vista sopra ha come fattori gli elementi della diagonale principale.

Prendendo tutti i possibili prodotti che soddisfano alla condizione vista sopra, cambiando di segno ad alcuni di essi (secondo certe regole), si ottiene l’espressione del determinante.

27

Matrici quadrate

Determinanti

Un determinante è un’espressione algebrica che si ricava in modo univoco - seguendo regole ben precise - da una

matrice quadrataSe det A = 0 la matrice A si dice SINGOLARE

Page 28: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 28Elementi di Calcolo Matriciale

28

Matrici quadrateMatrici quadrate

Determinante di una matriceDeterminante di una matrice 2x22x2

������

Esempio:51132

3112

====⋅⋅⋅⋅−−−−⋅⋅⋅⋅====��������

������������

����det

��������

������������

����====

2221

1211

aaaa

A

�� � � �� � �

“Prodotto degli elementi della diagonale principalemeno prodotto elementi della diagonale secondaria”

Dato che in questo caso n=2, i prodotti sono costituiti da due fattori.

Si vede facilmente che gli unici due prodotti possibili sono quelli costituiti dagli elementi della diagonale principale e da quelli della diagonale secondaria. A quest’ultimo prodotto si cambia segno.

In MATLAB il determinante è calcolato dal comando “det”:

>> det([2 1;1 3])ans =

5

>>

Page 29: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 29Elementi di Calcolo Matriciale

29

Matrici quadrateMatrici quadrate

Determinante di una matriceDeterminante di una matrice 3x33x3

Regola di Sarrus:

������������

����

����

������������

����

����

====

333231

232221

131211

aaaaaaaaa

A

31

21

11

aaa

32

22

12

aaa

detA= a11a22a33

- a13a22a31

+ a12a23a31 + a13a21a32 +

- a11a23a32- a12a21a33

Nel caso n=3 ogni prodotto è costituito da tre fattori.

Sono possibili sei prodotti, ottenibili con la regola di Sarrus:

•Si prende la diagonale principale, partendo dall’elemento in alto a sinistra (elemento a11) e moltiplicandolo per i successivi;

•Si prende la prima colonna e la si ricopia a destra della matrice (si ottiene una matrice provvisoria 3×4). Quindi si ripete l’operazione precedente, partendo da una posizione più a destra (ossia dall’elemento a12) e -muovendosi parallelamente alla diagonale principale- si moltiplicano i tre elementi che si trovano allineati.

•Si prende la seconda colonna e la si ricopia a destra della matrice precedentemente ampliata. Quindi si ripete l’operazione precedente, partendo da una posizione più a destra (elemento a13).

•A questo punto si sono ottenuti tre prodotti, ai quali non va cambiato il segno. Ripartendo ora dall’elemento a13 e muovendosi parallelamente alla diagonale secondaria si ottengono altri treprodotti, cui si cambia segno.

Page 30: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 30Elementi di Calcolo Matriciale

30

Matrici quadrateMatrici quadrate

Determinante di matrice 3Determinante di matrice 3××××××××3 3 -- EsempioEsempio

1•(-1)•••• 3

������������

����

����

������������

����

����

−−−−====310012101

AÈ data la matrice:

������������

����

����

������������

����

����

−−−−310012101

Regola di Sarrus:

1012

01−−−−

detA = + 0••••0••••0 + 1•••• 2•••• 1-1••••(-1)••••0 - 1••••0••••1 - 0••••2••••3 = -1

Con MATLAB:

>> det([1 0 1; 2 –1 0; 0 1 3])ans =

-1

>>

Page 31: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 31Elementi di Calcolo Matriciale

31

Matrici quadrateMatrici quadrate

Alcune proprietà del determinanteAlcune proprietà del determinante

•Scambiando due righe (o due colonne) fra loro il determinante cambia segno

•Se due righe (o due colonne) sono uguali il determinante è nullo

•detAT = detAil determinante della matrice trasposta è uguale al determinante della matrice

•il determinante della matrice nulla vale 0

Page 32: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 32Elementi di Calcolo Matriciale

32

Altre proprietà dei determinantiAltre proprietà dei determinanti

det(A⋅⋅⋅⋅B) = detA ⋅⋅⋅⋅ detB"il determinante del prodotto è il prodotto dei determinanti"

Se A è triangolare detA = a11• a22 •...• ann"il determinante è il prodotto degli elementi diagonali"

Quindi det I = 1

Page 33: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 33Elementi di Calcolo Matriciale

33

Determinante di una matrice ortogonaleDeterminante di una matrice ortogonale

det(A⋅⋅⋅⋅B) = detA ⋅⋅⋅⋅ detBdet(AT⋅⋅⋅⋅A) = detAT ⋅⋅⋅⋅ detA = (detA)2

Se A è ortogonale:•det(AT⋅⋅⋅⋅A) = detI = 1•(detA)2 = 1•detA = ±±±±1

Quindi il determinante di una matrice ortogonale è ±±±±1

Page 34: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 34Elementi di Calcolo Matriciale

34

Matrici quadrateMatrici quadrate

Determinante di una matrice genericaDeterminante di una matrice generica

����������������

����

����

����������������

����

����

====

nnn

n

a..a......aa

a.aa

A

1

2221

11211

detA= a11det������������

����

����

������������

����

����

nn

n

a....a

a.a

32

222

-a12det������������

����

����

������������

����

����

nn

n

a....aa

a.aa

3331

22321

+a13det������������

����

����

������������

����

����

nn

n

a....aa

a.aa

.aa

3432

22422

31

21

±±±±a1ndet������������

����

����

������������

����

����

−−−−

−−−−

1

31

1221

nn

n

a....a

a.a

SVILUPPO DEL SVILUPPO DEL DETERMINANTE DETERMINANTE SECONDO LA PRIMA SECONDO LA PRIMA RIGARIGA

L’algoritmo illustrato permette di esprimere il determinante mediante gli elementi di una riga e i determinanti di matrici di dimensione inferiore. Applicandolo ricorsivamente si arriva a matrici di dimensione 1, in cui il determinante coincide con l’unico elemento.

Questo algoritmo prende il nome di regola di Laplace e può essere generalizzato a qualsiasi riga (vale cioè anche se si sviluppa non secondo la prima riga ma secondo una riga qualsiasi).

Page 35: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 35Elementi di Calcolo Matriciale

35

MatriceMatrice 33××××××××3 3 –– sviluppo secondo la 1sviluppo secondo la 1aa rigariga

detA=

������������

����

����

������������

����

����

====

333231

232221

131211

aaaaaaaaa

A

a11det ��������

������������

����

3331

2321

aaaa

��������

������������

���� a22 a23

a32 a33-a12det

+a13det ��������

������������

����

3231

2221

aaaa

detA=a11(a22a33-a23a32)-a12(a21a33-a23a31) +a13(a21a32-a22a31)

Applicando la regola di Laplace a una matrice 3×3 si verifica che si ottiene la stessa espressione ottenuta con la regola di Sarrus.

Page 36: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 36Elementi di Calcolo Matriciale

36

MatriceMatrice 33××××××××3 3 →→→→→→→→ prodotto vettoreprodotto vettore

������������

����

����

������������

����

����

zyx

zyx

bbbaaakji

a ×××× b = i(aybz-azby)

a ×××× b = det

SVILUPPANDO SECONDO LA PRIMA RIGA:SVILUPPANDO SECONDO LA PRIMA RIGA:

- j(axbz-azbx) + k(axby-aybx)

a ×××× b = i(aybz-azby) + j(azbx-axbz) + k(axby-aybx)

Page 37: Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... · Definizioni e Proprietà ... 3 4 0 3 1 3 0 12 u t ig l em np os z “speculare”

Paaina 37Elementi di Calcolo Matriciale

37

MatriceMatrice 33××××××××3 3 →→→→→→→→ doppiodoppio prodotto mistoprodotto misto

������������

����

����

������������

����

����

zyx

zyx

zyx

ccc

bbb

aaa

a××××b••••c = ax(bycz-bzcy)

a ×××× b •••• c = det

SVILUPPANDO SECONDO LA PRIMA RIGA:SVILUPPANDO SECONDO LA PRIMA RIGA:

- ay(bxcz-bzcx) + az(bxcy-bycx)