[SciPy-dev] numpy/scipy some remarks

Arnd Baecker arnd.baecker at web.de
Wed Jan 18 02:49:18 CST 2006


I just successfully installed a recent numpy/scipy using MKL as math
library on Itanium2.
I have few minor comments, which might cause confusion
to new-comers (and me as well;-) to the numpy/scipy combo:

1.) What does the overwriting stuff mean?

    In [1]: import scipy
    In [2]: scipy.pkgload()
Overwriting lib=<module 'scipy.lib' from
(was <module 'numpy.lib' from

2.) Because I did not use ATLAS, I get the following warnings
    during testing (scipy.test(10): Ran 1038 tests in 21.509:

WARNING: clapack module is empty
See scipy/INSTALL.txt for troubleshooting.
* If atlas library is not found by numpy/distutils/system_info.py,
  then scipy uses flapack instead of clapack.

WARNING: cblas module is empty
See scipy/INSTALL.txt for troubleshooting.
* If atlas library is not found by numpy/distutils/system_info.py,
  then scipy uses fblas instead of cblas.

I am not sure, if it is clear (even after reading  scipy/INSTALL.txt),
what one has to do with this warning.
Should one in addition also install atlas for the clapack/cblas
(Personally I think that for MKL one should just go for the fortran
wrappers, and don't think about the clapack/cblas stuff.
Isn't this only of importance, if the arrays have the wrong
orderering in memory to avoid a copy?)

3.) There was one of those statistical failures again:

FAIL: check_normal (scipy.stats.morestats.test_morestats.test_anderson)
Traceback (most recent call last):
line 47, in check_normal
    assert_array_less(A, crit[-2:])
line 207, in assert_array_less
    assert cond,\
Arrays are not less-ordered (mismatch 50.0%):
        Array 1: 0.86583024233101469
        Array 2: [ 0.858               1.0210000000000001]

  ((Of course, the more often one builds, the more events of this
   type will happen ;-))

 Would it make sense to run these statistical tests eg. up to 5 times,
 and only if they fail all the time, to issue a FAILURE?

4.) help(scipy)


      numpy name space

   [[ looks quite empty here -
      is any more contents (eg. a short example?) planned ]]

    Available subpackages
    stats       --- Statistical Functions [*]
    sparse      --- Sparse matrix [*]
    lib         --- Python wrappers to external libraries [*]
    linalg      --- Linear algebra routines [*]
    signal      --- Signal Processing Tools [*]
    misc        --- Various utilities that don't have another home.
    interpolate --- Interpolation Tools [*]
    optimize    --- Optimization Tools [*]
    cluster     --- Vector Quantization / Kmeans [*]
    fftpack     --- Discrete Fourier Transform algorithms [*]
    io          --- Data input and output [*]
    integrate   --- Integration routines [*]
    lib.lapack  --- Wrappers to LAPACK library [*]
    special     --- Special Functions [*]
    lib.blas    --- Wrappers to BLAS library [*]
      [*] - using a package requires explicit import (see pkgload)

   [[ couldn't one get rid of all these [*]? They don't look nice.
      Only `misc` is different 	 ]]

    Global symbols from subpackages
    stats   --> find_repeats
    misc    --> info, factorial, factorial2, factorialk, comb, who, lena,
                central_diff_weights, derivative, pade, source
    fftpack --> fft, fftn, fft2, ifft, ifft2, ifftn, fftshift, ifftshift,

    Utility tools

      test        --- Run scipy unittests
      pkgload     --- Load scipy packages
      show_config --- Show scipy build configuration
      show_numpy_config --- Show numpy build configuration

   [[ this is directly mapped to `numpy`s show - is it really needed here
     as well? ]]

      __version__ --- Scipy version string
      __numpy_version__ --- Numpy version string

   [[ same with this one, why not just have it in numpy?]]

    Environment variables

      SCIPY_IMPORT_VERBOSE --- pkgload verbose flag, default is 0.

Best, Arnd

More information about the Scipy-dev mailing list