我一直在寻找一种方法(比只编写循环遍历矩阵更有效)从以包裹的对角线顺序给出的元素创建矩阵,并按此顺序提取值。例如,给定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 中是否有任何类型的功能可以提供此功能,或者某种形式的基于对角线的索引?或者也许某种类型的数组转换会使这更可行?