
La moltiplicazione tra vettori
Quando devi calcolare il prodotto tra due vettori, devi prima capire quale tipo di moltiplicazione si intende, perché esistono tre diversi tipologie di moltiplicazione vettoriale: il prodotto scalare (o prodotto interno), il prodotto vettoriale e la moltiplicazione componente per componente:
- Prodotto scalare (dot product)
Il prodotto scalare di due vettori è un numero (uno scalare) che ottieni moltiplicando le componenti corrispondenti dei due vettori e sommando i risultati.Ad esempio, considera due vettori in uno spazio a tre dimensioni $$ \vec{a} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} $$ $$ \vec{b} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} $$ il loro prodotto scalare è $$ a \cdot b = a_1 \cdot b_1 + a_2 \cdot b_2 + a_3 \cdot b_3 $$
- Prodotto vettoriale (cross product)
Il prodotto vettoriale di due vettori è un vettore perpendicolare ai due vettori originari. Il modulo (la lunghezza) del vettore risultante è proporzionale al seno dell'angolo tra i due vettori, ed è massimo quando i vettori sono perpendicolari.Ad esempio, considera due vettori nello spazio tridimensionale $$ \vec{a} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} $$ $$ \vec{b} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} $$ il loro prodotto vettoriale è $$ a \ \text{x} \ b = \begin{pmatrix} a_2 \cdot b_3 - a_3 \cdot b_2 \\ a_3 \cdot b_1 - a_1 \cdot b_3 \\ a_1 \cdot b_2 - a_2 \cdot b_1 \end{pmatrix} $$
Nota che, mentre il prodotto scalare è definito in qualsiasi numero di dimensioni, il prodotto vettoriale come definito sopra ha senso solo in tre dimensioni. Esistono generalizzazioni del prodotto vettoriale in altre dimensioni, ma sono molto più complessi. - Prodotto di Hadamard (componente per componente)
Un terzo tipo di moltiplicazione si chiama "prodotto di Hadamard" o "prodotto componente per componente". In questo caso devi calcolare il prodotto delle componenti corrispondenti dei due vettori, risultando in un altro vettore.Ad esempio, dati due vettori $$ \vec{a} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} $$ $$ \vec{b} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} $$ il loro prodotto di Hadamard è $$ \vec{a} \vec{b} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} = \begin{pmatrix} a_1 \cdot b_1 \\ a_2 \cdot b_2 \\ a_3 \cdot b_3 \end{pmatrix} $$
Nelle applicazioni matematiche il prodotto di Hadamard non è comune come il prodotto scalare o il prodotto vettoriale, ma è usato spesso in certi contesti come l'apprendimento automatico (machine learning). Quindi, usa questa formula solo se è espressamente indicato che si tratta della moltiplicazione componente per componente. - Prodotto esterno (outer product)
Un altro tipo di prodotto tra vettori è il prodotto esterno (outer product). Si tratta di un'operazione che prende due vettori e restituisce una matrice con tutti i possibili prodotti delle componenti dei due vettori. Nel prodotto esterno i vettori possono anche avere dimensioni diversa tra loro. Per questa ragione è anche detto prodotto tensoriale.
Ad esempio, dati due vettori $$ \vec{a} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} $$ $$ \vec{b} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} $$ il loro prodotto esterno è la matrice $$ \vec{a} \otimes \vec{b} = \begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} \otimes \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} = \begin{pmatrix} a_1 \cdot b_1 & a_1 \cdot b_2 & a_1 \cdot b_3 \\ a_2 \cdot b_1 & a_2 \cdot b_2 & a_2 \cdot b_3 \\ a_3 \cdot b_1 & a_3 \cdot b_2 & a_3 \cdot b_3 \end{pmatrix} $$