On Monday 05 March 2007 08:01, Steffen Loeck wrote: > Has there been any progress in solving this problem? I get the same error > message and have no idea how to solve it.
I do not understand those code parts very well but I think the values passed to the lapack routines must be integer and not long integer on 64bit architecture. A few tests with the attached patch worked well. Best Regards, Lars
Index: numpy/linalg/lapack_litemodule.c =================================================================== --- numpy/linalg/lapack_litemodule.c (revision 3571) +++ numpy/linalg/lapack_litemodule.c (working copy) @@ -520,7 +520,7 @@ int lda; int info; - TRY(PyArg_ParseTuple(args,"llOlOOll",&m,&n,&a,&lda,&tau,&work,&lwork,&info)); + TRY(PyArg_ParseTuple(args,"iiOiOOii",&m,&n,&a,&lda,&tau,&work,&lwork,&info)); /* check objects and convert to right storage order */ TRY(check_object(a,PyArray_DOUBLE,"a","PyArray_DOUBLE","dgeqrf")); @@ -531,7 +531,7 @@ FNAME(dgeqrf)(&m, &n, DDATA(a), &lda, DDATA(tau), DDATA(work), &lwork, &info); - return Py_BuildValue("{s:l,s:l,s:l,s:l,s:l,s:l}","dgeqrf_", + return Py_BuildValue("{s:i,s:i,s:i,s:i,s:i,s:i}","dgeqrf_", lapack_lite_status__,"m",m,"n",n,"lda",lda, "lwork",lwork,"info",info); } @@ -546,14 +546,14 @@ int lda; int info; - TRY(PyArg_ParseTuple(args,"lllOlOOll", &m, &n, &k, &a, &lda, &tau, &work, &lwork, &info)); + TRY(PyArg_ParseTuple(args,"iiiOiOOii", &m, &n, &k, &a, &lda, &tau, &work, &lwork, &info)); TRY(check_object(a,PyArray_DOUBLE,"a","PyArray_DOUBLE","dorgqr")); TRY(check_object(tau,PyArray_DOUBLE,"tau","PyArray_DOUBLE","dorgqr")); TRY(check_object(work,PyArray_DOUBLE,"work","PyArray_DOUBLE","dorgqr")); lapack_lite_status__ = \ FNAME(dorgqr)(&m, &n, &k, DDATA(a), &lda, DDATA(tau), DDATA(work), &lwork, &info); - return Py_BuildValue("{s:l,s:l}","dorgqr_",lapack_lite_status__, + return Py_BuildValue("{s:i,s:i}","dorgqr_",lapack_lite_status__, "info",info); } @@ -755,7 +755,7 @@ int lda; int info; - TRY(PyArg_ParseTuple(args,"llOlOOll",&m,&n,&a,&lda,&tau,&work,&lwork,&info)); + TRY(PyArg_ParseTuple(args,"iiOiOOii",&m,&n,&a,&lda,&tau,&work,&lwork,&info)); /* check objects and convert to right storage order */ TRY(check_object(a,PyArray_CDOUBLE,"a","PyArray_CDOUBLE","zgeqrf")); @@ -765,7 +765,7 @@ lapack_lite_status__ = \ FNAME(zgeqrf)(&m, &n, ZDATA(a), &lda, ZDATA(tau), ZDATA(work), &lwork, &info); - return Py_BuildValue("{s:l,s:l,s:l,s:l,s:l,s:l}","zgeqrf_",lapack_lite_status__,"m",m,"n",n,"lda",lda,"lwork",lwork,"info",info); + return Py_BuildValue("{s:i,s:i,s:i,s:i,s:i,s:i}","zgeqrf_",lapack_lite_status__,"m",m,"n",n,"lda",lda,"lwork",lwork,"info",info); } @@ -778,7 +778,7 @@ int lda; int info; - TRY(PyArg_ParseTuple(args,"lllOlOOll", &m, &n, &k, &a, &lda, &tau, &work, &lwork, &info)); + TRY(PyArg_ParseTuple(args,"iiiOiOOii", &m, &n, &k, &a, &lda, &tau, &work, &lwork, &info)); TRY(check_object(a,PyArray_CDOUBLE,"a","PyArray_CDOUBLE","zungqr")); TRY(check_object(tau,PyArray_CDOUBLE,"tau","PyArray_CDOUBLE","zungqr")); TRY(check_object(work,PyArray_CDOUBLE,"work","PyArray_CDOUBLE","zungqr")); @@ -788,7 +788,7 @@ FNAME(zungqr)(&m, &n, &k, ZDATA(a), &lda, ZDATA(tau), ZDATA(work), &lwork, &info); - return Py_BuildValue("{s:l,s:l}","zungqr_",lapack_lite_status__, + return Py_BuildValue("{s:i,s:i}","zungqr_",lapack_lite_status__, "info",info); }
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion