Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... ·...
Transcript of Matrici: Definizioni e Proprietà - mate.polimi.itfracal/teaching/mazarch/calnum/lezioni/CN01... ·...
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à
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 “;”.
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.
>>
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)
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=
6
Matrici quadrate
“Se m = n (tante righe quante colonne) la matrice si dice quadrata di ordine n”
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
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”
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”
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”
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
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
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
14
Operazioni sulle Matrici
Addizione e Sottrazione
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);>> . . .
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
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
>>
18
Moltiplicazione
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
>>
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.
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;
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
>>
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����
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����
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
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
>>
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
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
>>
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.
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
>>
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
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
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
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).
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.
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)
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)