6

I have a generalized eigenvalue problem $$Mx = \lambda Bx$$ with the additional constraint that $Cx=0$, where $M$ and $B$ are positive-definite and $C$ is a sparse and rectangular.

Is there a simple way of solving for the generalized spectrum $(\lambda,x)$? Conceptually, if I had a way of computing a basis for the nullspace $N$ of $C$, I could simply solve instead the unconstrained generalized eigenvalue problem $$N^TMNy = \lambda N^TBNy$$ for which I have code. However, since $C$ is sparse, computing this $N$ (using, e.g., a SVD) is expensive and I would like to avoid it if a different, more efficient reformulation of the problem is possible.

user7530
  • 49,280
  • 5
    You can try to solve an augmented problem $$\begin{bmatrix}M&C^T \ C&0\end{bmatrix}\begin{bmatrix}x \ y\end{bmatrix}=\lambda\begin{bmatrix}B&0 \ 0&0\end{bmatrix}\begin{bmatrix}x \ y\end{bmatrix}$$ if your code can handle a singular matrix on the "right-hand side". – Algebraic Pavel Nov 27 '13 at 10:50
  • @AlgebraicPavel Good thought, I'll look into that. – user7530 Nov 29 '13 at 17:34
  • 1
    @AlgebraicPavel What if the right-hand side of the constrain is non-zero. Say, $Cx = b$. – Alec Jacobson Oct 16 '14 at 18:47
  • @user7530, There are sparse QR methods that are efficient and store the factors efficiently (for example in matlab). – Alec Jacobson Oct 16 '14 at 18:48

1 Answers1

0

If $Cx=b$ with $b \neq 0$ you can make a change of variable $u=x-x'$ where $x'$ satisfies $Cx'=b$. Then the constraint in the new variable $u$ becomes $Cu=0$. Then the augmented problem becomes $\begin{bmatrix}M&C^T \\ C&0\end{bmatrix}\begin{bmatrix}u \\ z\end{bmatrix}=\lambda\begin{bmatrix}B&0 \\ 0&0\end{bmatrix}\begin{bmatrix}u \\ z\end{bmatrix}$. Theta is essentially the same problem. The eigenvalues do not change, and the eigenvectors are the same but must be interpreted as relative to $x'$.