SLEPc [ 1 ] es una biblioteca de software para el cálculo paralelo de valores y vectores propios de matrices grandes y dispersas. Puede considerarse un módulo de PETSc que proporciona solucionadores para diferentes tipos de problemas de valores propios, incluidos los lineales (estándar y generalizados) y no lineales ( cuadráticos , polinómicos y generales ), así como la descomposición en valores singulares (SVD ). Las versiones recientes también incluyen soporte para funciones matriciales . Utiliza el estándar MPI para la paralelización. Admite aritmética real y compleja, con precisión simple, doble y cuádruple.
Al usar SLEPc, el programador de la aplicación puede utilizar cualquiera de las estructuras de datos y solucionadores de PETSc. SLEPc también incorpora otras características de PETSc, como la configuración de opciones de línea de comandos, la creación automática de perfiles, la comprobación de errores, la portabilidad a prácticamente todas las plataformas informáticas, etc.
Componentes
EPS proporciona algoritmos iterativos para problemas lineales de valores propios.
- Métodos de Krylov como Krylov-Schur, Arnoldi y Lanczos .
- Métodos de Davidson como el Davidson generalizado y el Jacobi-Davidson.
- Métodos de gradiente conjugado como LOBPCG.
- Un solucionador de integrales de contorno (CISS).
- Interfaz con algunos solucionadores de valores propios externos, como ARPACK y BLOPEX .
- Las opciones de personalización incluyen: número de valores propios deseados, tolerancia, tamaño de los subespacios empleados y parte del espectro de interés.
ST encapsula transformaciones espectrales y otros precondicionadores para problemas de valores propios.
- Transformaciones espectrales de desplazamiento e inversión y de Cayley.
- Compatibilidad con solucionadores de valores propios precondicionados (como Jacobi-Davidson) mediante el uso de los precondicionadores proporcionados por PETSc.
- Filtros polinómicos para valores propios interiores.
SVD contiene solucionadores para la descomposición en valores singulares, así como para la descomposición generalizada en valores singulares .
- Solucionadores basados en la matriz de producto cruzado o en la matriz cíclica, que dependen de solucionadores EPS.
- Existen solucionadores específicos basados en la bidiagonalización, como el método de Golub-Kahan-Lanczos y una variante con reinicio grueso.
PEP está diseñado para problemas de valores propios polinomiales, incluido el problema de valores propios cuadráticos .
- Solucionadores basados en linealización explícita, que dependen de solucionadores EPS.
- Solucionadores que realizan la linealización de forma implícita y con un uso eficiente de la memoria, como TOAR.
- Un solucionador de Jacobi-Davidson para PEP.
NEP proporciona funcionalidad para la solución del problema de valores propios no lineal .
- Métodos básicos de resolución, como la iteración inversa residual y los problemas lineales sucesivos.
- Un solucionador basado en interpolación polinómica que se apoya en solucionadores PEP.
- Un solucionador basado en interpolación racional (NLEIGS).
MFN se puede utilizar para calcular la acción de una función matricial sobre un vector.
- Un solucionador de Krylov reiniciado.
Véase también
Referencias
Enlaces externos
- El sitio web oficial de SLEPc
- Bibliotecas numéricas
- Álgebra lineal numérica
- Software de simulación científica