[SciPy-dev] Extensions linking to libraries used by numpy/scipy
loredo at astro.cornell.edu
Sun Mar 5 19:08:36 CST 2006
I asked about this some time ago and was told there was no
straightforward way to accomplish it, but that was over a
year ago and before the recent numpy/scipy split, etc.. So
I thought I'd ask again.
I'm writing a package with several C and Fortran extensions,
some of which call functions or subroutines that do things
already done by Scipy routines, e.g., evaluate a gamma function,
perform an LU decomposition, etc.. There are repeated calls,
in the course of a more complex calculation, and the most
sensible way to do the calculations would be to call Scipy's library
routines directly, and not go back through Python. In some cases as
a placeholder I have a version derived from Numerical Recipes, and
this is a no-no as far as public distribution is concerned. I'd like
to be able to call & link to the C or Fortran libraries that Scipy
is accessing, but I need to do it in a way that will build
and operate reliably across the various platforms Scipy builds on.
As specific examples, I'd like to access functions in
cephes/gamma.c, and lapack routines for LU decomposition
and determinant calcuation, e.g., DGETRF, DGBTRF or DGTTRF.
I suspect this isn't hard for gamma.c, but since Scipy
is sometimes built with BLAS/LAPACK, and sometimes with ATLAS,
I suspect it's harder for the LU decomposition.
So... is there a way to do this portably? If so, is it
documented somewhere (example code and an example setup.py)?
Are there examples I could look at? Do some particular
Scipy modules provide good examples of this (which ones)?
Thanks for any pointers,
This mail sent through IMP: http://horde.org/imp/
More information about the Scipy-dev