¿Cómo se puede pasar un escalar a un vector (matriz 1D) a una subrutina Fortran?
Hay este programa:
INTEGER i,k
REAL*8 mp(15,48)
REAL*8 sp(15)
k=0
do i=1,12
k=k+1
call Equaltensors(sp,mp(1,k),15)
enddo
end
c=====================
subroutine Equaltensors(tensA,tensB,n)
REAL*8 tensA(n),tensB(n)
INTEGER i
do i=1,n
tensB(i)=tensA(i)
enddo
return
end
Básicamente, el valor de mp (1,1) y así sucesivamente se pasa a la subrutina como un vector tensB (15) con n = 15. Lo que no entiendo es cómo se puede almacenar un número real en una matriz de una dimensión en una subrutina.