我正在尝试子类numpy.complex64
化以利用 numpy 存储数据的方式(连续的、交替的实部和虚部),但使用我自己的__add__
, __sub__
, ... 例程。
我的问题是,当我进行 a numpy.ndarray
, setting时dtype=mysubclass
,我得到 a numpy.ndarray
with dtype='numpy.complex64'
,这导致 numpy 不使用我自己的函数进行加法、减法等。
例子:
import numpy as np
class mysubclass(np.complex64):
pass
a = mysubclass(1+1j)
A = np.empty(2, dtype=mysubclass)
print type(a)
print repr(A)
输出:
<class '__main__.mysubclass'>
array([ -2.07782988e-20 +4.58546896e-41j, -2.07782988e-20 +4.58546896e-41j], dtype=complex64)'
有谁知道如何做到这一点?
提前致谢 - 索伦