用符号在sympy中索引矩阵
我想在一个求和的过程中对一个矩阵进行索引,像这样:
from sympy import *
vx1,vx2,vx3,vx4,vx5, vy1,vy2,vy3,vy4,vy5, = symbols('vx1 vx2 vx3 vx4 vx5 vy1 vy2 vy3 vy4 vy5')
vx=Matrix([vx1,vx2,vx3,vx4,vx5])
vy=Matrix([vy1,vy2,vy3,vy4,vy5])
p, n = symbols('p n', integer=True)
vx[0]
vx[1]
vx[2]
vx[3]
summation(p, (p, 0, 4))
summation(vx[p], (p, 0, 4))
但是看起来sympy这个库做不到这一点:
NameError: IndexError: Invalid index a[p]
有没有什么办法可以实现呢?
2 个回答
0
下面这个怎么样?
>>> sum(vx[p] for p in range(5))
vx1 + vx2 + vx3 + vx4 + vx5
5
如果你想在矩阵中使用一个符号索引,可以使用MatrixSymbol:
In [15]: vx = MatrixSymbol('vx', 1, 4)
In [16]: summation(vx[(0, p)], (p, 0, 4)).doit()
Out[16]: vx₀₀ + vx₀₁ + vx₀₂ + vx₀₃ + vx₀₄