slepc-3.21.1 2024-04-26
Report Typos and Errors


Computes an Arnoldi factorization associated with a matrix.


#include "slepcbv.h"   
PetscErrorCode BVMatArnoldi(BV V,Mat A,Mat H,PetscInt k,PetscInt *m,PetscReal *beta,PetscBool *breakdown)

Input Parameters

V  - basis vectors context
A  - the matrix
H  - (optional) the upper Hessenberg matrix
k  - number of locked columns
m  - dimension of the Arnoldi basis, may be modified

Output Parameters

beta  - (optional) norm of last vector before normalization
breakdown  - (optional) flag indicating that breakdown occurred


Computes an m-step Arnoldi factorization for matrix A. The first k columns are assumed to be locked and therefore they are not modified. On exit, the following relation is satisfied

                   A * V - V * H = beta*v_m * e_m^T

where the columns of V are the Arnoldi vectors (which are orthonormal), H is an upper Hessenberg matrix, e_m is the m-th vector of the canonical basis. On exit, beta contains the norm of V[m] before normalization.

The breakdown flag indicates that orthogonalization failed, see BVOrthonormalizeColumn(). In that case, on exit m contains the index of the column that failed.

The values of k and m are not restricted to the active columns of V.

To create an Arnoldi factorization from scratch, set k=0 and make sure the first column contains the normalized initial vector.

See Also

BVMatLanczos(), BVSetActiveColumns(), BVOrthonormalizeColumn()





Index of all BV routines
Table of Contents for all manual pages
Index of all manual pages