是否可以使用 numpy/scipy 乘以由多项式组成的矩阵?
具体来说,我希望将一个 120 乘以 120 的稀疏矩阵相乘,其条目本身可能看起来像 a+7*b+c。
老实说,我并没有很努力地做到这一点。我看到 numpy 中有一个多项式模块,但我没有使用它的经验。我只是希望有人看到这一点并说“显然有可能,这样做”。
我之前看到过一个相关的问题:矩阵,其条目是多项式
是否可以使用 numpy/scipy 乘以由多项式组成的矩阵?
具体来说,我希望将一个 120 乘以 120 的稀疏矩阵相乘,其条目本身可能看起来像 a+7*b+c。
老实说,我并没有很努力地做到这一点。我看到 numpy 中有一个多项式模块,但我没有使用它的经验。我只是希望有人看到这一点并说“显然有可能,这样做”。
我之前看到过一个相关的问题:矩阵,其条目是多项式
我不知道稀疏,但 numpy 对象数组工作正常。
In [1]: from numpy.polynomial import Polynomial as P
In [2]: a = np.array([[P([1,2]), P([3,4])]]*2)
In [3]: a
Out[3]:
array([[Polynomial([ 1., 2.], [-1, 1], [-1, 1]),
Polynomial([ 3., 4.], [-1, 1], [-1, 1])],
[Polynomial([ 1., 2.], [-1, 1], [-1, 1]),
Polynomial([ 3., 4.], [-1, 1], [-1, 1])]], dtype=object)
In [4]: np.dot(a, a)
Out[4]:
array([[Polynomial([ 4., 14., 12.], [-1., 1.], [-1., 1.]),
Polynomial([ 12., 34., 24.], [-1., 1.], [-1., 1.])],
[Polynomial([ 4., 14., 12.], [-1., 1.], [-1., 1.]),
Polynomial([ 12., 34., 24.], [-1., 1.], [-1., 1.])]], dtype=object)