Rayleigh–Ritz method: Difference between revisions

Content deleted Content added
Example: arithmetic mistakes hopefully corrected corrected
Line 56:
An alternative approach, e.g., defining the normal matrix as <math> A = M^* M \in \mathbb{C}^{N \times N}</math> of size <math>N</math>-by-<math>N</math>, takes advantage of the fact that for a given <math>N</math>-by-<math>m</math> matrix <math> W \in \mathbb{C}^{N \times m} </math> with [[orthonormal]] columns the eigenvalue problem of the Rayleigh–Ritz method for the <math>m</math>-by-<math>m</math> matrix
:<math> W^* A W = W^* M^* M W = (M W)^* M W</math>
can be interpreted as a singular value problem for the <math>N</math>-by-<math>m</math> matrix <math>M W</math>. This interpretation allows simple simultaneous calculation of both left and right approximate singular vectors as follows.
 
# Compute the <math> N \times m </math> matrix <math> M W </math>.
# Compute the [[Singular_value_decomposition#Thin_SVD|thin, or economy-sized, SVD]] <math> M W = \mathbf {U}{{\Sigma }}\mathbf {V}_h,</math> with <math>N</math>-by-<math>m</math> matrix <math>\mathbf {U}</math>, <math>m</math>-by-<math>m</math> diagonal matrix <math>{\Sigma}</math>, and <math>m</math>-by-<math>m</math> matrix <math>\mathbf {V}_h</math>.
# Compute the matrices of the Ritz left <math>U = \mathbf {U}</math> and right <math>V_h = \mathbf {V}_h W^*</math> singular vectors.
# Output approximations <math>U, \Sigma, V_h</math>, called the Ritz singular triplets, to selected singular values and the corresponding left and right singular vectors of the original matrix <math>M</math> representing an approximate [[Singular_value_decomposition#Truncated_SVD | Truncated singular value decomposition (SVD)]] with left singular vectors restricted to the column-space of the matrix <math>W</math>.
 
 
The algorithm can be used as a post-processing step where the matrix <math>W</math> is an output of an eigenvalue solver, e.g., such as [[LOBPCG]], approximating numerically selected eigenvectors of the normal matrix <math> A = M^* M</math>.
 
==== Example ====