1

是否可以使用 numpy/scipy 乘以由多项式组成的矩阵?

具体来说,我希望将一个 120 乘以 120 的稀疏矩阵相乘,其条目本身可能看起来像 a+7*b+c。

老实说,我并没有很努力地做到这一点。我看到 numpy 中有一个多项式模块,但我没有使用它的经验。我只是希望有人看到这一点并说“显然有可能,这样做”。

我之前看到过一个相关的问题:矩阵,其条目是多项式

4

1 回答 1

1

我不知道稀疏,但 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)
于 2014-11-30T19:24:45.090 回答