Trasposta matrice quadrata

Giuo1
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

Risposte
Raptorista1
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]

Giuo1
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

apatriarca
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..

Giuo1
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)

apatriarca
Possiamo darti le nostre opinioni, ma alla fine l'unico modo sicuro è quello di chiedere al professore.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.