[Scipy-tickets] [SciPy] #1515: Arpack complex_nonsymmetric_modes failure on 64-bit Linux

SciPy Trac scipy-tickets@scipy....
Sun Sep 11 12:31:16 CDT 2011


#1515: Arpack complex_nonsymmetric_modes failure on 64-bit Linux
---------------------------------+------------------------------------------
 Reporter:  rgommers             |       Owner:  wnbell
     Type:  defect               |      Status:  new   
 Priority:  normal               |   Milestone:  0.10.0
Component:  scipy.sparse.linalg  |     Version:  0.9.0 
 Keywords:                       |  
---------------------------------+------------------------------------------
 From mailing list report by Nils Wagner:
 {{{
 ======================================================================
 FAIL: test_arpack.test_complex_nonsymmetric_modes(False,
 <std-cmplx-nonsym>, 'F', 2, 'LM', None, None, <class
 'scipy.sparse.csr.csr_matrix'>)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File
 "/home/nwagner/local/lib64/python2.6/site-packages/nose-0.11.2.dev-
 py2.6.egg/nose/case.py",
 line 183, in runTest
     self.test(*self.arg)
   File
 "/home/nwagner/local/lib64/python2.6/site-
 packages/scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py",
 line 196, in eval_evec
     assert_allclose(LHS, RHS, rtol=_rtol[typ],
 atol=_atol[typ], err_msg=err)
   File
 "/home/nwagner/local/lib64/python2.6/site-
 packages/numpy/testing/utils.py",
 line 1213, in assert_allclose
     verbose=verbose, header=header)
   File
 "/home/nwagner/local/lib64/python2.6/site-
 packages/numpy/testing/utils.py",
 line 677, in assert_array_compare
     raise AssertionError(msg)
 AssertionError:
 Not equal to tolerance rtol=0.000238419, atol=0.000238419
 error for eigs:standard, typ=F, which=LM, sigma=None,
 mattype=csr_matrix, OPpart=None, mode=normal
 (mismatch 100.0%)
  x: array([[-0.15612537-0.34876961j,
  0.54372370+1.58556008j],
        [ 0.07264681-0.29588005j,
  0.79194915+1.30910718j],
        [ 0.18219496+0.68975669j,  0.85219419+1.5947448j
 ],...
  y: array([[-0.15577540-0.34831554j,
  0.54372382+1.58555984j],
        [ 0.07204140-0.29578942j,
  0.79194933+1.30910718j],
        [ 0.18207264+0.69015396j,
  0.85219407+1.59474432j],...
 }}}
 His config:
 {{{
 >>> show_config()
 atlas_threads_info:
     libraries = ['lapack', 'ptf77blas', 'ptcblas',
 'atlas']
     library_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/mybuild/lib']
     define_macros = [('ATLAS_INFO', '"\\"3.8.2\\""')]
     language = f77
     include_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/include']
 blas_opt_info:
     libraries = ['ptf77blas', 'ptcblas', 'atlas']
     library_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/mybuild/lib']
     define_macros = [('ATLAS_INFO', '"\\"3.8.2\\""')]
     language = c
     include_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/include']
 atlas_blas_threads_info:
     libraries = ['ptf77blas', 'ptcblas', 'atlas']
     library_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/mybuild/lib']
     define_macros = [('ATLAS_INFO', '"\\"3.8.2\\""')]
     language = c
     include_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/include']
 lapack_opt_info:
     libraries = ['lapack', 'ptf77blas', 'ptcblas',
 'atlas']
     library_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/mybuild/lib']
     define_macros = [('ATLAS_INFO', '"\\"3.8.2\\""')]
     language = f77
     include_dirs =
 ['/home/nwagner/src/ATLAS3.8.2/include']
 lapack_mkl_info:
   NOT AVAILABLE
 blas_mkl_info:
   NOT AVAILABLE
 mkl_info:
   NOT AVAILABLE


 Linux linux-mogv 2.6.34.10-0.2-desktop #1 SMP PREEMPT
 2011-07-20 18:48:56 +0200 x86_64 x86_64 x86_64 GNU/Linux
 }}}

 Pauli's responses:
 {{{
 One would need to bump the tolerance for 'F' by a factor of 5 to make
 the test pass.

 I'm not sure I'm fully comfortable doing that without looking, as I'm
 not sure whether it's supposed to be more accurate or not. It's single
 precision ok, but the error is ~ 15000*eps; or 5*sqrt(eps).

 Maybe it's nevertheless best to just bump the tolerance --- it's not
 probable that this is due to a real bug anywhere in the codebase.
 }}}
 {{{
 This seems to be a somewhat standard setup, then. The difference
 to the platforms I have at hand is probably the self-compiled ATLAS.
 Maybe it has a worse single-precision accuracy, as compared to
 ATLAS libraries built by Linux distro providers?
 }}}

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


More information about the Scipy-tickets mailing list