0

My goal is to find the spectral radius of sparse matrix. What i have implemented is Power Iteration method which gives the right answers in some cases. But I know that there's a better option for solving this case - Chebyshev Iteration.

I have found some usefull theory on it in this article (slides 3-6) but now I'm struggling with implementing it.

chebyshev iteration

It's said that for a given matrix A and an initially approximated maximal eignevalue lambda_1 it gives the vector z_n converging to the eigenvector of A associated with lambda_1 as n tends to infinity.

And then there is an ellipse E(d, c, a) with center d, foci d+c, d-c, major semiaxis a and containing the set of other eignevalues except the first one (lambda_1).

And when it comes to implementation it really confuses confuses me as I dont definitley know how am I supposed to guess and define the eigenvalues that i 'don't need' with this ellipse.

In the Power iteration algorithm there were just the matrix and initial guess of largest eigenvalue provided on input. And the largest eigenvalue on output. And in Chebyshev's iteration I'm not sure what i should know and pass to algorithm and what to expect on output. And I'm also not sure if it 'recalculates' my initial eigenvalue (let's assume, it is) or just calculates the eigenvector.

Maybe you know any other, better explanations of this algorithm or maybe even pseudocode-like as I'm really struggling to find detailed description of it. I also haven't found any examples of it. Maybe you know some hints of it's implementation?

P.S. I posted it here and not on math.stackexchange since I'm more interested in it's implementation rather that deep theory behind it.

Thanks in advance!

Random Guy
  • 1,095
  • 16
  • 29
  • In case this does wind up being marked off topic here, you could also try [scicomp.se]. – David Z Jan 21 '17 at 20:05
  • What language? If you can use a library, everyone (Numpy, Matlab, etc.) uses ARPACK, which implements the Arnoldi iteration, which is generally thought to be state-of-the-art for iteratively finding one (or a few) eigenvalues/vectors. – Ahmed Fasih Jan 22 '17 at 00:10
  • @AhmedFasih Language doesn't matter. But I did't find this particular algorithm in any library. – Random Guy Jan 22 '17 at 00:49
  • This paper by Saad, from 1984, describes a tweak (specifically, the Chebyshev relaxation) intended to be used within the Arnoldi iteration. The ARPACK literature ([1](http://people.sc.fsu.edu/~jburkardt/m_src/arpack/arpack.html), [2](https://www.mathworks.com/help/matlab/ref/eigs.html#References)) doesn’t seem to cite Saad but does cite later papers. I’d like to believe that ARPACK would use the latest/best methods, so unless this were purely a learning exercise, I’d still go with ARPACK or a wrapper. – Ahmed Fasih Jan 22 '17 at 01:25
  • @AhmedFasih Unfortunately I'm looking for one exact algorithm so ***PACK libraries don't fit to me – Random Guy Jan 22 '17 at 01:46

0 Answers0