Di seguito considereremo il numero delle operazioni moltiplicative (cosiddette pesanti),
- Prodotto matrice-vettore: $A \in \mathbb{R}^{nxm}, x \in \mathbb{R}^n \Rightarrow y = Ax, y \in \mathbb{R}^n $
$y_i = a_{i1}x_1+a_{i2}x_2+...+a_{in}x_n = \sum\limits_{j=1}^n a_{ij}x_j, \forall i = 1, ..., n$
Ciascuna componente $y_i$ del vettore $y \in \mathbb{R}^n$ costa $n$ prodotti, le componenti sono $n$
$ \Rightarrow $ il costo computazionale del prodotto matrice vettore è dell' $O(n^2)$ - Prodotto righe per colonne: $A, B \in \mathbb{R}^{nxn} \Rightarrow \mathbb{C} = \mathbb{r}^{nxn}$
$c_{ij} = \sum\limits_{k=1}^n a_{ik}b_{kj}=a_{i1}b_{1j}+a_{i2}b_{2j}+...+a_{in}b_{nj}$
Abbiamo quindi $n$ prodotti e $n-1$ addizioni (ma come detto prima ci occuperemo solo delle moltiplicazioni).
Il generico elemento $c_{ij}$ ha un costo computazionale dell'$O(n)$ prodotti. Gli elementi $c_{ij}$ della matrice $C \in \mathbb{R}^{nxn}$ sono in numero $n^2$.
$\Rightarrow$ il costo computazionale del prodotto righe-colonne tra $A, B \in \mathbb{R}^{nxn}$ è dell'$O(n^3)$.
Se $A \in \mathbb{R}^{mxn}, B \in \mathbb{R}^{nxp} \Rightarrow C = AB \in \mathbb{R}^{mxp}$, il quale c.c. è dell'$O(mnp)$
Nessun commento:
Posta un commento