Come moltiplicare due matrici o vettori in python

Nel linguaggio python per fare il prodotto riga per colonna tra due matrici o il prodotto scalare tra due vettori utilizzo la funzione dot() della libreria numpy.

dot(a,b)

Il primo argomento è la prima matrice o vettore. Il secondo argomento è la seconda matrice o vettore.

La funzione dot effettua la moltiplicazione riga per colonna.

il prodotto riga per colonna di due matrici

La stessa funzione mi permette di calcolare il prodotto scalare tra due vettori.

$$ \vec{a} \cdot \vec{b} = \begin{pmatrix} a_1 & a_2 & a_3 \end{pmatrix} \cdot \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} $$

Nota. La funzione dot si trova nel modulo numpy. Pertanto, per usarla è necessario prima caricare la libreria nella memoria dell'interprete.

    Un esempio pratico

    Apro python e carico il modulo numpy.

    import numpy as np

    Poi definisco due matrici con la funzione array. Una matrice quadrata 2x2 e una matrice rettangolare 2x3.

    Assegno le due matrici alle variabili a e b.

    a=np.array([[1,2],[3,4]])
    b=np.array([[5,6,7],[8,9,10]])

    La prima matrice deve avere il numero di colonne uguali al numero di righe della seconda matrice.

    Altrimenti il prodotto riga per colonna è impossibile.

    il prodotto tra matrici

    Per moltiplicare le due matrici uso la funzione dot().

    np.dot(a,b)

    L'output della funzione è il seguente:

    array([[21, 24, 27],
    [47, 54, 61]])

    La funzione dot() ha calcolato automaticamente il prodotto riga per colonna tra le due matrici.

    Si tratta di un'altra matrice 2x3

    il prodotto matriciale riga per colonna

    A questo punto posso salvare il risultato in una variabile o visualizzarlo sullo schermo.

    E così via.

    Nota. La stessa funzione dot() mi permette anche la moltiplicazione tra una matrice e un vettore o tra due vettori. Basta ridefinire i due fattori con la funzione array() e ricalcolare il prodotto matriciale con la funzione dot()..

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Numpy

    I metodi e le funzioni