Rational Krylov methods for linear and nonlinear eigenvalue problems

Similar documents
Keeping σ fixed for several steps, iterating on µ and neglecting the remainder in the Lagrange interpolation one obtains. θ = λ j λ j 1 λ j σ, (2.

Solution of eigenvalue problems. Subspace iteration, The symmetric Lanczos algorithm. Harmonic Ritz values, Jacobi-Davidson s method

An Arnoldi Method for Nonlinear Symmetric Eigenvalue Problems

2. Every linear system with the same number of equations as unknowns has a unique solution.

Eigenvalue Problems CHAPTER 1 : PRELIMINARIES

A Jacobi Davidson-type projection method for nonlinear eigenvalue problems

MATH 304 Linear Algebra Lecture 20: The Gram-Schmidt process (continued). Eigenvalues and eigenvectors.

235 Final exam review questions

Arnoldi Methods in SLEPc

Finding Rightmost Eigenvalues of Large, Sparse, Nonsymmetric Parameterized Eigenvalue Problems

The quadratic eigenvalue problem (QEP) is to find scalars λ and nonzero vectors u satisfying

KU Leuven Department of Computer Science

5.) For each of the given sets of vectors, determine whether or not the set spans R 3. Give reasons for your answers.

Math 18, Linear Algebra, Lecture C00, Spring 2017 Review and Practice Problems for Final Exam

Math Linear Algebra Final Exam Review Sheet

ECS231 Handout Subspace projection methods for Solving Large-Scale Eigenvalue Problems. Part I: Review of basic theory of eigenvalue problems

Solution of eigenvalue problems. Subspace iteration, The symmetric Lanczos algorithm. Harmonic Ritz values, Jacobi-Davidson s method

Algorithms that use the Arnoldi Basis

LINEAR ALGEBRA SUMMARY SHEET.

4.8 Arnoldi Iteration, Krylov Subspaces and GMRES

ELE/MCE 503 Linear Algebra Facts Fall 2018

No books, no notes, no calculators. You must show work, unless the question is a true/false, yes/no, or fill-in-the-blank question.

1. What is the determinant of the following matrix? a 1 a 2 4a 3 2a 2 b 1 b 2 4b 3 2b c 1. = 4, then det

A Jacobi Davidson Method for Nonlinear Eigenproblems

FEM and sparse linear system solving

MATH 240 Spring, Chapter 1: Linear Equations and Matrices

Solving Regularized Total Least Squares Problems

LARGE SPARSE EIGENVALUE PROBLEMS. General Tools for Solving Large Eigen-Problems

Krylov subspace projection methods

EXERCISES ON DETERMINANTS, EIGENVALUES AND EIGENVECTORS. 1. Determinants

Problem Set (T) If A is an m n matrix, B is an n p matrix and D is a p s matrix, then show

Eigenvalues and Eigenvectors A =

MATH 304 Linear Algebra Lecture 23: Diagonalization. Review for Test 2.

LARGE SPARSE EIGENVALUE PROBLEMS

MA 265 FINAL EXAM Fall 2012

x 3y 2z = 6 1.2) 2x 4y 3z = 8 3x + 6y + 8z = 5 x + 3y 2z + 5t = 4 1.5) 2x + 8y z + 9t = 9 3x + 5y 12z + 17t = 7

Efficient Methods For Nonlinear Eigenvalue Problems. Diploma Thesis

The amount of work to construct each new guess from the previous one should be a small multiple of the number of nonzeros in A.

Cheat Sheet for MATH461

6.4 Krylov Subspaces and Conjugate Gradients

Last Time. Social Network Graphs Betweenness. Graph Laplacian. Girvan-Newman Algorithm. Spectral Bisection

A hybrid reordered Arnoldi method to accelerate PageRank computations

Preliminary/Qualifying Exam in Numerical Analysis (Math 502a) Spring 2012

DIAGONALIZATION. In order to see the implications of this definition, let us consider the following example Example 1. Consider the matrix

Quizzes for Math 304

Iterative projection methods for sparse nonlinear eigenvalue problems

Math 102, Winter Final Exam Review. Chapter 1. Matrices and Gaussian Elimination

Study Guide for Linear Algebra Exam 2

Online Exercises for Linear Algebra XM511

33AH, WINTER 2018: STUDY GUIDE FOR FINAL EXAM

Math 4A Notes. Written by Victoria Kala Last updated June 11, 2017

Linear Analysis Lecture 16

The Lanczos and conjugate gradient algorithms

MATH 115A: SAMPLE FINAL SOLUTIONS

Krylov Subspaces. Lab 1. The Arnoldi Iteration

1. General Vector Spaces

LINEAR ALGEBRA 1, 2012-I PARTIAL EXAM 3 SOLUTIONS TO PRACTICE PROBLEMS

MATH 1120 (LINEAR ALGEBRA 1), FINAL EXAM FALL 2011 SOLUTIONS TO PRACTICE VERSION

Recall the convention that, for us, all vectors are column vectors.

IMPORTANT DEFINITIONS AND THEOREMS REFERENCE SHEET

M.A. Botchev. September 5, 2014

MAT Linear Algebra Collection of sample exams

ANSWERS. E k E 2 E 1 A = B

EIGIFP: A MATLAB Program for Solving Large Symmetric Generalized Eigenvalue Problems

A Review of Linear Algebra

Approximating the matrix exponential of an advection-diffusion operator using the incomplete orthogonalization method

6 Inner Product Spaces

Polynomial Jacobi Davidson Method for Large/Sparse Eigenvalue Problems

IMPORTANT DEFINITIONS AND THEOREMS REFERENCE SHEET

Solutions to Final Exam

UNIT 6: The singular value decomposition.

MATH 31 - ADDITIONAL PRACTICE PROBLEMS FOR FINAL

