Moltiplicazione di matrici
In matematica, e più precisamente in algebra lineare, la moltiplicazione di matrici è il prodotto righe per colonne tra due matrici, possibile sotto certe condizioni, che dà luogo ad un'altra matrice. Se una matrice rappresenta una applicazione lineare, il prodotto fra matrici è la traduzione della composizione di due applicazioni lineari. Quindi se due matrici 2 x 2 rappresentano ad esempio due rotazioni nel piano di angoli α e β, il loro prodotto è definito in modo tale da rappresentare una rotazione di angolo α + β.
Indice |
[modifica] Definizione
Sia K un campo. Siano date una matrice A di dimensione m x n ed una seconda matrice B di dimensioni n x p a valori in K. Siano aij gli elementi di A e bij gli elementi di B. Si definisce il prodotto matriciale di A per B la matrice C = A x B a valori in K e di dimensioni m x p i cui elementi cij sono dati da:[1]
.
per ogni valore di riga i e di colonna j.
Due matrici possono essere moltiplicate fra loro solo se il numero di colonne della prima è uguale al numero di righe della seconda, ed il prodotto tra due matrici non è commutativo.[2]
Una matrice può essere moltiplicata con se stessa solo se è quadrata. In questo caso, il prodotto
si denota con A2. Più in generale, la potenza n-esima di una matrice è:
dove n è un numero naturale.
Un'altra definizione informale della moltiplicazione matriciale, atta a permetterne una più rapida e immediata memorizzazione, è "moltiplicazione riga per colonna", infatti, per ottenere l'elemento della i-esima riga e j-esima colonna della matrice prodotto basta porre un indice sulla riga i della prima matrice, l'altro sulla colonna j della seconda e moltiplicare gli elementi indicati, quindi scorrere di un posto con le dita e moltiplicare, fino a raggiungere la fine della colonna e della riga, infine sommare i vari prodotti ottenuti.
[modifica] Proprietà
- La moltiplicazione fra matrici è generalmente non commutativa (in altre parole, AB e BA sono due matrici diverse).
- La moltiplicazione fra matrici è distributiva rispetto alla somma. In altre parole,
- A(B + C) = AB + AC
- (A + B)C = AC + BC
- Per ogni scalare k vale:
- k(AB) = (kA)B = A(kB)
- La moltiplicazione fra matrici è associativa:
- A(BC) = (AB)C
- Le matrici aventi valori in un anello (ad esempio, l'anello dei numeri interi, razionali, reali o complessi) con le operazioni di somma e prodotto formano un altro anello. Per quanto detto sopra, questo anello è generalmente non commutativo anche se quello di partenza lo è.
- L'elemento neutro per l'operazione di moltiplicazione fra matrici è la matrice identica I. In particolare, se A è quadrata con lo stesso numero di righe di I:
- AI = IA = A
- La matrice nulla 0 con n righe annulla qualsiasi altra matrice. In particolare, se A è quadrata con n righe, abbiamo
- 0A = A0 = 0
- Una matrice quadrata A è invertibile se esiste un'altra matrice B tale che AB = BA = I dove I è la matrice identità con lo stesso numero di righe di A. Molte matrici non sono invertibili. In altre parole, anche se l'insieme dei valori di partenza è un campo, le matrici non formano un campo. Ad esempio la matrice seguente non è invertibile.
- Algebra delle matrici, alcune proprietà significative del prodotto righe per colonne :
[modifica] Prodotto di una matrice per un vettore
Una matrice con una sola riga, cioè di dimensione
, è un vettore riga. Analogamente, una matrice con una sola colonna, cioè di dimensione
è un vettore colonna. Nell'operazione di moltiplicazione questi due oggetti si comportano in modo differente.
Siano A = (aij) è una matrice
e
è un vettore colonna
. Il prodotto di A per il vettore v è il prodotto di matrici:
Le componenti di c sono:
[modifica] Algoritmo
Un algoritmo in C per la moltiplicazione
è
//Moltiplicazione matrice × vettore
/* RM = numero di righe della matrice */
/* CM = numero di colonne della matrice (uguale al numero di righe del vettore) */
/* M = matrice [RM] × [CM] */
/* V = vettore [CM] */
/* il vettore risultato sarà VR [RM] con stesso numero di righe della matrice */
/* poniamo VR [RM] sia inizialmente posto con tutti i valori a zero. */
for (i=0; i<RM; i++) /* scandisco le righe con l'indice i */
for (j=0; j<CM; j++) /* e le colonne con j */
VR[i] = VR[i] + M[i][j] * V[j];
Questo prodotto è ampiamente usato in algebra lineare perché descrive una applicazione lineare. Ad esempio, il prodotto
rappresenta una rotazione di angolo α nel piano cartesiano.
In alcuni casi può essere utile effettuare il prodotto
: il risultato è un altro vettore riga.
[modifica] Prodotto di una matrice per uno scalare
La moltiplicazione di una matrice A = (ai,j) per uno scalare r, cioè un elemento dell'anello cui appartengono gli ai,j, è ottenuta moltiplicando ogni elemento di A per lo scalare:
Se l'anello di partenza non è commutativo, questa viene indicata come moltiplicazione sinistra, e può differire dalla moltiplicazione destra:
[modifica] Proprietà
- Se l'anello di partenza è commutativo (ad esempio se è l'anello dei numeri interi, razionali, reali o complessi) le moltiplicazioni sinistra e destra sono equivalenti e si parla solo di moltiplicazione di una matrice con uno scalare.
- Se l'anello di partenza è un campo, ad esempio quello dei numeri razionali, reali o complessi, lo spazio delle matrici m per n con le operazioni di somma e prodotto per scalare formano uno spazio vettoriale.
- Se l'anello di partenza è un anello commutativo, lo spazio delle matrici m per n con le operazioni di somma e di prodotto per scalare forma un modulo.
Se l'anello di partenza non è commutativo, ad esempio se è l'anello dei quaternioni, le due moltiplicazioni non sono equivalenti. Ad esempio:
[modifica] Costruzioni alternative
Sono stati definiti nel tempo altri tipi di prodotto tra matrici, meno fortunati in quanto a utilizzo dell'usuale prodotto righe per colonne. In particolare si può nominare il prodotto di Hadamard o prodotto puntuale, in cui il prodotto di A = (aij)ij e B = (bij)ij è dato da
. Ad esempio:
.
Un'altra costruzione è data dal prodotto di Kronecker, che trova applicazioni nel calcolo tensoriale, dato da
espressa sotto forma di matrice a blocchi, in cui ogni blocco ij-esimo è dato dalla matrice B moltiplicata per lo scalare aij.
[modifica] Esempi
- Una matrice
moltiplicata per
dà una matrice 
1ª riga della matrice risultato:
2ª riga della matrice risultato:
Risultato
:
- Si consideri il prodotto:
Il risultato di questa operazione è un altro vettore colonna, di tipo
.
[modifica] Note
[modifica] Bibliografia
- Serge Lang, Algebra lineare, Torino, Bollati Boringhieri, 1992. ISBN 88-339-5035-2
- Kenneth Hoffman; Ray Kunze, Linear Algebra, 2a ed., Englewood Cliffs, New Jersey, Prentice - Hall, inc., 1971. ISBN 01-353-6821-9
- Marco Abate; Chiara de Fabritiis, Geometria analitica con elementi di algebra lineare, Milano, McGraw-Hill, 2006. ISBN 88-386-6289-4.
- Edoardo Sernesi, Geometria 1, 2a ed., Torino, Bollati Boringhieri, 1989. ISBN 88-339-5447-1.
[modifica] Voci correlate
[modifica] Altri progetti
Wikimedia Commons contiene file multimediali su Moltiplicazione di matrici
[modifica] Collegamenti esterni
- (IT) Programma parallelo per moltiplicare le matrici in MPI su parallelknoppix.info
|
|

