¿Las versiones recientes de f2py admiten el ajuste de funciones fortran con valores de matriz? En alguna documentación antigua esto no era compatible. ¿Qué tal ahora?f2py funciones con valores de matriz
Vamos a por ejemplo guardar la siguiente función como func.f95.
function func(x)
implicit none
double precision :: x(:),func(size(x))
integer :: i
do i=1,size(x)
func(i) = i*x(i)
end do
end function
Compilo esto con f2py --fcompiler=gnu95 -c -m func func.f95
luego dejar que el siguiente código Python sea test_func.py
import func
from numpy import array
x = array(xrange(1,10),dtype='float64')
print 'x=',x
y = func.func(x)
print 'func(x)=',y
La salida de
python test_func.py
está
x= [ 1. 2. 3. 4. 5. 6. 7. 8. 9.]
Segmentation fault
puede hacer [la solución explicada en esta respuesta ...] (http://stackoverflow.com/q/17474225/832621), pero requerirá más evaluaciones de las requeridas. Para este caso, iría por 'Cython' –