SLEPc [1] es una biblioteca de software para el cálculo paralelo de valores propios y vectores propios de matrices grandes y dispersas. Puede verse como un módulo de PETSc que proporciona solucionadores para diferentes tipos de problemas propios, incluidos lineales (estándar y generalizados) y no lineales ( cuadráticos , polinomiales y generales ), así como el SVD . Las versiones recientes también incluyen soporte para funciones matriciales . Utiliza el estándar MPI para la paralelización. Se admite tanto aritmética real como compleja, con precisión simple, doble y cuádruple.
Al utilizar SLEPc, el programador de aplicaciones puede utilizar cualquiera de las estructuras de datos y solucionadores de PETSc. Otras características de PETSc también se incorporan a SLEPc, como la configuración de opciones de línea de comandos, creación de perfiles automática, verificación de errores, portabilidad a prácticamente todas las plataformas informáticas, etc.
Componentes
EPS proporciona algoritmos iterativos para problemas de valores propios lineales.
- 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 integral de contorno (CISS).
- Interfaz con algunos solucionadores 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, 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 Cayley.
- Soporte para solucionadores propios precondicionados (como Jacobi-Davidson) mediante el uso de precondicionadores proporcionados por PETSc.
- Filtros polinomiales para valores propios interiores.
SVD contiene solucionadores para la descomposición de valores singulares , así como para la descomposición de valores singulares generalizada .
- Solucionadores basados en la matriz de productos cruzados o la matriz cíclica, que se basan en solucionadores EPS.
- Solucionadores específicos basados en bidiagonalización como Golub-Kahan-Lanczos y una variante con reinicio grueso.
PEP está destinado a problemas propios polinomiales, incluido el problema de valores propios cuadráticos .
- Solucionadores basados en linealización explícita, que se basan en solucionadores EPS.
- Solucionadores que realizan la linealización implícitamente de forma eficiente en memoria, como TOAR.
- Un solucionador de Jacobi-Davidson para PEP.
NEP proporciona funcionalidad para la solución del problema propio no lineal .
- Solucionadores básicos como iteración inversa residual y problemas lineales sucesivos.
- Un solucionador basado en interpolación polinomial que se basa 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.
Ver también
Referencias
- ^ V. Hernández; JE Román & V. Vidal (2005). "SLEPc: un conjunto de herramientas escalable y flexible para la solución de problemas de valores propios". Transacciones ACM sobre software matemático . 31 (3): 351–362. doi :10.1145/1089014.1089019. S2CID 14305707.
enlaces externos
- El sitio web oficial de SLEPc