ANN: SciPy 0.11.0 release candidate 1
Hi, I am pleased to announce the availability of the first release candidate of SciPy 0.11.0. For this release many new features have been added, and over 120 tickets and pull requests have been closed. Also noteworthy is that the number of contributors for this release has risen to over 50. Some of the highlights are: - A new module, sparse.csgraph, has been added which provides a number of common sparse graph algorithms. - New unified interfaces to the existing optimization and root finding functions have been added. Sources and binaries can be found at https://sourceforge.net/projects/scipy/files/scipy/0.11.0rc1/, release notes are copied below. Please try this release candidate and report any problems on the scipy mailing lists. Cheers, Ralf ========================== SciPy 0.11.0 Release Notes ========================== .. note:: Scipy 0.11.0 is not released yet! .. contents:: SciPy 0.11.0 is the culmination of 8 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. Highlights of this release are: - A new module has been added which provides a number of common sparse graph algorithms. - New unified interfaces to the existing optimization and root finding functions have been added. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Our development attention will now shift to bug-fix releases on the 0.11.x branch, and on adding new features on the master branch. This release requires Python 2.4-2.7 or 3.1-3.2 and NumPy 1.5.1 or greater. New features ============ Sparse Graph Submodule ---------------------- The new submodule :mod:`scipy.sparse.csgraph` implements a number of efficient graph algorithms for graphs stored as sparse adjacency matrices. Available routines are: - :func:`connected_components` - determine connected components of a graph - :func:`laplacian` - compute the laplacian of a graph - :func:`shortest_path` - compute the shortest path between points on a positive graph - :func:`dijkstra` - use Dijkstra's algorithm for shortest path - :func:`floyd_warshall` - use the Floyd-Warshall algorithm for shortest path - :func:`breadth_first_order` - compute a breadth-first order of nodes - :func:`depth_first_order` - compute a depth-first order of nodes - :func:`breadth_first_tree` - construct the breadth-first tree from a given node - :func:`depth_first_tree` - construct a depth-first tree from a given node - :func:`minimum_spanning_tree` - construct the minimum spanning tree of a graph ``scipy.optimize`` improvements ------------------------------- The optimize module has received a lot of attention this release. In addition to added tests, documentation improvements, bug fixes and code clean-up, the following improvements were made: - A unified interface to minimizers of univariate and multivariate functions has been added. - A unified interface to root finding algorithms for multivariate functions has been added. - The L-BFGS-B algorithm has been updated to version 3.0. Unified interfaces to minimizers ```````````````````````````````` Two new functions ``scipy.optimize.minimize`` and ``scipy.optimize.minimize_scalar`` were added to provide a common interface to minimizers of multivariate and univariate functions respectively. For multivariate functions, ``scipy.optimize.minimize`` provides an interface to methods for unconstrained optimization (`fmin`, `fmin_powell`, `fmin_cg`, `fmin_ncg`, `fmin_bfgs` and `anneal`) or constrained optimization (`fmin_l_bfgs_b`, `fmin_tnc`, `fmin_cobyla` and `fmin_slsqp`). For univariate functions, ``scipy.optimize.minimize_scalar`` provides an interface to methods for unconstrained and bounded optimization (`brent`, `golden`, `fminbound`). This allows for easier comparing and switching between solvers. Unified interface to root finding algorithms ```````````````````````````````````````````` The new function ``scipy.optimize.root`` provides a common interface to root finding algorithms for multivariate functions, embeding `fsolve`, `leastsq` and `nonlin` solvers. ``scipy.linalg`` improvements ----------------------------- New matrix equation solvers ``````````````````````````` Solvers for the Sylvester equation (``scipy.linalg.solve_sylvester``, discrete and continuous Lyapunov equations (``scipy.linalg.solve_lyapunov``, ``scipy.linalg.solve_discrete_lyapunov``) and discrete and continuous algebraic Riccati equations (``scipy.linalg.solve_continuous_are``, ``scipy.linalg.solve_discrete_are``) have been added to ``scipy.linalg``. These solvers are often used in the field of linear control theory. QZ and QR Decomposition ```````````````````````` It is now possible to calculate the QZ, or Generalized Schur, decomposition using ``scipy.linalg.qz``. This function wraps the LAPACK routines sgges, dgges, cgges, and zgges. The function ``scipy.linalg.qr_multiply``, which allows efficient computation of the matrix product of Q (from a QR decompostion) and a vector, has been added. Pascal matrices ``````````````` A function for creating Pascal matrices, ``scipy.linalg.pascal``, was added. Sparse matrix construction and operations ----------------------------------------- Two new functions, ``scipy.sparse.diags`` and ``scipy.sparse.block_diag``, were added to easily construct diagonal and block-diagonal sparse matrices respectively. ``scipy.sparse.csc_matrix`` and ``csr_matrix`` now support the operations ``sin``, ``tan``, ``arcsin``, ``arctan``, ``sinh``, ``tanh``, ``arcsinh``, ``arctanh``, ``rint``, ``sign``, ``expm1``, ``log1p``, ``deg2rad``, ``rad2deg``, ``floor``, ``ceil`` and ``trunc``. Previously, these operations had to be performed by operating on the matrices' ``data`` attribute. LSMR iterative solver --------------------- LSMR, an iterative method for solving (sparse) linear and linear least-squares systems, was added as ``scipy.sparse.linalg.lsmr``. Discrete Sine Transform ----------------------- Bindings for the discrete sine transform functions have been added to ``scipy.fftpack``. ``scipy.interpolate`` improvements ---------------------------------- For interpolation in spherical coordinates, the three classes ``scipy.interpolate.SmoothSphereBivariateSpline``, ``scipy.interpolate.LSQSphereBivariateSpline``, and ``scipy.interpolate.RectSphereBivariateSpline`` have been added. Binned statistics (``scipy.stats``) ----------------------------------- The stats module has gained functions to do binned statistics, which are a generalization of histograms, in 1-D, 2-D and multiple dimensions: ``scipy.stats.binned_statistic``, ``scipy.stats.binned_statistic_2d`` and ``scipy.stats.binned_statistic_dd``. Deprecated features =================== ``scipy.sparse.cs_graph_components`` has been made a part of the sparse graph submodule, and renamed to ``scipy.sparse.csgraph.connected_components``. Calling the former routine will result in a deprecation warning. ``scipy.misc.radon`` has been deprecated. A more full-featured radon transform can be found in scikits-image. ``scipy.io.save_as_module`` has been deprecated. A better way to save multiple Numpy arrays is the ``numpy.savez`` function. The `xa` and `xb` parameters for all distributions in ``scipy.stats.distributions`` already weren't used; they have now been deprecated. Backwards incompatible changes ============================== Removal of ``scipy.maxentropy`` ------------------------------- The ``scipy.maxentropy`` module, which was deprecated in the 0.10.0 release, has been removed. Logistic regression in scikits.learn is a good and modern alternative for this functionality. Minor change in behavior of ``splev`` ------------------------------------- The spline evaluation function now behaves similarly to ``interp1d`` for size-1 arrays. Previous behavior:: >>> from scipy.interpolate import splev, splrep, interp1d >>> x = [1,2,3,4,5] >>> y = [4,5,6,7,8] >>> tck = splrep(x, y) >>> splev([1], tck) 4. >>> splev(1, tck) 4. Corrected behavior:: >>> splev([1], tck) array([ 4.]) >>> splev(1, tck) array(4.) This affects also the ``UnivariateSpline`` classes. Behavior of ``scipy.integrate.complex_ode`` ------------------------------------------- The behavior of the ``y`` attribute of ``complex_ode`` is changed. Previously, it expressed the complex-valued solution in the form:: z = ode.y[::2] + 1j * ode.y[1::2] Now, it is directly the complex-valued solution:: z = ode.y Minor change in behavior of T-tests ----------------------------------- The T-tests ``scipy.stats.ttest_ind``, ``scipy.stats.ttest_rel`` and ``scipy.stats.ttest_1samp`` have been changed so that 0 / 0 now returns NaN instead of 1. Other changes ============= The SuperLU sources in ``scipy.sparse.linalg`` have been updated to version 4.3 from upstream. The function ``scipy.signal.bode``, which calculates magnitude and phase data for a continuous-time system, has been added. The two-sample T-test ``scipy.stats.ttest_ind`` gained an option to compare samples with unequal variances, i.e. Welch's T-test. ``scipy.misc.logsumexp`` now takes an optional ``axis`` keyword argument. Authors ======= This release contains work by the following people (contributed at least one patch to this release, names in alphabetical order): * Jeff Armstrong * Chad Baker * Brandon Beacher + * behrisch + * borishim + * Matthew Brett * Lars Buitinck * Luis Pedro Coelho + * Johann Cohen-Tanugi * David Cournapeau * dougal + * Ali Ebrahim + * endolith + * Bjørn Forsman + * Robert Gantner + * Sebastian Gassner + * Christoph Gohlke * Ralf Gommers * Yaroslav Halchenko * Charles Harris * Jonathan Helmus + * Andreas Hilboll + * Marc Honnorat + * Jonathan Hunt + * Maxim Ivanov + * Thouis (Ray) Jones * Christopher Kuster + * Josh Lawrence + * Denis Laxalde + * Travis Oliphant * Joonas Paalasmaa + * Fabian Pedregosa * Josef Perktold * Gavin Price + * Jim Radford + * Andrew Schein + * Skipper Seabold * Jacob Silterra + * Scott Sinclair * Alexis Tabary + * Martin Teichmann * Matt Terry + * Nicky van Foreest + * Jacob Vanderplas * Patrick Varilly + * Pauli Virtanen * Nils Wagner + * Darryl Wally + * Stefan van der Walt * Liming Wang + * David Warde-Farley + * Warren Weckesser * Sebastian Werk + * Mike Wimmer + * Tony S Yu + A total of 55 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
On 7/19/2012 11:10 AM, Ralf Gommers wrote:
Hi,
I am pleased to announce the availability of the first release candidate of SciPy 0.11.0. For this release many new features have been added, and over 120 tickets and pull requests have been closed. Also noteworthy is that the number of contributors for this release has risen to over 50. Some of the highlights are:
- A new module, sparse.csgraph, has been added which provides a number of common sparse graph algorithms. - New unified interfaces to the existing optimization and root finding functions have been added.
Sources and binaries can be found at https://sourceforge.net/projects/scipy/files/scipy/0.11.0rc1/, release notes are copied below.
Please try this release candidate and report any problems on the scipy mailing lists.
Cheers, Ralf
Hi Ralf, looks good: scipy 0.11.0rc1 builds and tests OK with numpy-MKL 1.6.2 on win32 and win-amd64, Python 2.6 to 3.2. Only one known Weave test error on Python 3.x. Could <https://github.com/scipy/scipy/commit/c2e8029054e7fbb8083b11996398db8634a8b5...> be applied to the final? Christoph
On Thu, Jul 19, 2012 at 10:15 PM, Christoph Gohlke <cgohlke@uci.edu> wrote:
On 7/19/2012 11:10 AM, Ralf Gommers wrote:
Hi,
I am pleased to announce the availability of the first release candidate of SciPy 0.11.0. For this release many new features have been added, and over 120 tickets and pull requests have been closed. Also noteworthy is that the number of contributors for this release has risen to over 50. Some of the highlights are:
- A new module, sparse.csgraph, has been added which provides a number of common sparse graph algorithms. - New unified interfaces to the existing optimization and root finding functions have been added.
Sources and binaries can be found at https://sourceforge.net/projects/scipy/files/scipy/0.11.0rc1/, release notes are copied below.
Please try this release candidate and report any problems on the scipy mailing lists.
Cheers, Ralf
Hi Ralf,
looks good: scipy 0.11.0rc1 builds and tests OK with numpy-MKL 1.6.2 on win32 and win-amd64, Python 2.6 to 3.2.
Great, thanks for the quick feedback!
Only one known Weave test error on Python 3.x. Could < https://github.com/scipy/scipy/commit/c2e8029054e7fbb8083b11996398db8634a8b5...
be applied to the final?
Yes, I meant to do that but somehow overlooked it. Ralf
On 19 July 2012 22:17, Ralf Gommers <ralf.gommers@googlemail.com> wrote:
On Thu, Jul 19, 2012 at 10:15 PM, Christoph Gohlke <cgohlke@uci.edu> wrote:
looks good: scipy 0.11.0rc1 builds and tests OK with numpy-MKL 1.6.2 on win32 and win-amd64, Python 2.6 to 3.2.
Great, thanks for the quick feedback!
Only one known Weave test error on Python 3.x. Could
Python 2.5 - 3.2 look fine on Ubuntu Linux 64-bit (except for the weave error on Py3). On Python 2.4 I see some failures: Running unit tests for scipy NumPy version 1.6.2 NumPy is installed in /home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/numpy SciPy version 0.11.0rc1 SciPy is installed in /home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy Python version 2.4.6 (#2, May 21 2012, 16:12:34) [GCC 4.6.3] nose version 1.1.2 ... ====================================================================== ERROR: adding a dense matrix to a sparse matrix ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/tests/test_base.py", line 573, in test_add_dense sum1 = self.dat + self.datsp File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/dok.py", line 133, in __getitem__ raise TypeError('index must be a pair of integers or slices') TypeError: index must be a pair of integers or slices ====================================================================== ERROR: test_matmat_sparse (test_base.TestDOK) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/tests/test_base.py", line 471, in test_matmat_sparse assert_array_almost_equal( a2*bsp, a*b) File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/dok.py", line 133, in __getitem__ raise TypeError('index must be a pair of integers or slices') TypeError: index must be a pair of integers or slices ====================================================================== ERROR: test_radd (test_base.TestDOK) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/tests/test_base.py", line 325, in test_radd c = a + b File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/dok.py", line 133, in __getitem__ raise TypeError('index must be a pair of integers or slices') TypeError: index must be a pair of integers or slices ====================================================================== ERROR: test_rsub (test_base.TestDOK) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/tests/test_base.py", line 336, in test_rsub assert_array_equal((self.dat - self.datsp),[[0,0,0,0],[0,0,0,0],[0,0,0,0]]) File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/dok.py", line 133, in __getitem__ raise TypeError('index must be a pair of integers or slices') TypeError: index must be a pair of integers or slices ====================================================================== ERROR: subtracting a dense matrix to/from a sparse matrix ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/tests/test_base.py", line 581, in test_sub_dense sum1 = 3*self.dat - self.datsp File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/dok.py", line 133, in __getitem__ raise TypeError('index must be a pair of integers or slices') TypeError: index must be a pair of integers or slices Cheers, Scott
On Fri, Jul 20, 2012 at 10:16 AM, Scott Sinclair < scott.sinclair.za@gmail.com> wrote:
On 19 July 2012 22:17, Ralf Gommers <ralf.gommers@googlemail.com> wrote:
On Thu, Jul 19, 2012 at 10:15 PM, Christoph Gohlke <cgohlke@uci.edu>
wrote:
looks good: scipy 0.11.0rc1 builds and tests OK with numpy-MKL 1.6.2 on win32 and win-amd64, Python 2.6 to 3.2.
Great, thanks for the quick feedback!
Only one known Weave test error on Python 3.x. Could
Python 2.5 - 3.2 look fine on Ubuntu Linux 64-bit (except for the weave error on Py3).
On Python 2.4 I see some failures:
Running unit tests for scipy NumPy version 1.6.2 NumPy is installed in
/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/numpy SciPy version 0.11.0rc1 SciPy is installed in
/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy Python version 2.4.6 (#2, May 21 2012, 16:12:34) [GCC 4.6.3] nose version 1.1.2 ... ====================================================================== ERROR: adding a dense matrix to a sparse matrix ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/tests/test_base.py", line 573, in test_add_dense sum1 = self.dat + self.datsp File "/home/scott/Downloads/scipy-0.11.0rc1/.tox/py24/lib/python2.4/site-packages/scipy/sparse/dok.py", line 133, in __getitem__ raise TypeError('index must be a pair of integers or slices') TypeError: index must be a pair of integers or slices
====================================================================== ERROR: test_matmat_sparse (test_base.TestDOK) ----------------------------------------------------------------------
There was a ticket for this, http://projects.scipy.org/scipy/ticket/1559, and a PR to mark as knownfail (as it was on 0.10.0), https://github.com/scipy/scipy/pull/237. For some reason this failure went away on some platforms with 2.4, but apparently not for you. Since we had already decided that this wasn't fixable for 2.4 and didn't understand why PR-237 helped at all, I think we should just mark as knownfail now and be done with it. Ralf
Hi,
I am pleased to announce the availability of the first release candidate of SciPy 0.11.0. For this release many new features have been added, and over 120 tickets and pull requests have been closed. Also noteworthy is that the number of contributors for this release has risen to over 50. Some of the highlights are:
- A new module, sparse.csgraph, has been added which provides a number of common sparse graph algorithms. - New unified interfaces to the existing optimization and root finding functions have been added.
Sources and binaries can be found at https://sourceforge.net/projects/scipy/files/scipy/0.11.0rc1/, release notes are copied below.
Please try this release candidate and report any problems on the scipy mailing lists.
Failure on Archlinux 64bit, Python 2.7.3, Numpy 1.6.1: This is what I did: mkvirtualenv --system-site-packages --distribute scipy_test_rc1 cd ~/.virtualenvs/scipy_test_rc1 mkdir src wget -O src/scipy-0.11.0rc1.tar.gz "http://downloads.sourceforge.net/project/scipy/scipy/0.11.0rc1/scipy-0.11.0rc1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fscipy%2Ffiles%2Fscipy%2F0.11.0rc1%2F&ts=1342772081&use_mirror=netcologne" cd src tar xzf scipy-0.11.0rc1.tar.gz cd scipy-0.11.0rc1 python setup.py build python setup.py install cd python -c "import scipy; scipy.test('full')" Running unit tests for scipy NumPy version 1.6.1 NumPy is installed in /usr/lib/python2.7/site-packages/numpy SciPy version 0.11.0rc1 SciPy is installed in /home2/hilboll/.virtualenvs/scipy_test_rc1/lib/python2.7/site-packages/scipy Python version 2.7.3 (default, Apr 24 2012, 00:00:54) [GCC 4.7.0 20120414 (prerelease)] nose version 1.1.2 [...] ====================================================================== FAIL: test_basic.TestNorm.test_stable ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home2/hilboll/.virtualenvs/scipy_test_rc1/lib/python2.7/site-packages/scipy/linalg/tests/test_basic.py", line 585, in test_stable assert_almost_equal(norm(a) - 1e4, 0.5) File "/usr/lib/python2.7/site-packages/numpy/testing/utils.py", line 468, in assert_almost_equal raise AssertionError(msg) AssertionError: Arrays are not almost equal to 7 decimals ACTUAL: 0.0 DESIRED: 0.5 ---------------------------------------------------------------------- FAILED (KNOWNFAIL=16, SKIP=42, failures=1)
20.07.2012 11:34, Andreas Hilboll kirjoitti: [clip]
====================================================================== FAIL: test_basic.TestNorm.test_stable ---------------------------------------------------------------------- [clip]
Broken BLAS or something? Try this fortran program: !!! test.f90 program main implicit none real a(10001) real b, snrm2 external snrm2 a(1) = 1e4 a(2:10001) = 1.0 b = snrm2(10001, a, 1) write(*,*) b ! should give 10000.5 end program main -- Pauli Virtanen
20.07.2012 11:34, Andreas Hilboll kirjoitti: [clip]
====================================================================== FAIL: test_basic.TestNorm.test_stable ---------------------------------------------------------------------- [clip]
Broken BLAS or something? Try this fortran program:
!!! test.f90 program main implicit none real a(10001) real b, snrm2 external snrm2
a(1) = 1e4 a(2:10001) = 1.0
b = snrm2(10001, a, 1) write(*,*) b ! should give 10000.5 end program main
% gfortran -lblas test_blas.f90 % ./a.out 10000.0000 So apparently, something's wrong. But what? Cheers, A.
Andreas Hilboll <lists <at> hilboll.de> writes:
20.07.2012 11:34, Andreas Hilboll kirjoitti: [clip]
====================================================================== FAIL: test_basic.TestNorm.test_stable ---------------------------------------------------------------------- [clip]
Broken BLAS or something? Try this fortran program:
!!! test.f90 program main implicit none real a(10001) real b, snrm2 external snrm2
a(1) = 1e4 a(2:10001) = 1.0
b = snrm2(10001, a, 1) write(*,*) b ! should give 10000.5 end program main
% gfortran -lblas test_blas.f90 % ./a.out 10000.0000
So apparently, something's wrong. But what?
Cheers, A.
Hi, I think BLAS is right. I implemented the core of the original BLAS routine (http://www.netlib.org/blas/snrm2.f) in python: def snrm2(X,INCX=1): import math from numpy import float32 N=len(X) SCALE = float32(0.0) SSQ = float32(0.0) for ix in range(0,N,INCX): if X[ix]!=0.0: ABSXI = float32(abs(X[ix])) if SCALE < ABSXI: SSQ = float32(1.0) + SSQ * float32(float32(SCALE/ABSXI)**2) SCALE = ABSXI else: SSQ = SSQ + float32(float32(ABSXI/SCALE)**2) NORM = SCALE*float32(math.sqrt(SSQ)) return NORM It shows the same behavior. The reason is that the ratio between 10000**2 / 1**2 is 1e8. So the loop is adding a small value to a large value in single precision. float32(1e8+1) = 1e8 This can only be improved if snrm2 would internally use double precision. But this was obviously not the intention. Greetings Rüdiger
Rüdiger Kessel <ruediger.kessel <at> gmail.com> writes: PS: With test_stable() one can tell implementations apart. If snrm2() is implemented completely in single precision then the result of norm(a) will be 10000.0. If internally a double precision implementation is used but the result is rounded to single precision then the result of norm(a) is 10000.5. Both implementations are possible and probably present in different libs. Therefore the test should allow for both results. It might produce some printed comment about the implementation.
On Tue, Jul 24, 2012 at 6:07 PM, Rüdiger Kessel <ruediger.kessel@gmail.com>wrote:
Rüdiger Kessel <ruediger.kessel <at> gmail.com> writes:
PS: With test_stable() one can tell implementations apart. If snrm2() is implemented completely in single precision then the result of norm(a) will be 10000.0. If internally a double precision implementation is used but the result is rounded to single precision then the result of norm(a) is 10000.5. Both implementations are possible and probably present in different libs. Therefore the test should allow for both results. It might produce some printed comment about the implementation.
Thanks Rudiger, that explanation was helpful. https://github.com/scipy/scipy/pull/286 allows for both results in the test. Ralf
Hi Ralf, On Thu, Jul 19, 2012 at 8:10 PM, Ralf Gommers <ralf.gommers@googlemail.com> wrote:
Hi,
I am pleased to announce the availability of the first release candidate of SciPy 0.11.0. For this release many new features have been added, and over 120 tickets and pull requests have been closed. Also noteworthy is that the number of contributors for this release has risen to over 50. Some of the highlights are:
- A new module, sparse.csgraph, has been added which provides a number of common sparse graph algorithms. - New unified interfaces to the existing optimization and root finding functions have been added.
Sources and binaries can be found at https://sourceforge.net/projects/scipy/files/scipy/0.11.0rc1/, release notes are copied below.
Please try this release candidate and report any problems on the scipy mailing lists.
I've installed the 2.7 superpack on win64, with Python from python.org 32bit and NumPy 1.6.2 superpack (I first tested numpy, all tests pass) and when I run the scipy tests, I get a segfault when executing: test_qz_double_sort (test_decomp.TestQZ) I am using Windows XP 64 bit in a VM. Ondrej
I thought it might be of interest for you -- I have ran nosetests scipy against current head on an s390x Debian porter box: http://www.onerussian.com/tmp/tests-scipy-v0.4.3-5984-gfd5ceda-s390x.log summary: FAILED (SKIP=31, errors=15, failures=6) Cheers, On Thu, 19 Jul 2012, Ralf Gommers wrote:
Hi,
I am pleased to announce the availability of the first release candidate of SciPy 0.11.0. For this release many new features have been added, and over 120 tickets and pull requests have been closed. Also noteworthy is that the number of contributors for this release has risen to over 50. Some of the highlights are:
� - A new module, sparse.csgraph, has been added which provides a number of common sparse graph algorithms. � - New unified interfaces to the existing optimization and root finding functions have been added.
Sources and binaries can be found at [1]https://sourceforge.net/projects/scipy/files/scipy/0.11.0rc1/, release notes are copied below.
Please try this release candidate and report any problems on the scipy mailing lists.
Cheers, Ralf
-- Yaroslav O. Halchenko Postdoctoral Fellow, Department of Psychological and Brain Sciences Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755 Phone: +1 (603) 646-9834 Fax: +1 (603) 646-1419 WWW: http://www.linkedin.com/in/yarik
On Wed, Aug 8, 2012 at 8:38 PM, Yaroslav Halchenko <lists@onerussian.com>wrote:
I thought it might be of interest for you -- I have ran nosetests scipy against current head on an s390x Debian porter box: http://www.onerussian.com/tmp/tests-scipy-v0.4.3-5984-gfd5ceda-s390x.log summary: FAILED (SKIP=31, errors=15, failures=6)
Thanks Yaroslav.
Note that all the errors disappear if you run the tests with ">>> scipy.test('full', verbose=2)". The 6 failures are: ====================================================================== FAIL: test_basic.TestNorm.test_stable ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/linalg/tests/test_basic.py", line 585, in test_stable assert_almost_equal(norm(a) - 1e4, 0.5) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 468, in assert_almost_equal raise AssertionError(msg) AssertionError: Arrays are not almost equal to 7 decimals ACTUAL: 0.0 DESIRED: 0.5 ====================================================================== FAIL: test_datatypes.test_uint64_max ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/ndimage/tests/test_datatypes.py", line 57, in test_uint64_max assert_true(x[1] > (2**63)) AssertionError: False is not true ====================================================================== FAIL: test_qhull.TestUtilities.test_degenerate_barycentric_transforms ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/usr/lib/pymodules/python2.7/numpy/testing/decorators.py", line 146, in skipper_func return f(*args, **kwargs) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/spatial/tests/test_qhull.py", line 139, in test_degenerate_barycentric_transforms assert_(bad_count < 20, bad_count) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: 20 ====================================================================== FAIL: test_qhull.TestUtilities.test_more_barycentric_transforms ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/usr/lib/pymodules/python2.7/numpy/testing/decorators.py", line 146, in skipper_func return f(*args, **kwargs) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/spatial/tests/test_qhull.py", line 199, in test_more_barycentric_transforms unit_cube_tol=1.5e6*eps) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/spatial/tests/test_qhull.py", line 124, in _check_barycentric_transforms assert_(ok.all(), "%s %s" % (err_msg, np.where(~ok))) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: ndim=4 (array([ 8071, 10512, 10513]),) ====================================================================== FAIL: test_iv_cephes_vs_amos_mass_test (test_basic.TestBessel) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/special/tests/test_basic.py", line 1659, in test_iv_cephes_vs_amos_mass_test assert_(dc[k] < 1e-9, (v[k], x[k], special.iv(v[k], x[k]), special.iv(v[k], x[k]+0j))) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: (189.2947429454936, 3.0238805556481037, 4.089165443940765e-317, 0j) ====================================================================== FAIL: test_data.test_boost(<Data for gamma: test_gamma_data_ipp-near_m55>,) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/special/tests/test_data.py", line 218, in _test_factory test.check(dtype=dtype) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/special/_testutils.py", line 224, in check assert_(False, "\n".join(msg)) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: Max |adiff|: 5.56451e-80 Max |rdiff|: 6.01399e-12 Bad results for the following points (in output 0): -55.25 => 1.2813426521432485e-73 != 1.2813426521356121e-73 (rdiff 5.959647207094304e-12) -55.0625 => 9.867326074925447e-73 != 9.86732607487198e-73 (rdiff 5.4185128296701245e-12) -55.015625 => 4.736069454765531e-72 != 4.736069454740001e-72 (rdiff 5.390477071035947e-12) -55.001953125 => 4.001152702605484e-71 != 4.0011527025839184e-71 (rdiff 5.3899101047365405e-12) -55.0009765625 => 8.03371657917631e-71 != 8.033716579133006e-71 (rdiff 5.390260882973932e-12) -55.00006103515625 => 1.2901278999535244e-69 != 1.2901278999465708e-69 (rdiff 5.389836286790528e-12) -55.00001525878906 => 5.161460448793591e-69 != 5.161460448765773e-69 (rdiff 5.389643299825182e-12) -55.00000762939453 => 1.0323237221382923e-68 != 1.0323237221327282e-68 (rdiff 5.3898770611534905e-12) -54.99999237060547 => -1.0323869903952338e-68 != -1.0323869903896693e-68 (rdiff 5.389945636678977e-12) -54.999969482421875 => -2.5812047538146166e-69 != -2.581204753800704e-69 (rdiff 5.390048438554985e-12) -54.999755859375 => -3.229275765714629e-70 != -3.229275765697224e-70 (rdiff 5.38980884948699e-12) -54.99951171875 => -1.6162223904478387e-70 != -1.6162223904391274e-70 (rdiff 5.389899375642087e-12) -54.998046875 => -4.0644220032500644e-71 != -4.064422003228156e-71 (rdiff 5.390308306297719e-12) -54.9921875 => -1.0403990765960148e-71 != -1.040399076590406e-71 (rdiff 5.391034204122906e-12) -54.984375 => -5.369420317853762e-72 != -5.369420317824802e-72 (rdiff 5.393513012257176e-12) -54.9375 => -1.6301847489550236e-72 != -1.6301847489461702e-72 (rdiff 5.430916285207302e-12) -54.875 => -1.0680846658730133e-72 != -1.0680846658670925e-72 (rdiff 5.5434016349406124e-12) -54.875 => -1.0680846658730133e-72 != -1.0680846658670925e-72 (rdiff 5.5434016349406124e-12) -54.75 => -9.545836185682586e-73 != -9.545836185625178e-73 (rdiff 6.013992626968188e-12) -54.625 => -1.206186475654961e-72 != -1.2061864756493961e-72 (rdiff 4.6135414163673135e-12) ---------------------------------------------------------------------- Ran 6217 tests in 500.388s
On Wed, Aug 8, 2012 at 8:53 PM, Ralf Gommers <ralf.gommers@gmail.com> wrote:
On Wed, Aug 8, 2012 at 8:38 PM, Yaroslav Halchenko <lists@onerussian.com>wrote:
I thought it might be of interest for you -- I have ran nosetests scipy against current head on an s390x Debian porter box: http://www.onerussian.com/tmp/tests-scipy-v0.4.3-5984-gfd5ceda-s390x.log summary: FAILED (SKIP=31, errors=15, failures=6)
Thanks Yaroslav.
Note that all the errors disappear if you run the tests with ">>> scipy.test('full', verbose=2)".
The 6 failures are:
3 of these should disappear with https://github.com/scipy/scipy/pull/286. Not sure about the test_iv_cephes.. one, can you try? Otherwise we can mark it as knownfail for s390x; to do so it would be helpful if you provide a good way to detect that platform (output of platform.machine() perhaps?). No idea about the Qhull ones. Ralf
====================================================================== FAIL: test_basic.TestNorm.test_stable ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/linalg/tests/test_basic.py", line 585, in test_stable assert_almost_equal(norm(a) - 1e4, 0.5) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 468, in assert_almost_equal raise AssertionError(msg) AssertionError: Arrays are not almost equal to 7 decimals ACTUAL: 0.0 DESIRED: 0.5
====================================================================== FAIL: test_datatypes.test_uint64_max ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/ndimage/tests/test_datatypes.py", line 57, in test_uint64_max assert_true(x[1] > (2**63)) AssertionError: False is not true
====================================================================== FAIL: test_qhull.TestUtilities.test_degenerate_barycentric_transforms ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/usr/lib/pymodules/python2.7/numpy/testing/decorators.py", line 146, in skipper_func return f(*args, **kwargs) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/spatial/tests/test_qhull.py", line 139, in test_degenerate_barycentric_transforms assert_(bad_count < 20, bad_count) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: 20
====================================================================== FAIL: test_qhull.TestUtilities.test_more_barycentric_transforms ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/usr/lib/pymodules/python2.7/numpy/testing/decorators.py", line 146, in skipper_func return f(*args, **kwargs) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/spatial/tests/test_qhull.py", line 199, in test_more_barycentric_transforms unit_cube_tol=1.5e6*eps) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/spatial/tests/test_qhull.py", line 124, in _check_barycentric_transforms assert_(ok.all(), "%s %s" % (err_msg, np.where(~ok))) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: ndim=4 (array([ 8071, 10512, 10513]),)
====================================================================== FAIL: test_iv_cephes_vs_amos_mass_test (test_basic.TestBessel) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/special/tests/test_basic.py", line 1659, in test_iv_cephes_vs_amos_mass_test assert_(dc[k] < 1e-9, (v[k], x[k], special.iv(v[k], x[k]), special.iv(v[k], x[k]+0j))) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: (189.2947429454936, 3.0238805556481037, 4.089165443940765e-317, 0j)
====================================================================== FAIL: test_data.test_boost(<Data for gamma: test_gamma_data_ipp-near_m55>,) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/special/tests/test_data.py", line 218, in _test_factory test.check(dtype=dtype) File "/home/yoh/scipy/scipy/install/lib/python2.7/site-packages/scipy/special/_testutils.py", line 224, in check assert_(False, "\n".join(msg)) File "/usr/lib/pymodules/python2.7/numpy/testing/utils.py", line 34, in assert_ raise AssertionError(msg) AssertionError: Max |adiff|: 5.56451e-80 Max |rdiff|: 6.01399e-12 Bad results for the following points (in output 0): -55.25 => 1.2813426521432485e-73 != 1.2813426521356121e-73 (rdiff 5.959647207094304e-12) -55.0625 => 9.867326074925447e-73 != 9.86732607487198e-73 (rdiff 5.4185128296701245e-12) -55.015625 => 4.736069454765531e-72 != 4.736069454740001e-72 (rdiff 5.390477071035947e-12) -55.001953125 => 4.001152702605484e-71 != 4.0011527025839184e-71 (rdiff 5.3899101047365405e-12) -55.0009765625 => 8.03371657917631e-71 != 8.033716579133006e-71 (rdiff 5.390260882973932e-12) -55.00006103515625 => 1.2901278999535244e-69 != 1.2901278999465708e-69 (rdiff 5.389836286790528e-12) -55.00001525878906 => 5.161460448793591e-69 != 5.161460448765773e-69 (rdiff 5.389643299825182e-12) -55.00000762939453 => 1.0323237221382923e-68 != 1.0323237221327282e-68 (rdiff 5.3898770611534905e-12) -54.99999237060547 => -1.0323869903952338e-68 != -1.0323869903896693e-68 (rdiff 5.389945636678977e-12) -54.999969482421875 => -2.5812047538146166e-69 != -2.581204753800704e-69 (rdiff 5.390048438554985e-12) -54.999755859375 => -3.229275765714629e-70 != -3.229275765697224e-70 (rdiff 5.38980884948699e-12) -54.99951171875 => -1.6162223904478387e-70 != -1.6162223904391274e-70 (rdiff 5.389899375642087e-12) -54.998046875 => -4.0644220032500644e-71 != -4.064422003228156e-71 (rdiff 5.390308306297719e-12) -54.9921875 => -1.0403990765960148e-71 != -1.040399076590406e-71 (rdiff 5.391034204122906e-12) -54.984375 => -5.369420317853762e-72 != -5.369420317824802e-72 (rdiff 5.393513012257176e-12) -54.9375 => -1.6301847489550236e-72 != -1.6301847489461702e-72 (rdiff 5.430916285207302e-12) -54.875 => -1.0680846658730133e-72 != -1.0680846658670925e-72 (rdiff 5.5434016349406124e-12) -54.875 => -1.0680846658730133e-72 != -1.0680846658670925e-72 (rdiff 5.5434016349406124e-12) -54.75 => -9.545836185682586e-73 != -9.545836185625178e-73 (rdiff 6.013992626968188e-12) -54.625 => -1.206186475654961e-72 != -1.2061864756493961e-72 (rdiff 4.6135414163673135e-12)
---------------------------------------------------------------------- Ran 6217 tests in 500.388s
participants (9)
-
Andreas Hilboll -
Christoph Gohlke -
Ondrej Certik -
Pauli Virtanen -
Ralf Gommers -
Ralf Gommers -
Rüdiger Kessel -
Scott Sinclair -
Yaroslav Halchenko