在sympy中按符号索引矩阵

Dir*_*irk 0 python 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)) 
Run Code Online (Sandbox Code Playgroud)

但似乎 sympy 不能这样做:

NameError: IndexError: Invalid index a[p]
Run Code Online (Sandbox Code Playgroud)

有办法吗?

asm*_*rer 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??
Run Code Online (Sandbox Code Playgroud)