Math 520 Exam 2 Topic Outline Sections 1 3 (Xiao/Dumas/Liaw) Spring 2008

MATH 304 Linear Algebra Lecture 34: Review for Test 2.

BASIC ALGORITHMS IN LINEAR ALGEBRA. Matrices and Applications of Gaussian Elimination. A 2 x. A T m x. A 1 x A T 1. A m x

Linear Algebra M1 - FIB. Contents: 5. Matrices, systems of linear equations and determinants 6. Vector space 7. Linear maps 8.

OHSx XM511 Linear Algebra: Solutions to Online True/False Exercises

FINDING RIGHTMOST EIGENVALUES OF LARGE SPARSE NONSYMMETRIC PARAMETERIZED EIGENVALUE PROBLEMS

Iterative methods for Linear System

Solutions to practice questions for the final

Lecture 4 Orthonormal vectors and QR factorization

Warm-up. True or false? Baby proof. 2. The system of normal equations for A x = y has solutions iff A x = y has solutions

ABSTRACT OF DISSERTATION. Ping Zhang

Davidson Method CHAPTER 3 : JACOBI DAVIDSON METHOD

homogeneous 71 hyperplane 10 hyperplane 34 hyperplane 69 identity map 171 identity map 186 identity map 206 identity matrix 110 identity matrix 45

1 Last time: least-squares problems

Conceptual Questions for Review

Chapter 5. Eigenvalues and Eigenvectors

Applied Mathematics 205. Unit V: Eigenvalue Problems. Lecturer: Dr. David Knezevic

An Asynchronous Algorithm on NetSolve Global Computing System

Applied Linear Algebra in Geoscience Using MATLAB

The Gram Schmidt Process

The Gram Schmidt Process

Krylov Subspace Methods to Calculate PageRank

Research Matters. February 25, The Nonlinear Eigenvalue Problem. Nick Higham. Part III. Director of Research School of Mathematics

Matrix Algorithms. Volume II: Eigensystems. G. W. Stewart H1HJ1L. University of Maryland College Park, Maryland

Ir O D = D = ( ) Section 2.6 Example 1. (Bottom of page 119) dim(v ) = dim(l(v, W )) = dim(v ) dim(f ) = dim(v )

The Eigenvalue Problem: Perturbation Theory

The University of Texas at Austin Department of Electrical and Computer Engineering. EE381V: Large Scale Learning Spring 2013.

Eigenvalues and Eigenvectors

Transcription:

Rational Krylov methods for linear and nonlinear eigenvalue problems Mele Giampaolo mele@mail.dm.unipi.it University of Pisa 7 March 2014

Outline Arnoldi (and its variants) for linear eigenproblems Rational Krylov algorithm for linear eigenproblems Applications of Rational Krylov algorithm for nonlinear eigenproblems - Linearization by means of Hermite interpolation - Iterative projection methods

Outline Arnoldi (and its variants) for linear eigenproblems Rational Krylov algorithm for linear eigenproblems Applications of Rational Krylov algorithm for nonlinear eigenproblems - Linearization by means of Hermite interpolations - Iterative projection methods

Eigenvalue problem Definition of the problem Given an application find a pair (λ, x) C C n such that The number λ is called eigenvalue The vector x is called eigenvector A( ) : C C n n A(λ)x = 0 In practical applications the task is to compute eigenvalues in a subset Ω C.

Linear eigenvalue problem If A(λ) is linear we call the problem linear eigenvalue problem Let A(λ) = A λb then the linear eigenvalue problem is A, B C n n Ax = λbx Generalized eigenvalue problem in case B = I (identity matrix) Ax = λx Classic eigenvalue problem

Arnoldi s algorithm for classic eigenvalue problem Classic eigenvalue problem Given A C n n the problem is to compute the pairs (λ, x) such that Ax = λx Definition (Krylov subspace) Given a vector x C n and a natural number m is the Krylov subspace K m (A, x) = span ( x, Ax, A 2 x,..., A m 1 x ) The idea is to project the matrix A in the Krylov subspace and solve the projected problem.

Arnoldi s algorithm for classic eigenvalue problem Gram Schmidt orthogonalization Given x C n define v 1 := x/ x h i,j = Av j v i i = 1,... j w j+1 := Av j h 1,j v 1 h 2,j v 2 h j,j v j h j+1,j = w j+1 v j+1 = w j+1 /h j+1,j Then v 1,..., v m is an orthonormal basis of K m (A, x). Arnoldi sequence In a vectorial form AV m = V m+1 H m+1,m

Arnoldi s algorithm for classic eigenvalue problem Observation The matrix H m,m is the projection of A in K m (A, x), that is V H m AV m = H m,m Definition Given an eigenpair (θ, s) of H m,m, the value θ is called Ritz value and the vector V m s Ritz vector. Proposition If (θ, s) is an eigenpair of H m,m then AV m s θv m s = h m+1,m s m v m+1. If h m+1,m y m is small, then (θ, V m s) is an approximation of an eigenpair of A.

Arnoldi s algorithm for classic eigenvalue problem Arnoldi s algorithm 1: Chose a starting vector x 2: for m = 1,..., till convergence do 3: Compute the Arnoldi sequence AV m = V m+1 H m+1,m 4: Compute eigenpairs (θ i, y i ) of H m,m 5: if h m+1,m (emy H i ) < tol then 6: Store (θ i, V m y i ) as approximation of an eigenpair of A 7: end if 8: end for Questions: How big must be m to get a good approximation of an eigenpair? How to choose a starting vector x? Which eigenpairs will be firstly approximated?

Arnoldi s algorithm for classic eigenvalue problem Arnoldi s algorithm 1: Chose a starting vector x 2: for m = 1,..., till convergence do 3: Compute the Arnoldi sequence AV m = V m+1 H m+1,m 4: Compute eigenpairs (θ i, y i ) of H m,m 5: if h m+1,m (emy H i ) < tol then 6: Store (θ i, V m y i ) as approximation of an eigenpair of A 7: end if 8: end for Questions: How big must be m to get a good approximation of an eigenpair? How to choose a starting vector x? Which eigenpairs will be firstly approximated?

Convergence of Arnoldi s algorithm Theorem (Saad) If A is diagonalizable and (λ i, u i ) are the eigenpairs, if λ k λ 1 > λ k λ j k 1, j 1 then λ 1 is the first eigenvalue to be approximated. Moreover the closer x to the eigenvector u 1 the faster the convergence to u 1. In other words (under the hypothesis of the theorem) the outermost eigenvalues will be firstly approximated. Heuristically, after a few steps, the approximations to the eigenvalues start to convergence linearly.

Convergence of Arnoldi s algorithm Theorem (Saad) If A is diagonalizable and (λ i, u i ) are the eigenpairs, if λ k λ 1 > λ k λ j k 1, j 1 then λ 1 is the first eigenvalue to be approximated. Moreover the closer x to the eigenvector u 1 the faster the convergence to u 1. In other words (under the hypothesis of the theorem) the outermost eigenvalues will be firstly approximated. Heuristically, after a few steps, the approximations to the eigenvalues start to convergence linearly.

Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically lost. Thick restart Let AV m = V m+1 H m+1,m be an Arnoldi sequence with θ 1,..., θ k a subset of Ritz values, where at least one has not (numerically) converged yet. Then it is possible to build another Arnoldi sequence AW k = W k+1 Hk+1,k such that θ 1,..., θ k are the Ritz values. The generation of the new sequence is numerically stable since it is done using Householder transformations. The idea of thick restart is to select the Ritz values which we want to refine and remove the others. Lock Purge

Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically lost. Thick restart Let AV m = V m+1 H m+1,m be an Arnoldi sequence with θ 1,..., θ k a subset of Ritz values, where at least one has not (numerically) converged yet. Then it is possible to build another Arnoldi sequence AW k = W k+1 Hk+1,k such that θ 1,..., θ k are the Ritz values. The generation of the new sequence is numerically stable since it is done using Householder transformations. The idea of thick restart is to select the Ritz values which we want to refine and remove the others. Lock Purge

Arnoldi s algorithm for the linear eigenvalue problem Tthe linear eigenproblem Ax = λbx can be solved by using Arnoldi s algorithm applied to the matrix B 1 A Matrices are often sparse/structured. B 1 is never computed. At each step of the algorithm a linear systems with the matrix B must be solved. The LU factorization of B can be performed once for all.

Shifted and inverted Arnoldi s algorithm for the linear eigenvalue problem Proposition If (θ, x) is an eigenpair of (A σb) 1 B then (σ + 1/θ, x) is an eigenpair of the linear problem Ax = λbx. Observation If θ is one of the outermost eigenvalues of (A σb) 1 B then σ + 1/θ is one of the eigenvalues of the linear problem nearest σ. [Saad theorem]. This strategy can be used to compute eigenvalues of the linear problem near a point σ. If we want to compute eigenvalues in Ω C then we can select a few (equidistributed) points σ 0,..., σ t Ω and use this approach.

Shifted and inverted Arnoldi s algorithm for the linear eigenvalue problem Proposition If (θ, x) is an eigenpair of (A σb) 1 B then (σ + 1/θ, x) is an eigenpair of the linear problem Ax = λbx. Observation If θ is one of the outermost eigenvalues of (A σb) 1 B then σ + 1/θ is one of the eigenvalues of the linear problem nearest σ. [Saad theorem]. This strategy can be used to compute eigenvalues of the linear problem near a point σ. If we want to compute eigenvalues in Ω C then we can select a few (equidistributed) points σ 0,..., σ t Ω and use this approach.

Outline Arnoldi (and its variants) for linear eigenproblems Rational Krylov algorithm for linear eigenproblems Applications of Rational Krylov algorithm for nonlinear eigenproblems - Linearization by means of Hermite interpolation - Iterative projection methods

Rational Krylov algorithm for linear eigenvalue problem Problem To compute eigenvalues near a set of points σ 0,..., σ t Ω, one needs to apply Shifted and inverted Arnoldi s algorithm to each σ i Theorem (Ruhe) In O(m 3 ) it is possible change shift in the Arnoldi sequence, in particular (A σ 0 B) 1 BV m = V m+1 H m+1,m = (A σ 1 B) 1 BW m = W m+1 Hm+1,m moreover span(v m+1 ) = span(w m+1 ). These operations are numerically stable if σ 0 and σ 1 are far enough from the eigenvalues of the original problem.

Rational Krylov algorithm for linear eigenvalue problem Problem To compute eigenvalues near a set of points σ 0,..., σ t Ω, one needs to apply Shifted and inverted Arnoldi s algorithm to each σ i Theorem (Ruhe) In O(m 3 ) it is possible change shift in the Arnoldi sequence, in particular (A σ 0 B) 1 BV m = V m+1 H m+1,m = (A σ 1 B) 1 BW m = W m+1 Hm+1,m moreover span(v m+1 ) = span(w m+1 ). These operations are numerically stable if σ 0 and σ 1 are far enough from the eigenvalues of the original problem.

