sympy可以简化块矩阵表达式吗?

时间:2018-08-20 14:23:57

标签: python sympy symbolic-math

考虑以下示例:(我尝试计算涉及块矩阵的矩阵乘积)

import sympy as sy

k, n = sy.symbols('k,n')
A = sy.MatrixSymbol("A", n, n)
B = sy.MatrixSymbol("B", n, k)
M = sy.BlockMatrix([[A * B, A]])
A.inverse() * M

将输出

A^-1*Matrix([[A*B, A]])

是否可以将其简化/扩展/取消为更易于阅读的Matrix([[B, I]])形式?

1 个答案:

答案 0 :(得分:2)

是的,使用函数block_collapse评估块矩阵表达式直至块级别。

sy.block_collapse(A.inverse()*M)   

返回Matrix([[B, I]])