Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test_roots_gegenbauer/chebyt/chebyc failures on manylinux #8603

Closed
pv opened this issue Mar 24, 2018 · 2 comments
Closed

test_roots_gegenbauer/chebyt/chebyc failures on manylinux #8603

pv opened this issue Mar 24, 2018 · 2 comments
Labels
defect A clear bug or issue that prevents SciPy from being installed or used as expected scipy.special
Milestone

Comments

@pv
Copy link
Member

pv commented Mar 24, 2018

The manylinux builds (mainly 32-bit?) show some test failures (eg https://travis-ci.org/MacPython/scipy-wheels/jobs/348679426) in scipy.special test_roots_gegenbauer/chebyt/chebyc, appeared between 2018-02-24 and 2018-03-03.

The only relevant PR in this time window seems to be #8496

=========================== short test summary info ============================
FAIL scipy/special/tests/test_orthogonal.py::test_roots_gegenbauer
FAIL scipy/special/tests/test_orthogonal.py::test_roots_chebyt
FAIL scipy/special/tests/test_orthogonal.py::test_roots_chebyc
XPASS scipy/interpolate/tests/test_gil.py::TestGIL::()::test_rectbivariatespline race conditions, may depend on system load
XPASS scipy/linalg/tests/test_solve_toeplitz.py::test_unstable Instability of Levinson iteration
XPASS scipy/ndimage/tests/test_datatypes.py::test_uint64_max runs only on darwin
XPASS scipy/optimize/tests/test_linprog.py::TestLinprogIPSparse::()::test_bug_6690 Fails with ATLAS, see gh-7877
XPASS scipy/optimize/tests/test_linprog.py::TestLinprogIPSparsePresolve::()::test_bug_6690 Fails with ATLAS, see gh-7877
XPASS scipy/stats/tests/test_distributions.py::TestF::()::test_stats_broadcast f stats does not properly broadcast
=================================== FAILURES ===================================
____________________________ test_roots_gegenbauer _____________________________
[gw1] linux2 -- Python 2.7.6 /venv/bin/python

    def test_roots_gegenbauer():
        rootf = lambda a: lambda n, mu: sc.roots_gegenbauer(n, a, mu)
        evalf = lambda a: lambda n, x: orth.eval_gegenbauer(n, a, x)
        weightf = lambda a: lambda x: (1 - x**2)**(a - 0.5)
    
        vgq = verify_gauss_quad
        vgq(rootf(-0.25), evalf(-0.25), weightf(-0.25), -1., 1., 5)
        vgq(rootf(-0.25), evalf(-0.25), weightf(-0.25), -1., 1., 25, atol=1e-12)
        vgq(rootf(-0.25), evalf(-0.25), weightf(-0.25), -1., 1., 100, atol=1e-11)
    
        vgq(rootf(0.1), evalf(0.1), weightf(0.1), -1., 1., 5)
        vgq(rootf(0.1), evalf(0.1), weightf(0.1), -1., 1., 25, atol=1e-13)
        vgq(rootf(0.1), evalf(0.1), weightf(0.1), -1., 1., 100, atol=1e-12)
    
        vgq(rootf(1), evalf(1), weightf(1), -1., 1., 5)
        vgq(rootf(1), evalf(1), weightf(1), -1., 1., 25, atol=1e-13)
        vgq(rootf(1), evalf(1), weightf(1), -1., 1., 100, atol=1e-12)
    
        vgq(rootf(10), evalf(10), weightf(10), -1., 1., 5)
        vgq(rootf(10), evalf(10), weightf(10), -1., 1., 25, atol=1e-13)
        vgq(rootf(10), evalf(10), weightf(10), -1., 1., 100, atol=1e-12)
    
        vgq(rootf(50), evalf(50), weightf(50), -1., 1., 5, atol=1e-13)
        vgq(rootf(50), evalf(50), weightf(50), -1., 1., 25, atol=1e-12)
        vgq(rootf(50), evalf(50), weightf(50), -1., 1., 100, atol=1e-11)
    
        # this is a special case that the old code supported.
        # when alpha = 0, the gegenbauer polynomial is uniformly 0. but it goes
        # to a scaled down copy of T_n(x) there.
        vgq(rootf(0), orth.eval_chebyt, weightf(0), -1., 1., 5)
        vgq(rootf(0), orth.eval_chebyt, weightf(0), -1., 1., 25)
>       vgq(rootf(0), orth.eval_chebyt, weightf(0), -1., 1., 100)

evalf      = <function <lambda> at 0xe81b5e64>
rootf      = <function <lambda> at 0xe81b5e9c>
vgq        = <function verify_gauss_quad at 0xedbad454>
weightf    = <function <lambda> at 0xe81b5e2c>

/venv/local/lib/python2.7/site-packages/scipy/special/tests/test_orthogonal.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/venv/local/lib/python2.7/site-packages/scipy/special/tests/test_orthogonal.py:297: in verify_gauss_quad
    assert_allclose(vv, np.eye(N), rtol, atol)
/venv/local/lib/python2.7/site-packages/numpy/testing/utils.py:1183: in assert_allclose
    verbose=verbose, header=header)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

