首页 > 解决方案 > 如何将 2x2 块矩阵重塑为 mxm 矩阵?

问题描述

我有一个矩阵 M 分割成块,这样

其中 A 是 25x25,B 是 25x100,C 是 100x25,D 是 100x100。

在 Python 中,我将这个矩阵作为一个 nparray,其中包含 4 个数组,对应于 A、B、C 和 D 中的每一个,这样就可以M.shape得到(2,2). 但是,为了计算(求逆和乘法等),我需要它有维度(125,125)。我累了M.reshape([125,125]),这不起作用并给出错误Cannot reshape (2,2) to (125,125)。请问有没有快速简便的方法来做到这一点?

标签: pythonnumpymatrixlinear-algebrareshape

解决方案


我想您可能正在寻找 NumPyblock函数。用法:

np.block([[a, b], [c, d]])

或者在你的情况下:

np.block(M)

推荐阅读