考虑这段代码:
M=5;N=3;
A11=np.random.rand(M,M);
A12=np.random.rand(M,N);
A21=np.random.rand(N,M);
A22=np.random.rand(N,N);
我是numpy的新手,正在学习它。我想按照以下方式创建一个块矩阵。
RowBlock1=np.concatenate((A11,A12),axis=1)
RowBlock2=np.concatenate((A21,A22),axis=1)
Block=np.concatenate((RowBlock1,RowBlock2),axis=0)
有更简单的方法吗?例如,在matlab中,我会这样做:
Block=[[A11,A12];[A21,A22]]
并且将通过它完成。我明白这仅适用于数组。
A11
,...,A22
是scipy.sparse.csr_matrix
类型,则可以使用scipy.sparse.bmat([[A11,A12],[A21,A22]])
或选择性地将Aii
替换为None
,以使该部分为零。 - jjjjjj