Accesso ai dati di (i,j,k) e (j,i,k)

All'interno del ciclo più annidato $C(i,j)$ rimane costante, mentre al variare di $k$ abbiamo $A(i,k)=a^i$ e $B(k,j)=b_j$, perciò ad $A$ accediamo per righe mentre a $B$ accediamo per colonne; precisamente all'interno di ogni ciclo ciò che eseguiamo è

\begin{displaymath}c_{ij}=c_{ij}+a^ib_j\end{displaymath}

Come indicazione diciamo che se il linguaggio che utiliziamo accede alle matrici per righe, si deve fare in modo di rendere $A$ la matrice più grande: questo comporta un minor degrado delle prestazioni, dal momento che risulta un accesso più ottimizzato per la matrice di dimensioni maggiori.



Morpheus 2004-01-04