Jump to content

Talk:Jacobi eigenvalue algorithm

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 24.58.232.122 (talk) at 19:03, 9 June 2012 (Quality: making gamma render properly). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconMathematics Start‑class Mid‑priority
WikiProject iconThis article is within the scope of WikiProject Mathematics, a collaborative effort to improve the coverage of mathematics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StartThis article has been rated as Start-class on Wikipedia's content assessment scale.
MidThis article has been rated as Mid-priority on the project's priority scale.

Bug!

Hi all! I've just tried to use the algorithm, but there's a BUG! The maxind method is totaly wrong. A correct one would be:
int maxind(int k)
{
int m = 1;
for (int i = 2; i <= n; i++)
if(abs(S[k][i]) > abs(S[k][m])) m = i;
return m;
}
I hope there are no more errors...

Fixed

Pivoting strategy?

As far as I know, the Jacobi rotations are not only applied to rows, but also to columns. This means that two entries in each row are changed, and if this happens to eliminate the original maximal elements, we would have to search the entire rows for the next maximal elements. In short: I doubt that the given algorithm always finds the true maximal elements.
The only solution I can think of at the moment would be to put all elements into a heap structure and update the heap property after each elimination step. This would like to a complexity in per step. —Preceding unsigned comment added by Sboerm (talkcontribs) 20:51, 15 May 2011 (UTC)[reply]

Quality

I touched this article some time back, but I did not write it and do not vouch for it. When I discovered it, the article was a complete disaster; I fiddled with the formatting alone, which is not enough. Frankly, it might be better to delete it and start over. (Mea culpa; if I had left it ugly that might have happened already!) --KSmrqT 13:43, 15 June 2007 (UTC)[reply]

Could someone say (or even better, add to the article), what function is in the 'Convergence' section? It's not clear from context, a function that I haven't seen used and hard to search for.

This article should be linked to the "Jacobi Rotation" article.

192.249.47.195 (talk) 14:59, 1 October 2009 (UTC)[reply]

Incorrect calculation of theta

I'm not at all famailiar with this algorithm, but there appears to be an error in the derivation of theta for a particular i & j.

Given that 0 = cos(2θ)Aij + 0.5sin(2θ)(Aii-Ajj),

tan(2θ) = 2Aij/(Aii - Ajj) is wrong. It should be: tan(2θ) = -2Aij/(Aii - Ajj) or, tan(2θ) = 2Aij/(Ajj - Aii)

I'd like some input before editing the article, however. Snrrub (talk) 08:24, 6 July 2009 (UTC)[reply]

I don't really know a lot about it either, though you seem to be correct. Looking at Gentle's books (such as this one, but he uses exactly the same material in other books), which is the same as the current version of the article. However he also makes other mistakes (claiming that only the 4 elements change), so perhaps we should find a better reference. —3mta3 (talk) 09:22, 6 July 2009 (UTC)[reply]
One of the links in the article[1] gives the same form as you, so we might as well change it.—3mta3 (talk) 09:25, 6 July 2009 (UTC)[reply]
I think it depends on which convention you use for Givens rotations. The article on Givens rotations (which is linked to by this article) has the -s in the upper triangular part, and after some calculations, it seems that in that case, the old version was correct. The article you linked indeed has -s in the lower triangular part, in which case the current version is correct. I definitely think that if we keep the current convention, we should at least mention that we use a different one from the one in the Givens rotation article.81.71.59.155 (talk) 12:39, 25 September 2011 (UTC)[reply]