Как создать ссылку на представление / Python на scipy разреженной матрице?

Я работаю над алгоритмом, который использует диагональные и первые недиагональные блоки большой (будет e06 x e06) блочно-диагональной разреженной матрицы.

Прямо сейчас я создаю dict, который хранит блоки таким образом, чтобы я мог получить доступ к блокам в виде матрицы. Например, B [0,0] (5x5) дает первый блок матрицы A (20x20), предполагая блоки 5x5 и что матрица A имеет тип sparse.lil .

Это работает нормально, но занимает ужасно много времени. Это неэффективно, потому что копирует данные, как эта ссылка показала, к моему удивлению: Метод GetItem

Есть ли способ сохранить представление только на разреженной матрице в dict? Я хотел бы изменить содержимое и по-прежнему иметь возможность использовать те же идентификаторы. Это нормально, если это займет немного больше времени, так как это нужно сделать только один раз. Блоки будут иметь много разных размеров и форм.

5
задан ire_and_curses 3 June 2011 в 18:08
поделиться