Sturla Molden <sturla.mol...@gmail.com> wrote:
> Dave Hirschfeld <novi...@gmail.com> wrote:
> 
>> Even if lapack_lite always performed the isfinite check and threw a python 
>> error if False, it would be much better than either hanging or segfaulting 
>> and 
>> people who care about the isfinite cost probably would be linking to a fast 
>> lapack anyway.
> 
> +1 (if I have a vote)
> 
> Correctness is always more important than speed. Segfaulting or hanging
> while burning the CPU is not something we should allow "by design". And
> those who need speed should in any case use a different lapack library
> instead. The easiest place to put a finiteness test is the check_object
> function here:
> 
> https://github.com/numpy/numpy/blob/master/numpy/linalg/lapack_litemodule.c
> 
> But in that case we should probably use a macro guard to leave it out if
> any other LAPACK than the builtin f2c version is used.


It seems even the more recent (3.4.x) versions of LAPACK have places where
NANs can cause infinite loops. As long as this is an issue it might perhaps
be worth checking everywhere.

http://www.netlib.org/lapack/bug_list.html

The semi-official C interface LAPACKE implements NAN checking as well:

http://www.netlib.org/lapack/lapacke.html#_nan_checking

If Intel's engineers put NAN checking inside LAPACKE it probably were for a
good reason.

Sturla

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to