|
Stokhos Development
|
Applies Lanczos procedure to a given matrix. More...
#include <Stokhos_Lanczos.hpp>
Static Public Member Functions | |
| static void | compute (ordinal_type k, const vectorspace_type &vs, const operator_type &A, const vector_type &u_init, matrix_type &u, Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &nrm_sqrd) |
| Compute Lanczos basis. | |
| static void | computeNormalized (ordinal_type k, const vectorspace_type &vs, const operator_type &A, const vector_type &u_init, matrix_type &u, Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &nrm_sqrd) |
| Compute Lanczos basis. | |
| static void | gramSchmidt (ordinal_type k, const vectorspace_type &vs, matrix_type &u, vector_type &u2) |
| Gram-Schmidt orthogonalization routine. | |
Applies Lanczos procedure to a given matrix.
Given a matrix 


![\[
\mathcal{K}(A, u_0, k) = \{ u_0, A u_0, A^2 u_0, \dots, A^k u_0 \}.
\]](form_120.png)
The basis vectors are given by
![\[
u_{i+1} = Au_i - \alpha_i u_i - \beta_i u_{i-1}, \;\; i=0,\dots,k
\]](form_121.png)
where $u_{-1} = 0$ and
![\[
alpha_i = \frac{u_i^T W (Au_i)}{u_i^T W u_i}, \;\;
beta_i = \frac{u_i^T W u_i}{u_{i-1}^T W u_{i-1}}.
\]](form_122.png)
Here 