[SciPy-dev] MCMC, Kalman Filtering, AI for SciPy?
Pearu Peterson
pearu at scipy.org
Mon Sep 27 18:43:01 CDT 2004
On Mon, 27 Sep 2004, Charles Harris wrote:
> eric jones wrote:
>
>> Where should these live?
>> monte carlo and markov chain might fit in scipy.stats?
>
> How about in monte_carlo or some such? I think there is too much stuff
> put in odd places. Why is zeros in optimize? Makes no sense, but there
> it is. I don't think now is the time to change all the directories
> around, but I hope we give some thought to the organization before it
> becomes unmanageable. The Dewey decimal classification was an
> achievement I am coming to appreciate.
I agree that tools provided by Scipy are not organized well with respect
to the mathematical subject that they deal with and so finding the needed
tool for some specific task may not be always easy. And I agree that this
issue should be tackled as early stage as possible in Scipy evolution,
otherwise it will get more and more difficult to decide where to put
contributions from the society and there is a danger of postponing such
decisions to an unreachable future..
The current organization of Scipy packages is mostly based on underlying
Fortran/C libraries and that is obviously not the best way to organize
any high-level scientific tool.
While Chuck mentioned Dewey decimal classification then there are other
classification schemes available. For example, MSC
(http://www.ams.org/msc/). A nice overview of MSC can be found in
http://www.math.niu.edu/~rusin/known-math/index/index.html
I don't know how well could these classification schemes be used
for organizing Scipy packages, may be we should take a look how Matlab or
Maple or Mathematica deal with organizing their tools.
>From the maintenance point of view, IMHO, wrappers to external Fortran/C
libraries should be refactored from scipy packages to some "lib"
package. For example, there would be packages like
scipy.lib.blas
scipy.lib.lapack
scipy.lib.fftpack
scipy.lib.minpack
scipy.lib.cephes
scipy.lib.odepack
scipy.lib.quadpack
scipy.lib.fitpack
scipy.lib.minpack
scipy.lib.superlu
scipy.lib.amos
scipy.lib.cdflib
etc
and they will be used by higher level packages like
scipy.linalg
scipy.linalg.sparse
scipy.stats
scipy.optimize
scipy.special
etc.
These higher level packages can be organized by whatever scheme will be
chosen, the scheme may be changed or even replaced in future, but the
core of scipy, scipy.lib, that contains most of the hard work in scipy,
should stay as constant as possible.
Please, send suggestions on how to better organize scipy high-level
packages.
Thanks,
Pearu
More information about the Scipy-dev
mailing list