#include "slepcbv.h" PetscErrorCode BVMatArnoldi(BV V,Mat A,Mat H,PetscInt k,PetscInt *m,PetscReal *beta,PetscBool *breakdown)Collective
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 |
beta | - (optional) norm of last vector before normalization | |
breakdown | - (optional) flag indicating that breakdown occurred |
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.