some Numpy functions return ndarray instead of my subclass
I am not sure about fft
, but np.log10
is a ufunc. The following page explains how the output type of a ufunc is determined: http://docs.scipy.org/doc/numpy/reference/ufuncs.html#output-type-determination
It wouldn't surprise me if fft
always returned an ndarray
though (I haven't looked at the source code, but the FFT clearly doesn't fit the definition of a ufunc). If that's the case, you can always write your own wrapper and call that instead.