由多项式组成的矩阵的乘法

时间:2014-11-12 05:12:26

标签: numpy scipy matrix-multiplication polynomials

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

具体来说,我希望将120乘以120的稀疏矩阵乘以其自身看起来像+ 7 * b + c。

老实说,我并没有非常努力地做到这一点。我看到numpy中有一个多项式模块,但我没有经验。我只是希望有人看到这个,然后说'#34;显然它是可能的,做到这一点"。

我之前提到的一个相关问题是:Matrices whose entries are polynomials

1 个答案:

答案 0 :(得分: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)