overview of slepc and recent additions
play

Overview of SLEPc and Recent Additions Jose E. Roman D. Sistemes - PowerPoint PPT Presentation

Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Overview of SLEPc and Recent Additions Jose E. Roman D. Sistemes Inform` atics i Computaci o Universitat Polit` ecnica de Val` encia, Spain PETSc User Meeting


  1. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Overview of SLEPc and Recent Additions Jose E. Roman D. Sistemes Inform` atics i Computaci´ o Universitat Polit` ecnica de Val` encia, Spain PETSc User Meeting , Vienna – June, 2016 1/36

  2. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features SLEPc : Scalable Library for Eigenvalue Problem Computations A general library for solving large-scale sparse eigenproblems on parallel computers ◮ Linear eigenproblems (standard or generalized, real or complex, Hermitian or non-Hermitian) ◮ Also support for related problems Ax = λx Ax = λBx Av i = σ i u i T ( λ ) x = 0 Authors: J. E. Roman, C. Campos, E. Romero, A. Tomas http://slepc.upv.es Current version: 3.7 (released May 2016) 2/36

  3. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Applications Google Scholar: 400 citations of main paper (ACM TOMS 2005) Computational Physics, Materials Science, Electronic Structure . . . . . 24 % Computational Fluid Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 % PDE’s, Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 % Plasma Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 % Computational Electromagnetics, Electronics, Photonics . . . . . . . . . . . . 8 % Nuclear Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 % Earth Sciences, Oceanology, Hydrology, Geophysics . . . . . . . . . . . . . . . . . 6 % Information Retrieval, Machine Learning, Graph Algorithms . . . . . . . . . 6 % Structural Analysis, Mechanical Engineering . . . . . . . . . . . . . . . . . . . . . . . 5 % Acoustics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 % Visualization, Computer Graphics, Image Processing . . . . . . . . . . . . . . . . 3 % Dynamical Systems, Model Reduction, Inverse Problems . . . . . . . . . . . . 3 % Bioengineering, Computational Neuroscience . . . . . . . . . . . . . . . . . . . . . . . 2 % Astrophysics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 % 3/36

  4. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Problem Classes The user must choose the most appropriate solver for each problem class Problem class Model equation Module Linear eigenproblem Ax = λx, Ax = λBx EPS ( K + λC + λ 2 M ) x = 0 Quadratic eigenproblem † ( A 0 + λA 1 + · · · + λ d A d ) x = 0 Polynomial eigenproblem PEP Nonlinear eigenproblem T ( λ ) x = 0 NEP Singular value decomp. Av = σu SVD Matrix function y = f ( A ) v MFN † QEP removed in version 3.5 Auxiliary classes: ST , BV DS , RG , FN 4/36

  5. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features PETSc SLEPc Nonlinear Systems Time Steppers Nonlinear Eigensolver M. Function Trust Line Backward N- . . . . . . Arnoldi Interp. CISS NLEIGS Krylov Expokit Euler RK BDF SLP RII Search Region Euler Krylov Subspace Methods Polynomial Eigensolver SVD Solver Q- Linear- Cross Cyclic Thick R. . . . GMRES CG CGS Bi-CGStab TFQMR Richardson Chebychev TOAR JD Arnoldi ization Product Matrix Lanczos Linear Eigensolver Preconditioners Additive Block . . . . . . Krylov-Schur Subspace Jacobi ILU ICC LU GD JD LOBPCG CISS Schwarz Jacobi Matrices Spectral Transformation BV DS RG FN Compressed Block Symmetric Shift- . . . . . . . . . . . . . . . Dense CUSPARSE Shift Cayley Precond. Sparse Row CSR Block CSR invert Vectors Index Sets Standard CUDA ViennaCL General Block Stride 5/36

  6. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Outline Linear Eigenvalue Problems 1 EPS: Eigenvalue Problem Solver Selection of wanted eigenvalues Preconditioned eigensolvers Non-Linear Eigenvalue Problems 2 PEP: Polynomial Eigensolvers NEP: General Nonlinear Eigensolvers Additional Features 3 MFN: Matrix Function Auxiliary Classes 6/36

  7. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features EPS: Eigenvalue Problem Solver Compute a few eigenpairs ( x, λ ) of Standard Eigenproblem Generalized Eigenproblem Ax = λx Ax = λBx where A, B can be real or complex, symmetric (Hermitian) or not User can specify: ◮ Number of eigenpairs ( nev ), subspace dimension ( ncv ) ◮ Tolerance, maximum number of iterations ◮ The solver ◮ Selected part of spectrum ◮ Advanced: extraction type, initial guess, constraints, balancing 8/36

  8. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Available Eigensolvers User code is independent of the selected solver 1. Basic methods ◮ Single vector iteration: power iteration, inverse iteration, RQI ◮ Subspace iteration with Rayleigh-Ritz projection and locking ◮ Explicitly restarted Arnoldi and Lanczos 2. Krylov-Schur , including thick-restart Lanczos 3. Generalized Davidson, Jacobi-Davidson 4. Conjugate gradient methods: LOBPCG, RQCG 5. CISS, a contour-integral solver 6. External packages, and LAPACK for testing . . . but some solvers are specific for a particular case: ◮ LOBPCG computes smallest λ i of symmetric problems ◮ CISS allows computation of all λ i within a region 9/36

  9. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (1): Basic Largest/smallest magnitude, or real (or imaginary) part Example: QC2534 -eps nev 6 -eps ncv 128 -eps largest imaginary Computed eigenvalues 10/36

  10. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (2): Region Filtering RG : Region ◮ A region of the complex plane (interval, polygon, ellipse, ring) ◮ Used as an inclusion (or exclusion) region Example: sign1 (NLEVP) n = 225 , all λ lie at unit circle, accumulate at ± 1 -eps nev 6 -rg type interval -rg interval endpoints -0.7,0.7,-1,1 11/36

  11. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (3): Closest to Target Shift-and-invert is used to compute interior eigenvalues ( A − σB ) − 1 Bx = θx Ax = λBx = ⇒ ◮ Trivial mapping of eigenvalues: θ = ( λ − σ ) − 1 ◮ Eigenvectors are not modified ◮ Very fast convergence close to σ Things to consider: ◮ Implicit inverse ( A − σB ) − 1 via linear solves ◮ Direct linear solver for robustness ◮ Less effective for eigenvalues far away from σ 12/36

  12. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (4): Interval (in GHEP) Indefinite (block-)triangular factorization: A − σB = LDL T A byproduct is the number of eigenvalues on the left of σ (inertia) ν ( A − σB ) = ν ( D ) Spectrum Slicing strategy: ◮ Multi-shift scheme that sweeps all the interval ◮ Compute eigenvalues by chunks ◮ Use inertia to validate sub-intervals a b σ 1 σ 2 σ 3 C. Campos and J. E. Roman, “Strategies for spectrum slicing based on restarted Lanczos methods”, Numer. Algorithms , 60(2):279–295, 2012. 13/36

  13. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (4): Interval (in GHEP) Multi-communicator version, one subinterval per partition S 0 S 1 S 2 S 3 P 0 P 2 P 4 P 6 P 8 P 10 P 12 P 14 P 1 P 3 P 5 P 7 P 9 P 11 P 13 P 15 a b Each group factorizes at one endpoint, sends inertia to neighbor Load balancing of groups ◮ Number of eigenvalues in each sub-interval should be similar ◮ Allow user to provide hints about sub-interval boundaries 14/36

  14. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (5): All inside a Region CISS solver 1 : compute all eigenvalues inside a given region Example: QC2534 -eps type ciss -rg type ellipse -rg ellipse center -.8-.1i -rg ellipse radius 0.2 -rg ellipse vscale 0.1 1 Contributed by Y. Maeda, T. Sakurai 15/36

  15. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (5): All inside a Region RG =ellipse, center=0, radius=1 1 Example: MHD1280 with CISS ◮ Alfv´ en spectra: eigenvalues in intersection of the branches 0 -1 -1 0 1 500 RG =ring, center=0, radius=0.5, width=0.2, angle=0.25..0.5 0 1 -500 0.5 -200 -100 0 0 -1 -0.5 0 16/36

  16. Linear Eigenvalue Problems Non-Linear Eigenvalue Problems Additional Features Selection of Eigenvalues (6): User-Defined 1 Selection with user-defined function for sorting eigenvalues 0 pdde stability n = 225 , wanted eigenvalues: � λ � = 1 -1 -50 0 PetscErrorCode MyEigenSort(PetscScalar ar,PetscScalar ai, PetscScalar br,PetscScalar bi,PetscInt *r,void *ctx) { PetscReal aa,ab; PetscFunctionBeginUser; aa = PetscAbsReal(SlepcAbsEigenvalue(ar,ai)-1.0); ab = PetscAbsReal(SlepcAbsEigenvalue(br,bi)-1.0); *r = aa > ab ? 1 : (aa < ab ? -1 : 0); PetscFunctionReturn(0); } Arbitrary selection: apply criterion to an arbitrary user-defined function φ ( λ, x ) instead of just λ 17/36

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend