No puedo hablar con otros paquetes, pero trabajo en Apache Mahout , que es una etapa inicial (actualmente en la versión 0.4) abierta- El proyecto fuente dedicado a la computación de “aprendizaje automático escalable”, y como tal, tiene el comienzo de un módulo de álgebra lineal distribuido como parte de su competencia central.
Está respaldado por Hadoop, para distribución / paralelismo / tolerancia a fallas, incorporó toda la biblioteca COLT creada por el CERN de la vieja escuela para primitivas de álgebra lineal de alto rendimiento algunas revisiones atrás (aunque gran parte de lo que actualmente se usa internamente para Mahout no es del código adoptado por COLT: es más de “inspirado por” esa variedad de código). Tiene un nivel bastante bajo en el interior (es decir, está súper optimizado a nivel de algoritmo y utiliza primitivas siempre que sea posible), y evoluciona rápidamente, por lo que si tiene necesidades que el proyecto aún no cumple, es bastante útil agregarlas. fácil si preguntas en la lista de correo.
Actualmente no hay muchos “algoritmos” de matriz distribuidos implementados, aparte de la descomposición de valores singulares truncados optimizados dispersos, y las operaciones primitivas típicas: multiplicar dos matrices distribuidas monstruosas entre sí, o por vectores, y tomar su transposición.
Si alguien vino y solicitó (o mejor aún, envió un parche para) adición de matriz, o multiplicación densamente optimizada, u operaciones optimizadas para una matriz bastante pequeña y una muy grande, etc., podríamos incorporar eso rápidamente .
- ¿Qué biblioteca de Python es mejor para cálculos simples de matriz dispersa, PySparse 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?