[Numpy-discussion] How to deal with NAN and co in C extension to numpy/scipy ?
david at ar.media.kyoto-u.ac.jp
Wed Nov 22 04:45:45 CST 2006
I am about to release some code to compute LPC coefficients (Auto
regressive modeling, using Levinson Durbin algorithm for autocorrelation
matrix inversion), and I was wondering how to handle cases of divide by
0, or values really near 0.
I understand this is a complex issue, and I admittedly have no
knowledge about it except some generalities; there are versions of
Levinson Durbin which handles bad condition numbers (for people not
familiar with LPC coding, levinson durbin is a recursive algorithm to
inverse a symmetric Toeplitz matrix; the complexity becomes O(N^2)
instead of O(N^3)); but they are overkill for LPC coding, I think.
The options I see are:
- I don't care :)
- Detecting values near zero, finish the computation anyway in C,
and returns an error code to python, which would emit a warning.
- Detecting values near zero, returns an error code which would
results in a python exception ?
In this latter cases, is it ok to returns to python arrays the
values from the C function ? In matlab, for bad cases, it just returns
NAN; is this appropriate ? How should I do it ?
More information about the Numpy-discussion