Я искал способ (более эффективный, чтобы просто писать циклы, чтобы пересечь матрицу) для создания матриц из элементов, заданных в обернутом диагональном порядке, и для извлечения значений в этот заказ. В качестве примера, данного 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, которая обеспечивает это, или какую-либо форму диагональной индексации? Или, может быть, какой-то тип преобразования массива, который сделает это более выполнимым?
является ли это преднамеренное, что ваш массив является 1d массива? – askewchan