[Scipy-tickets] [SciPy] #1233: Weired test failure in airye function depending on test context in scipy 0.8

SciPy Trac scipy-tickets@scipy....
Thu Jul 15 02:27:06 CDT 2010

#1233: Weired test failure in airye function depending on test context in scipy
 Reporter:  cjgohlke       |       Owner:  pv   
     Type:  defect         |      Status:  new  
 Priority:  normal         |   Milestone:  0.8.0
Component:  scipy.special  |     Version:  0.7.0
 Keywords:                 |  
 This error was discussed on SciPy-Dev at [http://mail.scipy.org/pipermail

 Using numpy 1.4.1 and scipy 0.8rc2 built with msvc9, ifort, and MKL, on
 Python 2.6.5 for Windows I see this test failure most of the time (but not

 FAIL: Real-valued Bessel domains
 Traceback (most recent call last):
 "X:\Python26\lib\site-packages\scipy\special\tests\test_basic.py", line
 1691, in test_ticket_854
      assert not isnan(airye(-1)[2:4]).any(), airye(-1)
 AssertionError: (nan, nan, nan, nan)


 This failure is specific for the 32 bit build and only appears when I run
 python -c"import scipy;scipy.test()"
 but not in
 python -c"import scipy.special;scipy.special.test()"

 The failure also does not occur if I disable the function calls to jv(0.5,
 -1), iv(0.5, -1), and yv(0.5, -1) a few lines before the failing airye(-1)


 def test_ticket_854(self):
     """Real-valued Bessel domains"""
     # assert isnan(jv(0.5, -1))  # <--
     # assert isnan(iv(0.5, -1))  # <--
     # assert isnan(yv(0.5, -1))  # <--
     assert isnan(yv(1, -1))
     assert isnan(kv(0.5, -1))
     assert isnan(kv(1, -1))
     assert isnan(jve(0.5, -1))
     assert isnan(ive(0.5, -1))
     assert isnan(yve(0.5, -1))
     assert isnan(yve(1, -1))
     assert isnan(kve(0.5, -1))
     assert isnan(kve(1, -1))
     assert isnan(airye(-1)[0:2]).all(), airye(-1)
     assert not isnan(airye(-1)[2:4]).any(), airye(-1)  # <--

 Taking a look at the C code of the cephes jv, iv, and yv functions, I
 noticed that they call 'mtherr("...", DOMAIN);' right before returning
 NPY_NAN as the result. When disabling all calls to mtherr() in the jv, iv,
 and yv functions, the test_ticket_854 test always succeeds.

 A patch is attached. I don't suggest that the patch is the correct fix for
 the problem, but it gives a hint where to further investigate.

Ticket URL: <http://projects.scipy.org/scipy/ticket/1233>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.

More information about the Scipy-tickets mailing list