Rational Krylov algorithm for linear eigenvalue problem Rational Krylov algorithm 1: Chose a starting vector x and a starting shift σ 0 and define v 1 = x/ x. 2: for i = 1,..., till convergence do 3: Extend the Arnoldi sequence (A σ i B) 1 BV m = V m+1 H m+1,m till enough Ritz values near σ i numerically converge. When needed, perform a thick restart. 4: Chose the next shift σ i+1 and transform the previous Arnoldi sequence in (A σ i+1 B) 1 BV m = V m+1 H m+1,m ny using O(m 3 ) ops. 5: end for Practical issues When shift changes, an LU factorization of (A σ i+1 B) is performed Heuristically, a good choice of the next shift is taking the average of cstep (small) Ritz values not yet converged and near the previous shift. Thick restart is performed.

Rational Krylov algorithm for linear eigenvalue problem Rational Krylov algorithm 1: Chose a starting vector x and a starting shift σ 0 and define v 1 = x/ x. 2: for i = 1,..., till convergence do 3: Extend the Arnoldi sequence (A σ i B) 1 BV m = V m+1 H m+1,m till enough Ritz values near σ i numerically converge. When needed, perform a thick restart. 4: Chose the next shift σ i+1 and transform the previous Arnoldi sequence in (A σ i+1 B) 1 BV m = V m+1 H m+1,m ny using O(m 3 ) ops. 5: end for Practical issues When shift changes, an LU factorization of (A σ i+1 B) is performed Heuristically, a good choice of the next shift is taking the average of cstep (small) Ritz values not yet converged and near the previous shift. Thick restart is performed.

Numerical experimentation Tubolar reactor model The conservation of reactant and energy in a homogeneous tube of length L in dimensionless form is modeled by L v dy dt = 1 2 y Pe m X 2 + y X + 1 Dyeγ γt, L v dt dt = 1 2 T Pe h X 2 + T X + β(t T 0) BDye γ γt 1, B.C. : y (0) = Pe m y(0), T (0) = Pe h T (0), y (1) = 0, T (1) = 0. Where y is the concentration, T the temperature and 0 X 1 the spatial coordinate. The setting of the problem is Pe m = Pe h = 5, B = 0.5, γ = 25, β = 3, 5, D = 0, 2662 and L/v = 1. The task is to solve numerically the equation with the method of lines.

Numerical experimentation Stability of the time discretization With a semi-discretization in space, setting x = (y 1, T 1, y 2, T 2,..., y N/2, T N/2 ) we get d dt x = Ax A R2N 2N, where h = 1/N is the discretization step. A is a banded matrix with bandwidth 5. In order to chose a stable time discretization it is needed to compute the rightmost eigenvalues of A.

Numerical experimentation N = 50, Arnoldi with 20 iterations. 4 2 Eigenvalues Ritz values 0 2 4 2,000 1,500 1,000 500 0 500

Numerical experimentation N = 500, Rational Krylov algorithm to compute 60 rightmost eigenvalues 4 Eigenvalues Shifts Converged Ritz values 2 0 2 2,500 2,000 1,500 1,000 500 0 500

Numerical experimentation Convergence of the rightmost eigenvalues with Shift-and-inverted Arnoldi and with Rational Krylov Wanted eigenvalues Shift and inverted Rational Krylov Savings percentage ( number of steps ) ( number of steps ) (steps) 20 45 38 16 % 40 79 64 19 % 60 112 89 21 % 80 144 113 22 % The advantage seems light, but with Rational Krylov method we can perform a thick restart. With shifted and inverted Arnoldi the restart induces a loop.

Numerical experimentation Stability of a flow in a pipe { (D 2 α) 2 iαre[u 0 (D 2 α 2 ) U 0 ]} ṽ = icαre(d 2 α 2 )ṽ ṽ(1) = 0, Dṽ(1)y = 0 ṽ( 1) = 0, Dṽ( 1) = 0 The setting is α = 1 and Re = 10000. Discrete problem Using finite differences, we discretized with discretization step h = 1/N Aṽ = cbṽ Where A, B R N N, det(a) 0, rank(b) = N 4 because of B.C. A and B are banded matrices with bandwidth respectively 5 and 3. The spectrum of the continuum problem has a branch structure, in particular it looks like a Y. The task is to compute the branch connected to zero.

Numerical experimentation Stability of a flow in a pipe { (D 2 α) 2 iαre[u 0 (D 2 α 2 ) U 0 ]} ṽ = icαre(d 2 α 2 )ṽ ṽ(1) = 0, Dṽ(1)y = 0 ṽ( 1) = 0, Dṽ( 1) = 0 The setting is α = 1 and Re = 10000. Discrete problem Using finite differences, we discretized with discretization step h = 1/N Aṽ = cbṽ Where A, B R N N, det(a) 0, rank(b) = N 4 because of B.C. A and B are banded matrices with bandwidth respectively 5 and 3. The spectrum of the continuum problem has a branch structure, in particular it looks like a Y. The task is to compute the branch connected to zero.

Numerical experimentation 1 Continuous spectrum 0 1 2 3 4 0.2 0.4 0.6 0.8 1

Numerical experimentation N = 100, Ritz values computed with shift invert Arnoldi. 0 0.2 Converged Ritz values Eigenvalues 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Numerical experimentation N = 100, Ritz values computed with Rational Krylov. 0 0.2 Shifts Converged Ritz values Eigenvalues 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Outline Arnoldi (and its variants) for linear eigenproblems Rational Krylov algorithm for linear eigenproblems Applications of Rational Krylov algorithm for nonlinear eigenproblems - Linearization by means of Hermite interpolation - Iterative projection methods

Outline Arnoldi (and its variants) for linear eigenproblems Rational Krylov algorithm for linear eigenproblems Applications of Rational Krylov algorithm for nonlinear eigenproblems - Linearization by means of Hermite interpolations - Iterative projection methods