comparison = <function compare at 0xe81b5f44>
x = array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
         -8...94965e-17, ...,
         -3.26993876e-15,   2.66771785e-17,   1.00000000e+00]])
y = array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  ...0.,  0.,  0., ...,  0.,  1.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  1.]])
err_msg = '', verbose = True
header = 'Not equal to tolerance rtol=1e-15, atol=1e-14'

    def assert_array_compare(comparison, x, y, err_msg='', verbose=True,
                             header=''):
        from numpy.core import array, isnan, isinf, any, all, inf
        x = array(x, copy=False, subok=True)
        y = array(y, copy=False, subok=True)
    
        def isnumber(x):
            return x.dtype.char in '?bhilqpBHILQPefdgFDG'
    
        def chk_same_position(x_id, y_id, hasval='nan'):
            """Handling nan/inf: check that x and y have the nan/inf at the same
            locations."""
            try:
                assert_array_equal(x_id, y_id)
            except AssertionError:
                msg = build_err_msg([x, y],
                                    err_msg + '\nx and y %s location mismatch:' \
                                    % (hasval), verbose=verbose, header=header,
                                    names=('x', 'y'))
                raise AssertionError(msg)
    
        try:
            cond = (x.shape==() or y.shape==()) or x.shape == y.shape
            if not cond:
                msg = build_err_msg([x, y],
                                    err_msg
                                    + '\n(shapes %s, %s mismatch)' % (x.shape,
                                                                      y.shape),
                                    verbose=verbose, header=header,
                                    names=('x', 'y'))
                if not cond :
                    raise AssertionError(msg)
    
            if isnumber(x) and isnumber(y):
                x_isnan, y_isnan = isnan(x), isnan(y)
                x_isinf, y_isinf = isinf(x), isinf(y)
    
                # Validate that the special values are in the same place
                if any(x_isnan) or any(y_isnan):
                    chk_same_position(x_isnan, y_isnan, hasval='nan')
                if any(x_isinf) or any(y_isinf):
                    # Check +inf and -inf separately, since they are different
                    chk_same_position(x == +inf, y == +inf, hasval='+inf')
                    chk_same_position(x == -inf, y == -inf, hasval='-inf')
    
                # Combine all the special values
                x_id, y_id = x_isnan, y_isnan
                x_id |= x_isinf
                y_id |= y_isinf
    
                # Only do the comparison if actual values are left
                if all(x_id):
                    return
    
                if any(x_id):
                    val = comparison(x[~x_id], y[~y_id])
                else:
                    val = comparison(x, y)
            else:
                val = comparison(x, y)
    
            if isinstance(val, bool):
                cond = val
                reduced = [0]
            else:
                reduced = val.ravel()
                cond = reduced.all()
                reduced = reduced.tolist()
            if not cond:
                match = 100-100.0*reduced.count(1)/len(reduced)
                msg = build_err_msg([x, y],
                                    err_msg
                                    + '\n(mismatch %s%%)' % (match,),
                                    verbose=verbose, header=header,
                                    names=('x', 'y'))
                if not cond :
>                   raise AssertionError(msg)
E                   AssertionError: 
E                   Not equal to tolerance rtol=1e-15, atol=1e-14
E                   
E                   (mismatch 100.0%)
E                    x: array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
E                            -8.78512415e-19,  -7.22293385e-15,  -2.92837472e-19],
E                          [  3.43595967e-17,   1.00000000e+00,   3.09220594e-17, ...,...
E                    y: array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
E                          [ 0.,  1.,  0., ...,  0.,  0.,  0.],
E                          [ 0.,  0.,  1., ...,  0.,  0.,  0.],...

all        = <function all at 0xf632a924>
any        = <function any at 0xf632a8ec>
array      = <built-in function array>
chk_same_position = <function chk_same_position at 0xe7f9602c>
comparison = <function compare at 0xe81b5f44>
cond       = False
err_msg    = ''
header     = 'Not equal to tolerance rtol=1e-15, atol=1e-14'
inf        = inf
isinf      = <ufunc 'isinf'>
isnan      = <ufunc 'isnan'>
isnumber   = <function isnumber at 0xe81b5f7c>
match      = 100.0
msg        = '\nNot equal to tolerance rtol=1e-15, atol=1e-14\n\n(mismatch 100.0%)\n x: array([[  1.00000000e+00,   3.43595967e-17,... 0., ...,  0.,  0.,  0.],\n       [ 0.,  1.,  0., ...,  0.,  0.,  0.],\n       [ 0.,  0.,  1., ...,  0.,  0.,  0.],...'
reduced    = [False]
val        = False
verbose    = True
x          = array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
         -8...94965e-17, ...,
         -3.26993876e-15,   2.66771785e-17,   1.00000000e+00]])
x_id       = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
x_isinf    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
x_isnan    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y          = array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  ...0.,  0.,  0., ...,  0.,  1.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  1.]])
y_id       = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y_isinf    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y_isnan    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)

/venv/local/lib/python2.7/site-packages/numpy/testing/utils.py:644: AssertionError
______________________________ test_roots_chebyt _______________________________
[gw1] linux2 -- Python 2.7.6 /venv/bin/python

    def test_roots_chebyt():
        weightf = orth.chebyt(5).weight_func
        verify_gauss_quad(sc.roots_chebyt, orth.eval_chebyt, weightf, -1., 1., 5)
        verify_gauss_quad(sc.roots_chebyt, orth.eval_chebyt, weightf, -1., 1., 25)
>       verify_gauss_quad(sc.roots_chebyt, orth.eval_chebyt, weightf, -1., 1., 100)

weightf    = <function <lambda> at 0xe7f96374>

/venv/local/lib/python2.7/site-packages/scipy/special/tests/test_orthogonal.py:552: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/venv/local/lib/python2.7/site-packages/scipy/special/tests/test_orthogonal.py:297: in verify_gauss_quad
    assert_allclose(vv, np.eye(N), rtol, atol)
/venv/local/lib/python2.7/site-packages/numpy/testing/utils.py:1183: in assert_allclose
    verbose=verbose, header=header)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

comparison = <function compare at 0xe7f963ac>
x = array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
         -8...94965e-17, ...,
         -3.26993876e-15,   2.66771785e-17,   1.00000000e+00]])
y = array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  ...0.,  0.,  0., ...,  0.,  1.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  1.]])
err_msg = '', verbose = True
header = 'Not equal to tolerance rtol=1e-15, atol=1e-14'

    def assert_array_compare(comparison, x, y, err_msg='', verbose=True,
                             header=''):
        from numpy.core import array, isnan, isinf, any, all, inf
        x = array(x, copy=False, subok=True)
        y = array(y, copy=False, subok=True)
    
        def isnumber(x):
            return x.dtype.char in '?bhilqpBHILQPefdgFDG'
    
        def chk_same_position(x_id, y_id, hasval='nan'):
            """Handling nan/inf: check that x and y have the nan/inf at the same
            locations."""
            try:
                assert_array_equal(x_id, y_id)
            except AssertionError:
                msg = build_err_msg([x, y],
                                    err_msg + '\nx and y %s location mismatch:' \
                                    % (hasval), verbose=verbose, header=header,
                                    names=('x', 'y'))
                raise AssertionError(msg)
    
        try:
            cond = (x.shape==() or y.shape==()) or x.shape == y.shape
            if not cond:
                msg = build_err_msg([x, y],
                                    err_msg
                                    + '\n(shapes %s, %s mismatch)' % (x.shape,
                                                                      y.shape),
                                    verbose=verbose, header=header,
                                    names=('x', 'y'))
                if not cond :
                    raise AssertionError(msg)
    
            if isnumber(x) and isnumber(y):
                x_isnan, y_isnan = isnan(x), isnan(y)
                x_isinf, y_isinf = isinf(x), isinf(y)
    
                # Validate that the special values are in the same place
                if any(x_isnan) or any(y_isnan):
                    chk_same_position(x_isnan, y_isnan, hasval='nan')
                if any(x_isinf) or any(y_isinf):
                    # Check +inf and -inf separately, since they are different
                    chk_same_position(x == +inf, y == +inf, hasval='+inf')
                    chk_same_position(x == -inf, y == -inf, hasval='-inf')
    
                # Combine all the special values
                x_id, y_id = x_isnan, y_isnan
                x_id |= x_isinf
                y_id |= y_isinf
    
                # Only do the comparison if actual values are left
                if all(x_id):
                    return
    
                if any(x_id):
                    val = comparison(x[~x_id], y[~y_id])
                else:
                    val = comparison(x, y)
            else:
                val = comparison(x, y)
    
            if isinstance(val, bool):
                cond = val
                reduced = [0]
            else:
                reduced = val.ravel()
                cond = reduced.all()
                reduced = reduced.tolist()
            if not cond:
                match = 100-100.0*reduced.count(1)/len(reduced)
                msg = build_err_msg([x, y],
                                    err_msg
                                    + '\n(mismatch %s%%)' % (match,),
                                    verbose=verbose, header=header,
                                    names=('x', 'y'))
                if not cond :
>                   raise AssertionError(msg)
E                   AssertionError: 
E                   Not equal to tolerance rtol=1e-15, atol=1e-14
E                   
E                   (mismatch 100.0%)
E                    x: array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
E                            -8.78512415e-19,  -7.22293385e-15,  -2.92837472e-19],
E                          [  3.43595967e-17,   1.00000000e+00,   3.09220594e-17, ...,...
E                    y: array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
E                          [ 0.,  1.,  0., ...,  0.,  0.,  0.],
E                          [ 0.,  0.,  1., ...,  0.,  0.,  0.],...

all        = <function all at 0xf632a924>
any        = <function any at 0xf632a8ec>
array      = <built-in function array>
chk_same_position = <function chk_same_position at 0xe7f9641c>
comparison = <function compare at 0xe7f963ac>
cond       = False
err_msg    = ''
header     = 'Not equal to tolerance rtol=1e-15, atol=1e-14'
inf        = inf
isinf      = <ufunc 'isinf'>
isnan      = <ufunc 'isnan'>
isnumber   = <function isnumber at 0xe7f963e4>
match      = 100.0
msg        = '\nNot equal to tolerance rtol=1e-15, atol=1e-14\n\n(mismatch 100.0%)\n x: array([[  1.00000000e+00,   3.43595967e-17,... 0., ...,  0.,  0.,  0.],\n       [ 0.,  1.,  0., ...,  0.,  0.,  0.],\n       [ 0.,  0.,  1., ...,  0.,  0.,  0.],...'
reduced    = [False]
val        = False
verbose    = True
x          = array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
         -8...94965e-17, ...,
         -3.26993876e-15,   2.66771785e-17,   1.00000000e+00]])
