2
$\begingroup$

The LOBPCG algorithm finds eigenpairs of the generalized eigenproblem $$ Ax = \lambda B x $$ where $B$ is symmetric and positive-definite, $A$ is symmetric. One of the features that makes LOBPCG so interesting is the fact that one can use preconditioners of $A$ to speed up convergence.

When applying LOBPCG to the FEM-discretized Poisson problem (with $B=I$), and converging the smallest 6 eigenvalues, the convergence behavior I'm getting is

enter image description here

When using an ML preconditioner, convergence speed increases dramatically:

enter image description here

Now, let's try the same thing for the 6 largest eigenpairs.

Without preconditioner:

enter image description here

With ML preconditioner:

enter image description here

It seems that the preconditioner slows down the convergence! Is this something one would expect? I couldn't find anything in literature about it.

$\endgroup$
2
  • 2
    $\begingroup$ Framing question -- why do you want the largest eigenvalues? The smaller / mid-range eigenvalues of a FE / FD discretization of an elliptic operator are probably close to those of the true operator, but I'd expect that the largest ones aren't. $\endgroup$ Jan 23 at 19:09
  • 2
    $\begingroup$ @DanielShapero True. I just read in LOBPCG articles that the algorithm should be able to approximate both small and large eigenpairs, and I was wondering if perhaps there's something I'm doing wrong. Small-magnitude eigenvalue are indeed of greater interest though. $\endgroup$ Jan 23 at 20:18

1 Answer 1

4
$\begingroup$

I would not be surprised by this, my understanding is that LOPCG is specifically designed to seek small eigenpairs (at least, that's what I have used it for). I find it a novel algorithm, because it does this without invoking inverse iteration (ie it does not require a solution operator for A). If you instead want large eigenpairs (imo, an easier problem), I think you'd be better served using the Lanczos method, though in the generalized case you might still have to apply the "cholesky trick" in order to keep everything symmetric.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.