Estoy buscando una biblioteca para tratar con matrices dispersas en fortran 90/95. Solo necesito operaciones muy básicas como la multiplicación matriz-vector. ¿Qué sugieres que use?Fortran 90/95 biblioteca para matrices dispersas?
He buscado alrededor y una extensión de BLAS llamado "blas dispersos", documentado en el capítulo 3 de la especificación explosión foro técnico (?):
http://www.netlib.org/blas/blast-forum/,
parece ideal. De acuerdo con ese documento, debería haber una interfaz más fuerte para la biblioteca. Sin embargo, no he podido encontrar una implementación real de esta especificación en ningún lugar que haya podido descargar. Tengo la impresión de que la especificación de blas dispersas de Fortran 95 no se implementa realmente en ninguna parte. No como fuente abierta de todos modos.
también encontré una biblioteca llamada sparsekit:
http://people.sc.fsu.edu/~jburkardt/f_src/sparsekit/sparsekit.html
Alguien tiene alguna experiencia con cualquiera de estos dos, o cualquier otra biblioteca de matriz dispersa para FORTRAN 90/95? Me gustaría obtener consejos sobre cuál usar, y también dónde obtenerlo (en el caso de sparsekit, el código fuente está disponible a través del enlace de arriba). ¿Hay algo así como un "estándar" para matrices dispersas, como BLAS es para las densas?
Saludos,
Arne
F95, ya que es una revisión menor del lenguaje, a menudo va por debajo de F90. Ha pasado un tiempo desde que hice algo con matrices grandes, pero esta parece ser http://people.sc.fsu.edu/~jburkardt/f_src/blas2/blas2.html la versión F90. – Rook
Gracias Idigas, pero no creo que sea eso. Me parece que lo que está enlazando es la biblioteca BLAS, y que "blas dispersa" no es parte de eso. Por ejemplo, debería haber una subrutina (de acuerdo con la especificación) llamada "duscr_begin" (o posiblemente "blas_duscr_begin"), que es el sub que usa para inicializar una matriz dispersa, que no he encontrado en ninguna parte de la biblioteca BLAS. Incluso descargué todos los archivos de http://www.netlib.org/sparse-blas/index.html, e hice "grep -i duscr_begin * .f" sin suerte. Encontré eso muy confuso. – arne
Ah, podría ser. Solo lo miré precipitadamente la última vez. – Rook