x_id       = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
x_isinf    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
x_isnan    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y          = array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  ...0.,  0.,  0., ...,  0.,  1.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  1.]])
y_id       = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y_isinf    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y_isnan    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)

/venv/local/lib/python2.7/site-packages/numpy/testing/utils.py:644: AssertionError
______________________________ test_roots_chebyc _______________________________
[gw1] linux2 -- Python 2.7.6 /venv/bin/python

    def test_roots_chebyc():
        weightf = orth.chebyc(5).weight_func
        verify_gauss_quad(sc.roots_chebyc, orth.eval_chebyc, weightf, -2., 2., 5)
        verify_gauss_quad(sc.roots_chebyc, orth.eval_chebyc, weightf, -2., 2., 25)
>       verify_gauss_quad(sc.roots_chebyc, orth.eval_chebyc, weightf, -2., 2., 100)

weightf    = <function <lambda> at 0xe7f96764>

/venv/local/lib/python2.7/site-packages/scipy/special/tests/test_orthogonal.py:592: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/venv/local/lib/python2.7/site-packages/scipy/special/tests/test_orthogonal.py:297: in verify_gauss_quad
    assert_allclose(vv, np.eye(N), rtol, atol)
/venv/local/lib/python2.7/site-packages/numpy/testing/utils.py:1183: in assert_allclose
    verbose=verbose, header=header)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

comparison = <function compare at 0xe7f967d4>
x = array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
         -8...94965e-17, ...,
         -3.26993876e-15,   2.66771785e-17,   1.00000000e+00]])
y = array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  ...0.,  0.,  0., ...,  0.,  1.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  1.]])
err_msg = '', verbose = True
header = 'Not equal to tolerance rtol=1e-15, atol=1e-14'

    def assert_array_compare(comparison, x, y, err_msg='', verbose=True,
                             header=''):
        from numpy.core import array, isnan, isinf, any, all, inf
        x = array(x, copy=False, subok=True)
        y = array(y, copy=False, subok=True)
    
        def isnumber(x):
            return x.dtype.char in '?bhilqpBHILQPefdgFDG'
    
        def chk_same_position(x_id, y_id, hasval='nan'):
            """Handling nan/inf: check that x and y have the nan/inf at the same
            locations."""
            try:
                assert_array_equal(x_id, y_id)
            except AssertionError:
                msg = build_err_msg([x, y],
                                    err_msg + '\nx and y %s location mismatch:' \
                                    % (hasval), verbose=verbose, header=header,
                                    names=('x', 'y'))
                raise AssertionError(msg)
    
        try:
            cond = (x.shape==() or y.shape==()) or x.shape == y.shape
            if not cond:
                msg = build_err_msg([x, y],
                                    err_msg
                                    + '\n(shapes %s, %s mismatch)' % (x.shape,
                                                                      y.shape),
                                    verbose=verbose, header=header,
                                    names=('x', 'y'))
                if not cond :
                    raise AssertionError(msg)
    
            if isnumber(x) and isnumber(y):
                x_isnan, y_isnan = isnan(x), isnan(y)
                x_isinf, y_isinf = isinf(x), isinf(y)
    
                # Validate that the special values are in the same place
                if any(x_isnan) or any(y_isnan):
                    chk_same_position(x_isnan, y_isnan, hasval='nan')
                if any(x_isinf) or any(y_isinf):
                    # Check +inf and -inf separately, since they are different
                    chk_same_position(x == +inf, y == +inf, hasval='+inf')
                    chk_same_position(x == -inf, y == -inf, hasval='-inf')
    
                # Combine all the special values
                x_id, y_id = x_isnan, y_isnan
                x_id |= x_isinf
                y_id |= y_isinf
    
                # Only do the comparison if actual values are left
                if all(x_id):
                    return
    
                if any(x_id):
                    val = comparison(x[~x_id], y[~y_id])
                else:
                    val = comparison(x, y)
            else:
                val = comparison(x, y)
    
            if isinstance(val, bool):
                cond = val
                reduced = [0]
            else:
                reduced = val.ravel()
                cond = reduced.all()
                reduced = reduced.tolist()
            if not cond:
                match = 100-100.0*reduced.count(1)/len(reduced)
                msg = build_err_msg([x, y],
                                    err_msg
                                    + '\n(mismatch %s%%)' % (match,),
                                    verbose=verbose, header=header,
                                    names=('x', 'y'))
                if not cond :
