I think this is a rather obscure mistake. Explanation follows. The work round is at the end of the answer.
In Cython 0.21, I get another error
filename.pyx:73:21: Cannot convert 'float (ndarray, ndarray, float,
float, float, float, float, int)' to Python object.
, minimise Python , cdef C. [cpdef C, ]
Cython 0.22 0.23 .
@cname("__Pyx_CFunc_float____ndarray____ndarray____float____float____float____float____float____int___to_py")
cdef object __Pyx_CFunc_float____ndarray____ndarray____float____float____float____float____float____int___to_py(float (*f)(ndarray, ndarray, float, float, float, float, float, int) except *):
def wrap(ndarray xx, ndarray y_non_labor, float wage, float gamma, float one_by_gamma, float l, float one_minus_l, int lenx):
^
------------------------------------------------------------
cfunc.to_py:30:25: 'ndarray' is not a type identifier
, wrap, . wrap , , minimize, , Python , def ( minimize ). , -, , Cython 0.22.
, wrap ndarray, np.ndarray, ( !). ,
from numpy cimport ndarray
( ndarray ).
, minimize Python , cpdef ( Python , - ). cpdef - - C, Python ( ).