Nonlinear eigenvalue problem and linearization Nonlinear eigenvalue problem (NLEP) Given a nonlinear application A( ) : C C n n the task is to compute (λ, x) C C n n such that A(λ)x = 0 with λ Ω C Linearization Given a nonlinear eigenvalue problem defined by A(λ), the application Ã(λ) is a linearization if it defines a linear eigenvalue problem such that its eigenvalues (in Ω) are a good estimation of the eigenvalues (in Ω) of the original problem. We can every time express the nonlinear eigenvalue problem as m A(λ) = f i (λ)b i i=1 B i C n n f i : C C

Nonlinear eigenvalue problem and linearization Nonlinear eigenvalue problem (NLEP) Given a nonlinear application A( ) : C C n n the task is to compute (λ, x) C C n n such that A(λ)x = 0 with λ Ω C Linearization Given a nonlinear eigenvalue problem defined by A(λ), the application Ã(λ) is a linearization if it defines a linear eigenvalue problem such that its eigenvalues (in Ω) are a good estimation of the eigenvalues (in Ω) of the original problem. We can every time express the nonlinear eigenvalue problem as m A(λ) = f i (λ)b i i=1 B i C n n f i : C C

Nonlinear eigenvalue problem and linearization Nonlinear eigenvalue problem (NLEP) Given a nonlinear application A( ) : C C n n the task is to compute (λ, x) C C n n such that A(λ)x = 0 with λ Ω C Linearization Given a nonlinear eigenvalue problem defined by A(λ), the application Ã(λ) is a linearization if it defines a linear eigenvalue problem such that its eigenvalues (in Ω) are a good estimation of the eigenvalues (in Ω) of the original problem. We can every time express the nonlinear eigenvalue problem as m A(λ) = f i (λ)b i i=1 B i C n n f i : C C

Linearization by means of Hermite interpolation Consider the NLEP defined by A(λ) = m f i (λ)b i and select a set of points σ 0,..., σ N Ω (repetitions are allowed) f j (λ) i=1 Hermite interpolation N α i,j n i (λ) then we can approximate the NLEP with a PEP defined by P N (λ) = i=0 N n i (λ)a i where A i = i=0 m α i,j B j j=1

Linearization by means of Hermite interpolation Theorem (Companion-type linearization) The pair (λ, x) 0 is an eigenpair of the PEP if and only if A N y N = λb N y N where A 0 A 1 A 2... A N 0 σ 0I I I 0 σ A N := 1I, B N :=, y N := Advantages I...... σ N 1 I I I 0...... I 0 x n 1(λ)x n 2(λ)x n 3(λ)x. n N (λ)x Since A i = m j=1 α i,jb j, it is not needed to store A i, it is sufficient to store the interpolation coefficients α i,j. If it is needed to add an interpolation point, we just need to one can just compute (implicitly) A N+1 and add a column and a row to the linearization matrices. Only the coefficients α i,j are stored, all the other matrices are implicitly built.

Linearization by means of Hermite interpolation Theorem (Companion-type linearization) The pair (λ, x) 0 is an eigenpair of the PEP if and only if A N y N = λb N y N where A 0 A 1 A 2... A N 0 σ 0I I I 0 σ A N := 1I, B N :=, y N := Advantages I...... σ N 1 I I I 0...... I 0 x n 1(λ)x n 2(λ)x n 3(λ)x. n N (λ)x Since A i = m j=1 α i,jb j, it is not needed to store A i, it is sufficient to store the interpolation coefficients α i,j. If it is needed to add an interpolation point, we just need to one can just compute (implicitly) A N+1 and add a column and a row to the linearization matrices. Only the coefficients α i,j are stored, all the other matrices are implicitly built.

Rational Krylov algorithm to solve the linearized problem Lemma Consider the linear problem defined by the linearization (A N, B N ), apply the rational Krylov algorithm by using as shifts the interpolation points and ( ) v 1 := vec v [1] 1, 0,..., 0, v 1 C (N+1)n, v [1] 1 C n as starting vector. Then at the j-th step of the rational Krylov algorithm the vectors of the Arnoldi sequence have the following structure ( ) v k = vec v [1] k, v [2] k,..., v [j] k, 0,..., 0, for k j N, where v [i] k C n for i = 1,..., j.

Building the basis of the Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 0 0 0 0 0 )

Building the basis of the Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 0 0 0 0 0 ) v 2 = ( v [1] 2 v [2] 2 0 0 0 0 0 0 )

Building the basis of the Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 0 0 0 0 0 ) v 2 = ( v [1] 2 v [2] 2 0 0 0 0 0 0 ) v 3 = ( v [1] 3 v [2] 3 v [3] 3 0 0 0 0 0 )

Building the basis of the Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 0 0 0 0 0 ) v 2 = ( v [1] 2 v [2] 2 0 0 0 0 0 0 ) v 3 = ( v [1] 3 v [2] 3 v [3] 3 0 0 0 0 0 ) v 4 = ( v [1] 4 v [2] 4 v [3] 4 v [4] 4 0 0 0 0 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 1 w [4] 1 0 0 0 0 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 0 0 0 0 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 0 0 0 0 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 0 0 0 0 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 1 w [4] 1 0 0 0 0 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 0 0 0 0 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 0 0 0 0 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 0 0 0 0 ) w 5 = ( w [1] 5 w [2] 5 w [3] 5 w [4] 5 w [5] 5 0 0 0 )

Building the basis of Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 1 w [4] 1 0 0 0 0 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 0 0 0 0 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 0 0 0 0 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 0 0 0 0 ) w 5 = ( w [1] 5 w [2] 5 w [3] 5 w [4] 5 w [5] 5 0 0 0 ) w 6 = ( w [1] 6 w [2] 6 w [3] 6 w [4] 6 w [5] 6 w [6] 6 0 0 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 1 z [4] 1 z [5] 1 z [6] 1 0 0 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 0 0 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 0 0 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 0 0 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 0 0 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 0 0 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 1 z [4] 1 z [5] 1 z [6] 1 0 0 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 0 0 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 0 0 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 0 0 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 0 0 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 0 0 ) z 7 = ( z [1] 7 z [2] 7 z [3] 7 z [4] 7 z [5] 7 z [6] 7 z [7] 7 0 )

Building the basis of Krylov subspace Size of linearization: N = 8 (blocks) Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 1 z [4] 1 z [5] 1 z [6] 1 0 0 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 0 0 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 0 0 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 0 0 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 0 0 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 0 0 ) z 7 = ( z [1] 7 z [2] 7 z [3] 7 z [4] 7 z [5] 7 z [6] 7 z [7] 7 0 ) z 8 = ( z [1] 8 z [2] 8 z [3] 8 z [4] 8 z [5] 8 z [6] 8 z [7] 8 z [8] 8 ) w 8 =( w [1] 8 )

Rational Krylov algorithm to solve the linearized problem Lemma At each iteration j of the rational Krylov algorithm, only the top-left parts of the matrices A N σ j B N are used to compute the nonzero top parts ṽ j+1 of the vectors v j+1, i.e., (A j σ j B j )ṽ j+1 = B j ṽ j, where and ṽ j+1 = vec ṽ j = vec ( ) v [1] j+1, v [2] j+1,..., v [j+1] j+1, ( v [1] j, v [2] j ),..., v [j] j, 0,

Rational Krylov algorithm to solve the linearized problem Lemma The linear system (A j σ j B j )ṽ j+1 = B j ṽ j can be efficiently solved by using the following equations A(σ j )v [1] j+1 = y (j) 0, where y (j) 0 = ( j A j i=1 ( i 1 i 1 v [i] j + k=1 l=k µ (j) l ) v [k] j ), and v [2] j+1 = v [1] j + µ (j) 0 v [1] j+1, v [3] j+1 = v [2] j + µ (j) 1 v [2] j+1,., v [j+1] j+1 = v [j] j + µ (j) j 1 v [j] j+1.

HIRK (Hermite Interpolation Rational Krylov Method) 1: Choose the shift σ 0 and starting vector v 1. 2: for j = 1,..., m do 3: EXPANSION PHASE. 4: Choose the shift σ j. 5: Compute the next divided difference: A j. 6: Expand A j, B j and V j. 7: RATIONAL KRYLOV STEP 8: if σ j 1 σ j then 9: Change basis V j Ṽ j and matrix H j,j 1 H j,j 1 (according to the Rational Krylov algorithm) such that the Arnoldi sequence becomes 10: end if 11: Compute the next vector of the sequence: (A j σ j B j ) 1 B j Ṽ j = H j,j 1 V j 1. r = (A j σ j B j ) 1 B j v j, r = v V j h j, where h j = V H j r orthogonalization, v j+1 = r/h j+1,j, where h j+1,j = r normalization. 12: Compute the eigenpair (θ i, y i ) for i = 1,..., j of H j,j 1 and then the Ritz pairs (θ i, V j y i ). 13: Test the convergence for the NLEP. 14: end for

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 ) w 8 =( )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 ) v 2 = ( v [1] 2 v [2] 2 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 ) v 2 = ( v [1] 2 v [2] 2 0 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 ) v 2 = ( v [1] 2 v [2] 2 0 ) v 3 = ( v [1] 3 v [2] 3 v [3] 3 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 0 ) v 2 = ( v [1] 2 v [2] 2 0 0 ) v 3 = ( v [1] 3 v [2] 3 v [3] 3 0 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 v 1 = ( v [1] 1 0 0 0 ) v 2 = ( v [1] 2 v [2] 2 0 0 ) v 3 = ( v [1] 3 v [2] 3 v [3] 3 0 ) v 4 = ( v [1] 4 v [2] 4 v [3] 4 v [4] 4 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 3 w [4] 1 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 3 w [4] 1 0 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 0 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 0 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 0 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 3 w [4] 1 0 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 0 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 0 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 0 ) w 5 = ( w [1] 5 w [2] 5 w [3] 5 w [4] 5 w [5] 5 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 3 w [4] 1 0 0 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 0 0 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 0 0 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 0 0 ) w 5 = ( w [1] 5 w [2] 5 w [3] 5 w [4] 5 w [5] 5 0 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 w 1 = ( w [1] 1 w [2] 1 w [3] 3 w [4] 1 0 0 ) w 2 = ( w [1] 2 w [2] 2 w [3] 2 w [4] 2 0 0 ) w 3 = ( w [1] 3 w [2] 3 w [3] 3 w [4] 3 0 0 ) w 4 = ( w [1] 4 w [2] 4 w [3] 4 w [4] 4 0 0 ) w 5 = ( w [1] 5 w [2] 5 w [3] 5 w [4] 5 w [5] 5 0 ) w 6 = ( w [1] 6 w [2] 6 w [3] 6 w [4] 6 w [5] 6 w [6] 6 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 1 z [4] 1 z [5] 1 z [6] 1 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 3 z [4] 1 z [5] 1 z [6] 1 0 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 0 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 0 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 0 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 0 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 0 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 3 z [4] 1 z [5] 1 z [6] 1 0 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 0 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 0 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 0 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 0 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 0 ) z 7 = ( z [1] 7 z [2] 7 z [3] 7 z [4] 7 z [5] 7 z [6] 7 z [7] 7 ) w 8 =( w [1] 8 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 3 z [4] 1 z [5] 1 z [6] 1 0 0 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 0 0 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 0 0 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 0 0 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 0 0 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 0 0 ) z 7 = ( z [1] 7 z [2] 7 z [3] 7 z [4] 7 z [5] 7 z [6] 7 z [7] 7 0 )

Building the basis of Krylov subspace Execution of the algorithm Nodes/shifts: σ 0 σ 0 σ 0 σ 1 σ 1 σ 2 σ 2 z 1 = ( z [1] 1 z [2] 1 z [3] 3 z [4] 1 z [5] 1 z [6] 1 0 0 ) z 2 = ( z [1] 2 z [2] 2 z [3] 2 z [4] 2 z [5] 2 z [6] 2 0 0 ) z 3 = ( z [1] 3 z [2] 3 z [3] 3 z [4] 3 z [5] 3 z [6] 3 0 0 ) z 4 = ( z [1] 4 z [2] 4 z [3] 4 z [4] 4 z [5] 4 z [6] 4 0 0 ) z 5 = ( z [1] 5 z [2] 5 z [3] 5 z [4] 5 z [5] 5 z [6] 5 0 0 ) z 6 = ( z [1] 6 z [2] 6 z [3] 6 z [4] 6 z [5] 6 z [6] 6 0 0 ) z 7 = ( z [1] 7 z [2] 7 z [3] 7 z [4] 7 z [5] 7 z [6] 7 z [7] 7 0 ) z 8 = ( z [1] 8 z [2] 8 z [3] 8 z [4] 8 z [5] 8 z [6] 8 z [7] 8 z [8] 8 ) w 8 =( w [1] 8 )

Hermite Interpolation Rational Krylov Method Comments At every step it is solved a system of the size of the original NLEP and not of the size of the linarization. The computation of the interpolation coefficients is numerically unstable. These coefficients must be computed semianalitically. Applying this method to a NLEP is like to solve a linear eigenvalue problem of infinite size. The bottleneck of the algorithm is the Gram Schmidt process. At every step, the vectors of the basis of Krylov space get longer. Exploiting the low rank structure of the matrix coefficients can speedup the algorithm.

Outline Arnoldi (and its variants) for linear eigenproblems Rational Krylov algorithm for linear eigenproblems Applications of Rational Krylov algorithm for nonlinear eigenproblems - Linearization by means of Hermite interpolations - Iterative projection methods

Nonlinear Rational Krylov Definition (Generalized Arnoldi s sequence) Given a pole σ C and a sequence of shifts λ 1,..., λ m it holds Generation of the sequence A(σ) 1 A(λ j 1 )V j 1 = V j H j,j 1 A(σ) 1 A(λ m )V m = V m+1 H m+1,m linear A(σ) 1 A(λ j )V j = V j+1 H j+1,j. interpolation

Nonlinear Rational Krylov Definition (Generalized Arnoldi s sequence) Given a pole σ C and a sequence of shifts λ 1,..., λ m it holds Generation of the sequence A(σ) 1 A(λ j 1 )V j 1 = V j H j,j 1 A(σ) 1 A(λ m )V m = V m+1 H m+1,m linear A(σ) 1 A(λ j )V j = V j+1 H j+1,j. interpolation

Nonlinear Rational Krylov Observation With a linear Lagrange interpolation between λ j and σ we get the linearized problem A(λ) = λ λ j A(σ) + λ σ σ λ j λ j σ A(λ j). If (θ, x) is such that A(σ) 1 A(λ j )x = θx then (λ j+1, x) is an eigenpair or the linearized problem, where λ j+1 = λ j + The closer θ to 0 the closer λ j+1 to λ j. θ 1 θ (λ j σ).

Nonlinear Rational Krylov Nonlinear Rational Krylov algorithm (Preliminary version) 1: Choose a starting vector v 1 2: for j = 1,..., till convergence do 3: Compute the Arnoldi sequence A(λ j )V j = A(σ)V j+1 H j+1,j 4: Compute the smallest eigenpairs (θ, s) of H j,j 5: λ j+1 = λ j + θ 1 θ (λ j σ) 6: H j+1,j = 1 1 θ H j+1,j 7: end for θ 1 θ I j+1,j It turns out that this algorithm does not work well.

Nonlinear Rational Krylov Nonlinear Rational Krylov algorithm (Preliminary version) 1: Choose a starting vector v 1 2: for j = 1,..., till convergence do 3: Compute the Arnoldi sequence A(λ j )V j = A(σ)V j+1 H j+1,j 4: Compute the smallest eigenpairs (θ, s) of H j,j 5: λ j+1 = λ j + θ 1 θ (λ j σ) 6: H j+1,j = 1 1 θ H j+1,j 7: end for θ 1 θ I j+1,j It turns out that this algorithm does not work well.

Nonlinear Rational Krylov Proposition It holds A(σ) 1 A(λ j+1 )V j V j H j,j = A(σ) 1 A(λ j+1 )V j s e H j. Observation In the linear case it holds A(σ) 1 A(λ j+1 )V j s = s j h j+1,j v j+1 that is, the residual is orthogonal to V m. This property does not hold in the nonlinear case. We can introduce INNER ITERATIONS to enforce it.

Nonlinear Rational Krylov Proposition It holds A(σ) 1 A(λ j+1 )V j V j H j,j = A(σ) 1 A(λ j+1 )V j s e H j. Observation In the linear case it holds A(σ) 1 A(λ j+1 )V j s = s j h j+1,j v j+1 that is, the residual is orthogonal to V m. This property does not hold in the nonlinear case. We can introduce INNER ITERATIONS to enforce it.

NLRK 1: Choose a starting vector v 1 with v 1 = 1, a starting shift λ 1 and a pole σ and set j = 1. 2: OUTER ITERATION 3: Set h j = 0; s = e j = (0,..., 0, 1) H R j ; x = v j ; 4: Compute r = A(σ) 1 A(λ)x and k j = Vj H r 5: while k J > ResTol do 6: INNER ITERATION 7: Orthogonalize r = r Vk j 8: Set h j = h j + s 1 j k j 9: Compute the smallest eigenpair (θ, s) of H j,j 10: x = V j s 11: Update λ = λ + θ (λ θ) 1 θ 12: Update H j,j = 1 1 θ H j,j θ 1 θ I 13: Compute r = A(σ) 1 A(λ)x and k j = Vj H 14: end while 15: Compute h j+1,j = r /s j 16: if h j+1,j s j > EigTol then 17: v j+1 = r/ r ; j = j + 1; GOTO 3 18: end if 19: Store (θ, x) as eigenpair 20: If more eigenvalues are requested, choose next θ and s, and GOTO 10 r

Numerical experimentation GUN problem This is a large-scale NLEP that models a radio frequency gun cavity and is of the form ( ) F (λ)x = K λm + i λ σ1 2W 1 + i λ σ2 2W 2 x = 0 Where M, K, W 1, W 2 R 9956 9956 are real symmetric, K is positive semidefinite, and M is positive definite. The domain of interest is Ω = {λ C such that λ µ γ and Im(λ) 0}. The parameters are set to σ 1 = 0, σ 2 = 108.8774, γ = 50000 and µ = 62500. Before solving the problem we applied shift and rescaling in order to transform Ω into the upper part of the unit circle.

Numerical experimentation: HIRK NLRK diverges HIRK succeeds to compute eigenvalues Eigenvalues of the gun problem are computed with 60 iterations. The same node is used 12 times. 150 100 Converged eigenvalues Shifts Border of the region of interest 50 0 100 150 200 250 300 350

Numerical experimentation Vibrating string with elastically attached mass Consider the system of a limp string of unit length, which is clamped at one end. The other end is free but has a mass m attached to it via an elastic spring of stiffness k. The eigenvibrations of the string are governed by the eigenvalue problem u (x) = λu(x) u(0) = 0 u λ (1) + k λ k/m u(1) = 0

Numerical experimentation Eigenvalues of the continuum problem With easy computations, we found that the eigenvalues are the solution of the equation tan( λ) = 1 λ mλ k Discrete problem Discretizing the problem by means of the finite element method using P1 elements we arrive at the nonlinear eigenproblem λ A λb + k λ k/m C = 0, 2 1 4 1 A = 1. 1..... h... 2 1, B = h. 1..... 6... 4 1, C = eneh n. 1 1 1 2

Numerical experimentation Eigenvalues of the continuum problem With easy computations, we found that the eigenvalues are the solution of the equation tan( λ) = 1 λ mλ k Discrete problem Discretizing the problem by means of the finite element method using P1 elements we arrive at the nonlinear eigenproblem λ A λb + k λ k/m C = 0, 2 1 4 1 A = 1. 1..... h... 2 1, B = h. 1..... 6... 4 1, C = eneh n. 1 1 1 2

Numerical experimentation: NLRK Task Compute the second smallest eigenvalue λ 2 Se set EigTol = 10 6 and ResTol = 10 6. For m = 1 and k = 0.01 we have λ 2 2.4874. N λ 2 λ 2 Outer iterations Average of inner iterations à 100 10 3 5 2 à 10000 10 5 6 2 à For m = 1 and k = 0.1 we have λ 2 2.6679. N λ 2 λ 2 Outer iterations Average of inner iterations à 100 10 2 5 3 à 10000 10 3 6 3 à For m = 1 and k = 1 NLRK diverges. HIRK succeeds to compute λ 2 but it is slow. On the other hand it works also for m = 1 and k = 1.

Numerical experimentation Fluid-solid structure interaction The study of free vibrations of a tube bundle immersed in a slightly compressible (under a few simplifications) leads to the following continuum eigenproblem. Find λ R and u H 1 (Ω 0 ) such that for every v H 1 (Ω 0 ) c Ω 2 u vdx = λ uvdx + λρ 0 unds vnds 0 Ω 0 k j λm j j=1 k Γ j Γ j All the constants in the above problem are set equal to 1. Discrete problem After discretization by means of finite elements we obtain A(λ)x = Ax + λbx + λ 1 λ Cx = 0 where C collects the contributions of all tubes. A, B, and C are symmetric matrices, A and C are positive semidefinite, and B is positive definite

Numerical experimentation Fluid-solid structure interaction The study of free vibrations of a tube bundle immersed in a slightly compressible (under a few simplifications) leads to the following continuum eigenproblem. Find λ R and u H 1 (Ω 0 ) such that for every v H 1 (Ω 0 ) c Ω 2 u vdx = λ uvdx + λρ 0 unds vnds 0 Ω 0 k j λm j j=1 k Γ j Γ j All the constants in the above problem are set equal to 1. Discrete problem After discretization by means of finite elements we obtain A(λ)x = Ax + λbx + λ 1 λ Cx = 0 where C collects the contributions of all tubes. A, B, and C are symmetric matrices, A and C are positive semidefinite, and B is positive definite

Numerical experimentation In our setting there are 9 tubes. We discretized the problem with FreeFem++ using P1 triangular elements. Example of discretization of domain with FreeFem++ 4 2 0 2 4 8 6 4 2 0 2 4 6 8

Convergence history of Ritz values computed with the discretization of FreeFem++ 10 10 Converged Ritz values 8 6 4 2 Converged Ritz values 8 6 4 2 0 0 10 20 30 0 0 10 20 30 iteration (a) n = 50, m = 10, N = 1636 10 iteration (b) n = 100, m = 10, N = 2156 10 Converged Ritz values 8 6 4 2 Converged Ritz values 8 6 4 2 0 0 10 20 30 0 0 10 20 30 iteration (c) n = 200, m = 10, N = 3277 iteration (d) n = 400, m = 10, N = 5604

Thank you for your attention.