>                   raise AssertionError(msg)
E                   AssertionError: 
E                   Not equal to tolerance rtol=1e-15, atol=1e-14
E                   
E                   (mismatch 100.0%)
E                    x: array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
E                            -8.78512415e-19,  -7.22293385e-15,  -2.92837472e-19],
E                          [  3.43595967e-17,   1.00000000e+00,   3.09220594e-17, ...,...
E                    y: array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
E                          [ 0.,  1.,  0., ...,  0.,  0.,  0.],
E                          [ 0.,  0.,  1., ...,  0.,  0.,  0.],...

all        = <function all at 0xf632a924>
any        = <function any at 0xf632a8ec>
array      = <built-in function array>
chk_same_position = <function chk_same_position at 0xe7f9680c>
comparison = <function compare at 0xe7f967d4>
cond       = False
err_msg    = ''
header     = 'Not equal to tolerance rtol=1e-15, atol=1e-14'
inf        = inf
isinf      = <ufunc 'isinf'>
isnan      = <ufunc 'isnan'>
isnumber   = <function isnumber at 0xe7f9672c>
match      = 100.0
msg        = '\nNot equal to tolerance rtol=1e-15, atol=1e-14\n\n(mismatch 100.0%)\n x: array([[  1.00000000e+00,   3.43595967e-17,... 0., ...,  0.,  0.,  0.],\n       [ 0.,  1.,  0., ...,  0.,  0.,  0.],\n       [ 0.,  0.,  1., ...,  0.,  0.,  0.],...'
reduced    = [False]
val        = False
verbose    = True
x          = array([[  1.00000000e+00,   3.43595967e-17,  -3.43595967e-17, ...,
         -8...94965e-17, ...,
         -3.26993876e-15,   2.66771785e-17,   1.00000000e+00]])
x_id       = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
x_isinf    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
x_isnan    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y          = array([[ 1.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  1.,  0., ...,  0.,  ...0.,  0.,  0., ...,  0.,  1.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  1.]])
y_id       = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y_isinf    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)
y_isnan    = array([[False, False, False, ..., False, False, False],
       [False, False, ...e, False],
       [False, False, False, ..., False, False, False]], dtype=bool)

/venv/local/lib/python2.7/site-packages/numpy/testing/utils.py:644: AssertionError
 3 failed, 13156 passed, 1510 skipped, 115 xfailed, 6 xpassed in 706.67 seconds 
@pv pv added defect A clear bug or issue that prevents SciPy from being installed or used as expected scipy.special labels Mar 24, 2018
@pv pv added this to the 1.1.0 milestone Mar 24, 2018
@charris
Copy link
Member

charris commented Mar 25, 2018

I see these also with scipy linked with ATLAS on 64 bit linux (fedora 27). Noticed them a few days ago but haven't gotten around to tracking them down.

EDIT: My quick impression was that they might be precision problems.

@pv
Copy link
Member Author

pv commented Apr 10, 2018

Fixed by gh-8689

@pv pv closed this as completed Apr 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
defect A clear bug or issue that prevents SciPy from being installed or used as expected scipy.special
Projects
None yet
Development

No branches or pull requests

2 participants