May be I should reword this. The cases were the results are set to NaNs are the cases where linalg would raise a LinAlgError. That is, a method not converging, so no valid result would be given. np.seterr deals with floating point unit errors AFAIK (overflow, underflow and the like). Maybe make sure that when the code that fills with nans gets called that underlying error handling gets a nan (with feraiseexcept(FE_INVALID) maybe? ) 

The idea of this submodule is being able to call the kernels on an array of problems. Raise an exception when there was an error in one element did not seem appropriate.