在SymPy中访问符号块矩阵的不同块(子矩阵)

时间:2018-09-05 01:57:55

标签: python sympy

我是Python的新手。

我想知道是否可以使用sympy模块访问符号块矩阵的不同元素。

例如,我生成了以下代码,我想使用C_11+C_12来查看C[0],但我会看到C_11[0, 0] + C_13[0, 0]

from sympy import *


C_11 = MatrixSymbol('C_11', 5, 5)

C_12 = MatrixSymbol('C_12', 5, 3)

C_13 = MatrixSymbol('C_13', 5, 5)

C_21 = C_12.T 

C_22 = MatrixSymbol('C_22', 3, 3)

C_23 = MatrixSymbol('C_23', 3, 5)

C_31 = C_13.T

C_32 = C_23.T

C_33 = MatrixSymbol('C_33', 5, 5)

C = BlockMatrix([[C_11+C_13, C_12, C_13],
                 [C_21, C_22, C_23],
                 [C_31, C_32, C_33]])

C

C[0]

1 个答案:

答案 0 :(得分:1)

使用false访问块矩阵C的(i,j)块。一个例子:

C.blocks[i, j]

打印from sympy import * b = Matrix([1, 2, 4, 8]) C = BlockMatrix([[b, 3*b], [5*b, 7*b]]) print(C.blocks[0, 1])

可以通过阅读source找到BlockMatrix对象的其他可能有用的属性。文档中并未提及所有这些内容。

相关问题