如何将 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)
我有一个矩阵 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)