I'm computing a polyfit
multiple times during a program, and some of my inputs are np.nan
and are going to get the algorithm problems. I know this, and in this application I don't care.
When things mess up, this is printed to the console:
Intel MKL ERROR: Parameter 4 was incorrect on entry to DELSD.
I simply want to suppress this error. I've already tried:
import warnings
warnings.simplefilter('ignore', np.RankWarning)
warnings.simplefilter('ignore', np.ComplexWarning)
warnings.filterwarnings('ignore', "Intel MKL ERROR")
Which suppresses some warnings, but not the Intel MKL one. I simply want to keep it from printing in the console (since it breaks up the other status messages I'm printing).
The following should trigger the problem:
import numpy as np
def line_fit(R, X):
num_rows = np.shape(R)[0]
p = np.zeros(num_rows)
for i in range(num_rows):
temp = np.polyfit(R[i, :], X[i, :], 1)
p[i] = temp[1]
return p
temp = np.array((((198.652-76.1781j),(132.614-43.8134j),(115.042-41.2485j),(91.7754-39.1649j),(78.8538-37.389j),(67.8769-34.6342j)),
((np.nan),(1671.79-796.522j),(1206.44-824.202j),(654.572-682.673j),(438.175-559.025j),(303.624-452.122j)),
((np.nan-1j*np.nan),(1671.32-794.931j),(1198.71-803.533j),(649.574-624.276j),(443.286-530.36j),(308.609-438.738j))))
R = np.real(temp)
X = np.imag(temp)
coeff = line_fit(R, X)
Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)], NumPy 1.8.0