ARPACK , el PAQUETE ARnoldi , es una biblioteca de software numérico escrita en FORTRAN 77 para resolver problemas de valores propios a gran escala [ 1 ] de forma no matricial .
El paquete está diseñado para calcular algunos autovalores y autovectores correspondientes de matrices grandes dispersas o estructuradas , utilizando el método de Arnoldi reiniciado implícitamente (IRAM) o, en el caso de matrices simétricas, la variante correspondiente del algoritmo de Lanczos . Es utilizado por muchos entornos de computación numérica populares como SciPy , [ 2 ] Mathematica , [ 3 ] Julia (lenguaje de programación) , [ 4 ] GNU Octave [ 5 ] y MATLAB para proporcionar esta funcionalidad.
Interfaz de comunicación inversa
Una potente característica de ARPACK , que no requiere matrices, es su capacidad para utilizar cualquier formato de almacenamiento matricial. Esto es posible porque no opera directamente sobre las matrices, sino que, cuando se requiere una operación matricial, devuelve el control al programa que la llamó con un indicador que especifica la operación necesaria. El programa que llama debe entonces realizar la operación y volver a llamar a la rutina de ARPACK para continuar. Las operaciones típicas son productos matriz-vector y la resolución de sistemas lineales.
Tenedor
Debido al estancamiento del desarrollo ascendente, ARPACK se ha bifurcado en ARPACK-NG, [ 6 ] como una forma de esfuerzo colaborativo de los diversos grupos que dependen de ARPACK.
De manera similar, el proyecto SciPy , desde la versión 1.17.0, incluye una variante traducida a C del código original Fortran 77. Entre las diferencias, esta variante es segura para subprocesos y también permite a los usuarios establecer la semilla para las partes aleatorias, y por lo tanto, permite una salida determinista. Debido a estos cambios, la interfaz de programación se modifica ligeramente, por lo que el proyecto SciPy renombró el código fuente a "Arnaud" para distinguir su bifurcación del ARPACK original. [ 7 ]
Véase también
- LOBPCG , un método diferente sin matriz para matrices simétricas o hermíticas solamente, implementado en C en BLOPEX , portado a hypre y SLEPc , en C++ en Anasazi ( Trilinos ), en Python en scipy , en lenguaje Julia , MATLAB , GNU Octave , así como en Matrix Algebra on GPU and Multicore Architectures (MAGMA) y NVIDIA CUDA .
- LAPACK , biblioteca de software basada en transformaciones matriciales para matrices densas .
- Lista de bibliotecas matemáticas de código abierto
Referencias
- ↑ Lehoucq, RB; Sorensen, DC; Yang, C. (1998). Guía del usuario de ARPACK: Solución de problemas de valores propios a gran escala con métodos de Arnoldi reiniciados implícitamente . Filadelfia: SIAM. ISBN 978-0-89871-407-4.
- ↑ "Problemas de valores propios dispersos con ARPACK" . Scipy.org . Consultado el 8 de diciembre de 2013 .
- ↑ "Algunas notas sobre la implementación interna" . wolfram.com . Consultado el 14 de octubre de 2016 .
- ↑ "Arpack.jl" . julialang.org . Consultado el 13 de junio de 2025 .
- ↑ "Paquetes externos - GNU Octave" . gnu.org . Consultado el 8 de diciembre de 2013 .
- ↑ ARPACK-NG
- ↑ "Solicitud de extracción n.° 23274 del repositorio de código SciPy" . github.com . Consultado el 8 de enero de 2026 .
Enlaces externos
- Sitio web oficial de la Universidad Rice.
- bifurcación de arpack-ng , esfuerzo conjunto entre Scilab , GNU Octave , Debian y otros.
- Bibliotecas Fortran
- Software libre programado en Fortran
- Software numérico
- Software que utiliza la licencia BSD.