我一直在寻找一种更高效的方法(而不是只写循环遍历矩阵)来根据包装对角线顺序中给定的元素创建矩阵,并以此顺序提取值。例如,给定a = [2,3,4,5,6,7]
,我希望能够生成数组
[ 0, 2, 5, 7,
0, 0, 3, 6,
0, 0, 0, 4,
0, 0, 0, 0]
还需要能够从该数组中重新提取a
。
scipy.sparse.diags
实现了类似于这样的功能,但正如其名称所示,它是针对稀疏数组而设计的。numpy中是否有任何提供此功能或某种形式的基于对角线的索引的功能?或者可能有一些类型的数组转换可以使这更可行吗?