1
$\begingroup$

According to a recommendation, this is a re-post of that.

currently, I'm working on a way to compute the 2 biggest eigenvalues of a real, symmetric, huge and sparse matrix that changes a few entries from time to time. The problem should be solved using an algorithm, that does not compute solutions from scratch every time a change occurs.

My literature: paper 1 paper 2

But first of all - the static case:

Using the Lanczos algorithm, the desired Eigenvalues can be approximated very well.

The dynamic case:

I read about the Lanczos algorithm with restart schemes and I picked the thick restart scheme as it seems most applicable. And I know that the term "restart" is not meant the way I'm using this method for. But I was hoping, that during restart the matrix is allowed to change and the approximate eigenvalues (and any other computations) before restart can still be used.

But as my experiments show, modification of the matrix has as good as no effect on the result so far. The eigenvalues being computed still converge to the ones of the original matrix - only with marginal difference compared to the static case.

I suppose the problem is the krylov subspace (being computed for the original matrix) does not really change if I just change the matrix. But I thought it would adjust itself, as only approximated eigenvalues are needed in order to restart and the approximate eigenvalues converge appropriately.

My question is: Do you think the method can be modified to meet my needs? Or do you think the whole "no computations from scratch" story is pointless and I should start the Lanczos algorithm all over again?

Thanks a lot!

$\endgroup$
1
$\begingroup$

"Restart" in this context does not mean that you reuse the Krylov space computed on a matrix $A$ for a nearby matrix $B$. It means that you start the method again, on the same matrix, with a different starting vector $b$ for the Krylov subspace.

I am not an expert in this area, but I would suggest you to search for "recycling Krylov subspaces" and "inexact Arnoldi methods" instead.

$\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.