Matrix Mata中的块对角矩阵
我想使用Mata创建块对角矩阵。文档中有三个矩阵的示例:Matrix Mata中的块对角矩阵,matrix,stata,Matrix,Stata,我想使用Mata创建块对角矩阵。文档中有三个矩阵的示例: blockdiag(Z1, blockdiag(Z2,Z3)) blockdiag(Z1, blockdiag(Z2, blockdiag(Z3,Z4))) blockdiag(Z1, blockdiag(z2, blockdiag(Z3, blockdiag(Z4,Z5)))) 我不清楚这是否可以扩展到更多矩阵: blockdiag(Z1, blockdiag(Z2,Z3)) blockdiag(Z1, blockdiag(Z2,
blockdiag(Z1, blockdiag(Z2,Z3))
blockdiag(Z1, blockdiag(Z2, blockdiag(Z3,Z4)))
blockdiag(Z1, blockdiag(z2, blockdiag(Z3, blockdiag(Z4,Z5))))
我不清楚这是否可以扩展到更多矩阵:
blockdiag(Z1, blockdiag(Z2,Z3))
blockdiag(Z1, blockdiag(Z2, blockdiag(Z3,Z4)))
blockdiag(Z1, blockdiag(z2, blockdiag(Z3, blockdiag(Z4,Z5))))
或者如果可以编写一些循环结构来更有效地完成矩阵。感谢您的建议/见解。您只需尝试一下即可。这只是嵌套
blockdiag()
,它可以工作:
mata:
A = (1,2 \ 3,4)
B = (5,6 \ 7,8)
C = (9,10 \ 11,12)
D = (13,14 \ 15,16)
AB = blockdiag(A,B)
ABC = blockdiag(A, blockdiag(B,C))
ABCD = blockdiag(A, blockdiag(B, blockdiag(C,D)))
AB
ABC
ABCD
end