如何将 2x2 块矩阵重塑为 mxm 矩阵?

How to reshape a 2x2 block matrix to mxm matrix?

我有一个矩阵 M 被分成多个块,使得

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

在 Python 中,我将这个矩阵作为一个 nparray,其中包含对应于 A、B、C 和 D 中的每一个的 4 个数组,这样 M.shape 就会得到 (2,2)。但是,出于计算目的(倒数和乘法等),我需要它具有维度 (125,125)。我已经厌倦了 M.reshape([125,125]),它不起作用并给出了错误 Cannot reshape (2,2) to (125,125)。请问有什么快速简便的方法吗?

我认为您可能正在寻找 NumPy block 函数。用法:

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

或者您的情况:

np.block(M)