Indice
Come si esegue il prodotto di matrici?
Il prodotto di una matrice m x n per una matrice n x p
DEFINIZIONE
Il prodotto di una matrice A di tipo m x n per una matrice B di tipo n x p è una matrice C di tipo m x p, il cui elemento chk è dato dal prodotto della riga numero h della prima matrice per la colonna numero k della seconda matrice.ESEMPIO
Calcoliamo il prodotto fra una matrice 2 x 3 e una matrice 3 x 4.
Scriviamo la matrice prodotto 2 x 4 con gli elementi generici:Determiniamo gli elementi della prima riga della matrice prodotto, moltiplicando la prima riga della prima matrice per tutte le colonne della seconda matrice.
Calcoliamo a11:
Quindi a11 = 2. Analogamente, si ottiene: a12 = 1, a13 = 4 e a14 = 3.
Gli elementi della prima riga della matrice prodotto sono: 2, 1, 4, 3.
Determiniamo gli elementi della seconda riga della matrice prodotto, moltiplicando la seconda riga della prima matrice per tutte le colonne della seconda matrice. Calcoliamo a21:Quindi a21 = – 11. Analogamente: a22 = 5, a23 = – 17 e a24 = 5.
Gli elementi della seconda riga sono: -11, 5, -17, 5.
Possiamo scrivere:
Operazioni con le matrici
ESERCIZIO
Prodotto di matrici
La prima matrice deve avere il numero di colonne uguali al numero di righe della seconda matrice.
Altrimenti il prodotto riga per colonna è impossibile.
Per moltiplicare le due matrici uso la funzione dot()
.
La libreria Numpy
import numpy as np
vetNum=[1, 2, 3]
print ("Stampa vettore: ",vetNum)
print("il primo elemento del vettore: ", vetNum[0])
matNum=[[1,2,3],[4,5,6]]
print("Stampa matrice: ",matNum)
print(" elemento 1 1 della matrice: ",matNum[1][1])
print(" elemento 0 2 della matrice: ",matNum[0][2])
#Questo tipo di dato mi consente di usare la variabile m
#per compiere le operazioni del calcolo vettoriale e matriciale.
print ("stampa vettore Ones np ")
vetOnes=np.ones(5)
print(vetOnes)
print ("stampa vettore Ones np moltiplicato per due ")
print(2*vetOnes)
print ("stampa vettore Ones sommato a se stesso 3 volte ")
print(vetOnes+vetOnes+vetOnes)
print ("stampa matrice np ")
mat = np.array([[1,2],[3,4]])
print(mat)
print ("stampa della matrice np sommata a se stessa ")
print(mat+mat)
print ("Prodotto di due matrici ")
a=np.array([[1,2],[3,4]])
print(a)
b=np.array([[5,6,7],[8,9,10]])
print(b)
axb=np.dot(a,b) #prodotto di due matrici
print("matrice prodotto : ")
print (axb)
print ("Matrice e matrice trasposta ")
m=np.array([[1,2,3],[4,5,6]])
print (m)
print(np.transpose(m))
il primo elemento del vettore: 1
Stampa matrice: [[1, 2, 3], [4, 5, 6]]
elemento 1 1 della matrice: 5
elemento 0 2 della matrice: 3
stampa vettore Ones np
[1. 1. 1. 1. 1.]
stampa vettore Ones np moltiplicato per due
[2. 2. 2. 2. 2.]
stampa vettore Ones sommato a se stesso 3 volte
[3. 3. 3. 3. 3.]
stampa matrice np
[[1 2]
[3 4]]
stampa della matrice np sommata a se stessa
[[2 4]
[6 8]]
Prodotto di due matrici
[[1 2]
[3 4]]
[[ 5 6 7]
[ 8 9 10]]
matrice prodotto :
[[21 24 27]
[47 54 61]]
Matrice e matrice trasposta
[[1 2 3]
[4 5 6]]
[[1 4]
[2 5]
[3 6]]
(632)