Trasposta matrice quadrata
Salve. Devo scrivere una subroutine fortran. I dati di input e output mi sono stati assegnati dal prof e sono A ( matrice di reali- input e output),N ( ordine della matrice- input ), LD ( leading dimension dell'array - input ).
Avevo già scritto una subroutine simile ma senza LD. Non ho capito che tipo di dato è e a cosa serve. Potreste aiutarmi . Grazie in anticipo
Avevo già scritto una subroutine simile ma senza LD. Non ho capito che tipo di dato è e a cosa serve. Potreste aiutarmi . Grazie in anticipo
Risposte
Dovrebbe essere la dimensione della matrice, o meglio, assumendo che la matrice sia memorizzata in un blocco contiguo, la distanza nella memoria tra due elementi di righe/colonne adiacenti [dipendentemente dal fatto che la matrice sia memorizzata per righe o per colonne]
Scusami. Quindi in pratica se considero una matrice quadrata di ordine N, LD che cosa indica ?visto che LD è un dato di input, per fare una trasposta c'è qualche passaggio in cui serve anche LD ? Perché io quando l'ho fatta non ho inserito il dato LD . Potresti aiutarmi per favore
Sei sicuro che la matrice sia quadrata? Normalmente, per esempio in Lapack, questo tipo di input è usato per indicare una matrice di dimensione LD x N..
Si. La richiesta del prof è questa :
Scrivere una subroutine Fortran per la trasposta di una matrice quadrata, con la seguente testata:
SUBROUTINE TRASPMAT(A, N, LD)
A: matrice di reali (input/output)
N: ordine della matrice (input)
LD: leading dimension dell'array (input)
Scrivere una subroutine Fortran per la trasposta di una matrice quadrata, con la seguente testata:
SUBROUTINE TRASPMAT(A, N, LD)
A: matrice di reali (input/output)
N: ordine della matrice (input)
LD: leading dimension dell'array (input)
Possiamo darti le nostre opinioni, ma alla fine l'unico modo sicuro è quello di chiedere al professore.