稀疏4D矩阵的对角线

时间:2020-05-20 01:10:53

标签: python numpy matrix scipy sparse-matrix

这个问题与this相同,只是一个稀疏矩阵(scipy.sparse)。链接问题的解决方案使用了与稀疏矩阵不兼容的索引方案。

对于上下文,我正在为大型离散PDE构造雅可比行列式,因此在这种情况下,B矩阵包含各种相关的部分项,而A将是牛顿定律需要反转的完整雅可比行列方法近似。在大型网格上,A太大了,无法容纳在内存中,因此我想使用稀疏矩阵。

我想用以下结构构造一个数组:

A[i,j,i,j,] = B[i,j]和所有其他条目0:A[i,j,l,k]=0 # (i,j) =\= (l,k)

即如果我构造了B矩阵,该如何创建矩阵A,最好以向量化的方式创建。

明确地,让B = [[1,2],[3,4]]

然后:

A[1,1,:,:]=[[1,0],[0,0]]
A[1,2,:,:]=[[0,2],[0,0]]
A[2,1,:,:]=[[0,0],[3,0]]
A[2,2,:,:]=[[0,0],[0,4]]

0 个答案:

没有答案