User:Owitzia/sandbox

TraceMIN is an algorithm for finding a few eigenpairs of a large sparse generalized eigenvalue problem.

Overview
The focus problem is given by

where $A$ and $B$ are $n × n$ large, sparse, and symmetric, with $B$ being positive definite. The objective is to obtain $p$ eigenvalues and their associated eigenvectors.

TraceMIN is based on the following theorem, which transforms equation ($$) into a constrained minimization problem.

Let $A$ and $B$ be symmetric $n × n$ matrices with $B$ positive definite, and $Y^{*}$ the set of all $n × p$ matrices $Y$ for which $Y ^{T} BY =  I _{p}$. Then

where $λ_{1} ≤ λ_{2} ≤ … ≤ λ_{p} < λ_{p+1} ≤ … ≤ λ_{n}$ are the eigenvalues of the generalized eigenvalue problem ($$).

To solve this minimization problem, TraceMIN computes a series of sections as defined below.

An $n × p$ matrix $Y$ forms a section of the eigenvalue problem ($$) if $Y ^{T} AY = Σ$ and $Y ^{T} BY = I _{p}$, where $Σ$ is diagonal.

Each block of vectors $Y$ can be considered as approximations of the eigenvectors corresponding to the smallest eigenvalues. At each TraceMIN iteration, we wish to construct $Y_{k+1}$ from $Y_{k}$ such that $tr( Y_{k+1} ^{T} AY_{k+1} )$. Consequently, $Y_{k+1}$ is a better approximation of the eigenvectors than $Y_{k}$. The iterate $Y_{k}$ is corrected using the $n × p$ matrix $Δ_{k}$, which is the solution of the following constrained optimization problem.

This leads, in turn, to solving the following saddle point problem for $Δ_{k}$

Algorithm

 * for $V_{k} ← random$ do
 * Compute a new section $k = 1 → maxit$ from $Y_{k}$
 * B-orthonormalize $V_{k}$
 * Form $V_{k}$
 * Compute all eigenpairs of $H_{k} ← V_{k} ^{T} AV_{k}$ such that $H_{k}$
 * Compute the Ritz vectors $H_{k}X_{k} = X_{k}θ_{k}$
 * Compute the residual vectors $Y_{k} ← V_{k}Y_{k}$
 * Test for convergence
 * Solve the saddle point problem ($$) approximately to obtain $R_{k} ← AY_{k} - BY_{k}θ_{k}$
 * Solve $V_{k+1} ← Y_{k} - Δ_{k}$
 * Solve $A Z_{k} = B Y_{k}$
 * Compute $[ Y_{k} ^{T} B Z_{k} ] L_{k} = I_{p}$
 * end for
 * end for

Advantages of TraceMIN
Many methods for finding eigenvalues require very accurate solutions of linear systems involving $V_{k+1} ← - Z_{k}L_{k}$. This is both time consuming and potentially impractical for very large matrices due to fill-in. TraceMIN requires very little accuracy in the solution of these systems, so cheap iterative methods may be used in place of expensive factorizations. TraceMIN is also very good at obtaining the correct multiplicity of each eigenvalue, which many methods struggle with.