我是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]
答案 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对象的其他可能有用的属性。文档中并未提及所有这些内容。