[SciPy-dev] Bessel functions from Boost

Ondrej Certik ondrej@certik...
Sun Feb 8 18:12:51 CST 2009


Hi,

On Sun, Feb 8, 2009 at 10:58 AM, Michael Abshoff
<michael.abshoff@googlemail.com> wrote:
> Pauli Virtanen wrote:
>
> Hi,
>
>> Sun, 08 Feb 2009 18:25:32 +0100, Matthieu Brucher wrote:
>>
>>>> The only problem is that being in Boost, they are written in C++, and I
>>>> guess we can't make Scipy to depend on it.
>>> The sparse module is already based on C+, so why not more ?
>>
>> The problem is not C++ per se, but Boost:
>>
>> (i) How much of it we need to bundle with Scipy?
>> (ii) Are there portability/build issues?
>
> Boost is a neverending souce of portability/build issues and every
> project I ever touched using boost had specific version requirements,
> i.e PuCUDA wanted either one of two speccfic release while quantlib
> wanted another set, but in between them there wasn't any boost that
> worked for both of them. Putting that code in-tree opens you up to all
> kinds of version mismatches and confusion if boost is installed system
> wide.
>
> I have had to fix or work around issues with recent boost on common
> platforms like OSX, much less seemingly "exotic" things like FreeBSD :),
> boost has its own build system (jam) which isn't exactly used commonly
> anywhere else and quite painful, i.e. boost always used the global
> Python headers for quantlib for example and you need either the latest
> release or some snapshot to work around that bug. Boost code requires
> beefy resources to compile and on and on an on. Please do not touch
> boost code, but if you must either translate C code or look at some
> alternative like mpmath, i.e.
>
>   http://code.google.com/p/mpmath/
>
> Fredrick is quite responsive about bugs and feature requests and we have
> talked to him about replacing some of the functionality provided by
> cephes in Sage via mpmath since they are arbitrary precision and pretty
> fast when optionally using gmp. But it also works in pure mode, i.e. all
> BSD licensed code.

I completely agree with Michael here. Why not to use mpmath? It's bsd,
it started as part of sympy and it was the GSoC project for sympy the
last year. It's pretty competitive with gmp (e.g. for the pi digits
calculations, it's even faster than Sage, unless Sage fixed that
already), but one doesn't have to use gmp, if one doesn't want to.

And I think both Fredrik and other mpmath and sympy developers would
help to make mpmath working with scipy. Definitely I would. I think
that's a better option, than to port some boost stuff and then you
would have to maintain it. If you use mpmath, all of us win, imho.

Ondrej


More information about the Scipy-dev mailing list