Как поэлементно работать с матрицей типа scipy.sparse.csr_matrix?

В numpy, если вы хотите вычислить синус каждого элемента матрицы (elementise), тогда

a = numpy.arange(0,27,3).reshape(3,3)
numpy.sin(a)

выполнит свою работу! Если вам нужна мощность, скажем, 2 из каждой записи

a**2

сделают это.

Но если у вас разреженная матрица, все будет сложнее. По крайней мере, я не нашел способа сделать это, кроме перебора каждой записи формата lil_matrix и работы с ней.

Я нашел этот вопрос на SO и попытался адаптировать этот ответ , но мне это не удалось.

Цель состоит в том, чтобы поэлементно вычислить квадратный корень (или степень до 1/2) матрицы scipy.sparse формата CSR.

Что бы вы посоветовали?

6
задан Community 23 May 2017 в 12:33
поделиться