subroutine mtran (n, A) c double precision A(n,1) integer n c ***----------------------------------------------------------*** c * 'mtran' overwrites A with transpose(A). * c * * c * on entry * c * * c * n [integer] * c * The number of rows and columns in A. * c * (If A is dimensioned as a 2D array in * c * the calling (sub) program, n must be the * c * leading dimension.) * c * * c * A [double precision(n,n)] * c * The matrix to be transposed. * c * * c * on return * c * * c * n [integer] * c * Unchanged. * c * * c * A [double precision(n,n)] * c * The transpose of A. * c ***----------------------------------------------------------*** double precision temp integer i, j c do 20 j = 1, n do 10 i = j+1, n temp = A(i,j) A(i,j) = A(j,i) A(j,i) = temp 10 continue 20 continue return end