簡體   English   中英

sympy 中的矩陣列表/數組

[英]List/Array of matrices in 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

在此處輸入圖片說明

但是,我不想將p設置為固定數字。 相反,我希望p成為一個符號,就像m一樣。 這如何在 sympy 中實現?

可能有更好的方法。 現在,我設法通過將A定義為函數而不是列表來實現我想要的:

m, p, k = symbols('m, p, k')

M = sympy.MatrixSymbol('M', m, m)
U = sympy.MatrixSymbol('U', m, m)

class A(sympy.Function):
    @classmethod
    def eval(cls, k):
        return sympy.MatrixSymbol('A^({})'.format(k), m, m)

sympy.Sum(M * A(k) * U, (k, 1, p))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM