Skip to content

Instantly share code, notes, and snippets.

@tkelman
Created November 21, 2014 00:52
Show Gist options
  • Select an option

  • Save tkelman/4552c0aa4ccfd4347173 to your computer and use it in GitHub Desktop.

Select an option

Save tkelman/4552c0aa4ccfd4347173 to your computer and use it in GitHub Desktop.
tkelman@ygdesk:~/Julia/julia-linux32$ ./julia -e 'Base.runtests()'
* linalg1
* linalg2
* linalg3
* linalg4
* linalg/lapack
* linalg/triangular
* linalg/tridiag
* linalg/pinv
<<<<<Float64>>>>>
--- dense/ill-conditioned matrix ---
=== julia/matlab pinv, default tol=eps(1.0)*max(size(a)) ===
2.5387230188713223e-6
2.4096768289271205e-6
=== julia pinv, tol=sqrt(eps(1.0)) ===
1.0395959260546181e-8
1.8733613602316177e-7
=== julia pinv, adaptive threshold ===
1.0395959260546181e-8
9.082546746282654e-8
--- dense/diagonal matrix ---
=== julia/matlab pinv, default tol=eps(1.0)*max(size(a)) ===
1.7197862454368592e-18
1.4921146187600388e-21
=== julia pinv, tol=sqrt(eps(1.0)) ===
1.7197862454368592e-18
1.0768742915703764e-17
=== julia pinv, adaptive threshold ===
1.7197862454368592e-18
9.536696658119653e-21
--- dense/tri-diagonal matrix ---
=== julia/matlab pinv, default tol=eps(1.0)*max(size(a)) ===
8.681503442950605e-16
4.716046638892715e-16
=== julia pinv, tol=sqrt(eps(1.0)) ===
2.6671673973179414e-8
1.4284013843791809e-8
=== julia pinv, adaptive threshold ===
8.681503442950605e-16
6.895947791420647e-16
--- Diagonal matrix ---
=== julia/matlab pinv, default tol=eps(1.0)*max(size(a)) ===
exception on 1: ERROR: mismatch of non-finite elements:
vecnorm(a * apinv * a - a) / vecnorm(a) = NaN
0 = 0
in test_approx_eq at test.jl:125
in test_pinv at linalg/pinv.jl:75
in anonymous at no file:129
in runtests at /home/tkelman/Julia/julia-linux32/usr/share/julia/test/testdefs.jl:5
in anonymous at multi.jl:632
in run_work_thunk at multi.jl:593
in remotecall_fetch at multi.jl:666
in remotecall_fetch at multi.jl:681
in anonymous at task.jl:1450
while loading linalg/pinv.jl, in expression starting on line 106
ERROR: mismatch of non-finite elements:
vecnorm(a * apinv * a - a) / vecnorm(a) = NaN
0 = 0
in test_approx_eq at test.jl:125
in test_pinv at linalg/pinv.jl:75
in anonymous at no file:129
in runtests at /home/tkelman/Julia/julia-linux32/usr/share/julia/test/testdefs.jl:5
in anonymous at multi.jl:632
in run_work_thunk at multi.jl:593
in remotecall_fetch at multi.jl:666
in remotecall_fetch at multi.jl:681
in anonymous at task.jl:1450
while loading linalg/pinv.jl, in expression starting on line 106
while loading /home/tkelman/Julia/julia-linux32/usr/share/julia/test/runtests.jl, in expression starting on line 42
ERROR: A test has failed. Please submit a bug report including error messages
above and the output of versioninfo():
Julia Version 0.4.0-dev+1732
Commit d67f464* (2014-11-20 23:19 UTC)
Platform Info:
System: Linux (i686-linux-gnu)
CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
WORD_SIZE: 32
BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Penryn)
LAPACK: libopenblas
LIBM: libopenlibm
LLVM: libLLVM-3.3
in error at error.jl:21
in runtests at interactiveutil.jl:383
in runtests at interactiveutil.jl:372
in process_options at ./client.jl:222
in _start at ./client.jl:382
in _start_3B_3950 at /home/tkelman/Julia/julia-linux32/usr/bin/../lib/julia/sys.so
@zgimbutas
Copy link
Copy Markdown

It is my fault, I was debugging on a 64-bit machine where the default integer is 64-bit:
i^5 overflows on a 32-bit machine in forming the diagonal matrix. This should be replaced with float(i)^5 to force conversion to Float64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment