Arnoldi Iteration

ExponentialUtilities.arnoldiFunction
arnoldi(A,b[;m,tol,opnorm,iop]) -> Ks

Performs m anoldi iterations to obtain the Krylov subspace K_m(A,b).

The n x (m + 1) basis vectors getV(Ks) and the (m + 1) x m upper Hessenberg matrix getH(Ks) are related by the recurrence formula

v_1=b,\quad Av_j = \sum_{i=1}^{j+1}h_{ij}v_i\quad(j = 1,2,\ldots,m)

iop determines the length of the incomplete orthogonalization procedure [1]. The default value of 0 indicates full Arnoldi. For symmetric/Hermitian A, iop will be ignored and the Lanczos algorithm will be used instead.

Refer to KrylovSubspace for more information regarding the output.

Happy-breakdown occurs whenver norm(v_j) < tol * opnorm, in this case the dimension of Ks is smaller than m.

advection-diffusion operator using the incomplete orthogonalization method. In Numerical Mathematics and Advanced Applications-ENUMATH 2013 (pp. 345-353). Springer, Cham.

ExponentialUtilities.lanczos!Function
lanczos!(Ks,A,b[;tol,m,opnorm]) -> Ks

A variation of arnoldi! that uses the Lanczos algorithm for Hermitian matrices.

API

ExponentialUtilities.KrylovSubspaceType
KrylovSubspace{T}(n,[maxiter=30]) -> Ks

Constructs an uninitialized Krylov subspace, which can be filled by arnoldi!.

The dimension of the subspace, Ks.m, can be dynamically altered but should be smaller than maxiter, the maximum allowed arnoldi iterations.

getV(Ks) -> V
getH(Ks) -> H

Access methods for the (extended) orthonormal basis V and the (extended) Gram-Schmidt coefficients H. Both methods return a view into the storage arrays and has the correct dimensions as indicated by Ks.m.

resize!(Ks, maxiter) -> Ks

Resize Ks to a different maxiter, destroying its contents.

This is an expensive operation and should be used scarcely.

Missing docstring.

Missing docstring for firststep!. Check Documenter's build log for details.

Missing docstring.

Missing docstring for arnoldi_step!. Check Documenter's build log for details.

Missing docstring.

Missing docstring for lanczos_step!. Check Documenter's build log for details.

Missing docstring.

Missing docstring for coeff. Check Documenter's build log for details.

  • 1Koskela, A. (2015). Approximating the matrix exponential of an