SciPy será tu mejor apuesta en términos de simplicidad.
SciPy es un paquete maduro que es fácil de instalar y funciona muy bien con los datos de NumPy que ya tenga. Por ejemplo:
>>> import numpy >>> from scipy import sparse # Let's build a 100 x 100 matrix with around 10% filled with ones >>> A = abs((numpy.random.random(100 ** 2) - 0.4)).round() >>> M = A.reshape(100, 100) >>> S = sparse.csr_matrix(M) >>> S 100x100 sparse matrix of type '' with 980 stored elements in Compressed Sparse Row format> >>> %timeit S * S 1000 loops, best of 3: 261 µs per loop
¡Eso es!
Si desea saber más sobre qué tipos de matrices dispersas en SciPy usar, lea la segunda mitad de esta respuesta: la respuesta de Don van der Drift a ¿Cuál es mejor para la manipulación de la matriz de pitón, numpy o scipy?
- Álgebra lineal: ¿Cuál es la mejor manera de calcular vectores propios para una matriz grande (~ 6000 x 6000)?
- ¿Cuál es la prueba más clara del teorema espectral?
- ¿Cuál es una explicación intuitiva de la descomposición de Cholesky?
- ¿Cuál es la intuición detrás del espacio dual y la norma dual?
- ¿Cuál es el mejor código SVD disperso paralelo disponible públicamente?
Sin embargo, algunas notas sobre PySparse. El proceso de instalación actual parece estar diseñado para máquinas Windows. Además, es efectivamente un contenedor que se encuentra en la parte superior de SuiteSparse, una biblioteca que aprovecha la potencia de la GPU.
Todavía no he podido comparar los dos con éxito de una manera comparable, pero si lo hago, actualizaré esta respuesta.