分塊對角矩陣,也稱為對角分塊矩陣,是一種 方 對角矩陣,其中對角元素是任意大小的方陣(甚至可能是 ),而非對角元素是 0。因此,分塊對角矩陣是一種 分塊矩陣,其中非對角線上的分塊是 零矩陣,而對角矩陣是 方陣。
可以使用以下程式碼片段,在 Wolfram 語言 中用子矩陣構造分塊對角矩陣
BlockDiagonalMatrix[b : {__?MatrixQ}] :=
Module[{r, c, n = Length[b], i, j},
{r, c} = Transpose[Dimensions /@ b];
ArrayFlatten[
Table[If[i == j,
b[[i]],
ConstantArray[0, {r[[i]], c[[j]]}]],
{i, n}, {j, n}
]
]
]