.









.
dà una matrice 
![C_{11} = [(1 \times 1) + (1 \times 2) + (2 \times 0)] = 3](http://upload.wikimedia.org/wikipedia/it/math/9/3/c/93cf42679ef147b462f9ecec0b9b3d78.png)
![C_{12} = [(1 \times 1) + (1 \times 5) + (2 \times -2)] = 2](http://upload.wikimedia.org/wikipedia/it/math/3/3/e/33eba3d8e702c325b7650f851e6d32c3.png)
![C_{13} = [(1 \times 1) + (1 \times 1) + (2 \times 1)] = 4](http://upload.wikimedia.org/wikipedia/it/math/7/a/9/7a9281afa2f61a7d6d0b9db5a3db5725.png)
![C_{21} = [(0 \times 1) + (1 \times 2) + (-3 \times 0)] = 2](http://upload.wikimedia.org/wikipedia/it/math/9/6/8/968be44086873489100c0bae11af30d7.png)
![C_{22} = [(0 \times 1) + (1 \times 5) + (-3 \times -2)] = 11](http://upload.wikimedia.org/wikipedia/it/math/1/f/a/1fa36d5a7fb1e0cb85722f78b67c9e2f.png)
![C_{23} = [(0 \times 1) + (1 \times 1) + (-3 \times 1)] = -2](http://upload.wikimedia.org/wikipedia/it/math/7/1/8/71815de01f0df839e0f966c4686e1b86.png)

