2016-04-06 18 views
1

で行列の配列は:一覧/私はsympyに次の式を作成したいsympy

\sum_{k=0}^p \mathbf{M}\mathbf{A}^{(k)}\mathbf{U}

MUA^(k)はサイズmの正方行列です。

はこれまでのところ、私は与えられたpのためにこれを行うために管理:

import sympy 

m = sympy.symbols('m', integer=True) 
p = 3 

A = [sympy.MatrixSymbol('A^({})'.format(k), m, m) for k in range(p)] 
M = sympy.MatrixSymbol('M', m, m) 
U = sympy.MatrixSymbol('U', m, m) 

expr = M*A[0]*U 
for k in range(1, p): 
    expr += M*A[k]*U 
expr 

enter image description here

しかし、私は固定数にpを設定する必要はありません。代わりにpをシンボルにする必要があります。ちょうどmと同じです。これはsympyでどのように達成できますか?

答えて

1

もっと良い方法があります。今のところ、私はリストではなく関数としてAを定義することで、私が望むことを達成することができました: