Ho cercato un modo (più efficiente che scrivere cicli di attraversare la matrice) per creare matrici di elementi dati in un ordine diagonale avvolto, ed estrarre i valori indietro in quest'ordine. Come esempio, in a = [2,3,4,5,6,7]
, vorrei essere in grado di generare la matriceWrapping/scartare un vettore lungo le diagonali della matrice
[ 0, 2, 5, 7,
0, 0, 3, 6,
0, 0, 0, 4,
0, 0, 0, 0]
e anche essere in grado di ri-estratto a
da tale matrice.
scipy.sparse.diags
raggiunge qualcosa di molto simile a questo, ma come dice il nome è destinato per gli array sparsi. Esiste qualche tipo di funzionalità in numpy che fornisce questo o qualche forma di indicizzazione basata su diagonale? O forse un qualche tipo di trasformazione della matrice che renderebbe questo più fattibile?
E 'intenzionale che la matrice è una matrice 1D? – askewchan