Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was looking at the QR factorization algorithm of a matrix to approach eigenvalues. At the Wikipedia page they state that it was developed in the 50's and took over the LR algorithm. They also state a few variants. However I couldn't find what the state of this algorithm is today.

Is it still efficient for today's standards? Is it used in modern mathematical software to compute eigenvalues? If not, are there any variants that are considered more efficient?

share|cite|improve this question
up vote 4 down vote accepted

I'm no expert, but I believe QR is alive and kicking. To expand on lalala's answer, last I checked, MATLAB's general-purpose eig() function invokes LAPACK's QR routines to do its work for general matrices. For matrices that have special structure, e.g. symmetric matrices, there are alternatives that may be better, but for arbitrary matrices, QR is still the standard as far as I know.

As a side note, I wouldn't let the fact that the QR algorithm was developed in the 1950s put you off. In fact, there are lots of algorithms that were developed in that era that were shelved at the time because the computers back then were not fast enough to make them practical. This is especially true for a lot of iterative methods. For instance, the conjugate gradient algorithm was discovered around that time and set aside for years only to become utterly ubiquitous in modern-day scientific computing!

share|cite|improve this answer
Thanks for the answer.. The additional information is very interesting too. – geo909 Nov 24 '12 at 18:52

Yes, it is implemented in modern mathematical software. Take MATLAB for example.

share|cite|improve this answer
I'm sure it is implemented in matlab and other mathematical software if you call it explicitly but the point of my question wasn't exactly that.. Is it efficient for today's standards? Would it be used by software like matlab by default or is it considered kind of obsolete? – geo909 Nov 23 '12 at 4:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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