Supponiamo di avere una matrice m x n di cui vogliamo effettuare lo scaling. Invece di scrivere una nuova subroutine per fare questo, possiamo semplicemente considerare la matrice come un vettore e utilizzare la subroutine scale utilizzata nell’intervento precedente.
Una versione semplice di questo algotritmo è quello mostrato di seguito:
integer m, n parameter (m=10, n=20) real alpha, A(m,n) call scale(m*n, alpha, A)
Si noti che questo esempio funziona perché si suppone che la dimensione dichiarata di A sia uguale alla dimensione effettiva della matrice A. Questo non vale in generale. Spesso la dimensione principale è diversa da quella reale, e grande cura deve essere posta nel gestire il problema.
Link correlati all’argomento
- Come scaricare gratuitamente il compilatore Fortran
- Gli articoli della guida Fortran