Укладка разреженных матриц - PullRequest
0 голосов
/ 09 марта 2019

У меня есть код с плотными массивами со следующей функциональностью, и я хотел бы также поддерживать разреженные матрицы.

В частности, у меня есть четырехмерный tensor с формой (k, k, n, n), который я частично сплющил в matrix формы (k * n, k * n), как это.

# Roll the third dimension to the second position to get a tensor
# with shape (k, n, k, n)
rolled = np.rollaxis(tensor, 2, 1)
# Extract the dimensions
k, n = rolled.shape[:2]
# Reshape to partially flatten the array
matrix = rolled.reshape((k * n, k * n))

ВПри разреженной настройке у меня есть список списков k на k, где каждый элемент представляет собой разреженную матрицу n на n.Использование np.rollaxis не вариант, потому что некоторые размеры редки, а некоторые плотны.Любые идеи о том, как добиться такого же поведения, чтобы я получал разреженную матрицу с формой (k * n, k * n)?

Одним из вариантов может быть использование формата координат и установка каждого элементаmatrix индивидуально, но это кажется довольно громоздким и подверженным ошибкам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...