Skip to main content
added 46 characters in body; edited tags
Source Link
Qmechanic
  • 226k
  • 52
  • 647
  • 2.6k

Last year, I took a course in Computational Physics, where I learnt methods to integrate and differentiate functions, diagonalize matrices, etc. More precisely, I recall we would diagonalize matrices with the QR methodQR method, which essentially consisted in performing transformations on the matrix of interest until it was in the desired diagonal form.

However, now that I think of it, I do not understand why we would simply not find the matrix's characteristic polynomial and find its roots, which is a simpler problem, considering matrix computations involve many more arithmetic steps than just calculating a determinant and then reducing the problem to that of finding the roots of some polynomial. What is more, the precission would also be easier to control, and demanding higher precision would only involve more iterations to find a root instead of more matrix products. Why is this not the standard procedure then? Or at least, why were we not taught to do it this way?

Last year, I took a course in Computational Physics, where I learnt methods to integrate and differentiate functions, diagonalize matrices, etc. More precisely, I recall we would diagonalize matrices with the QR method, which essentially consisted in performing transformations on the matrix of interest until it was in the desired diagonal form.

However, now that I think of it, I do not understand why we would simply not find the matrix's characteristic polynomial and find its roots, which is a simpler problem, considering matrix computations involve many more arithmetic steps than just calculating a determinant and then reducing the problem to that of finding the roots of some polynomial. What is more, the precission would also be easier to control, and demanding higher precision would only involve more iterations to find a root instead of more matrix products. Why is this not the standard procedure then? Or at least, why were we not taught to do it this way?

Last year, I took a course in Computational Physics, where I learnt methods to integrate and differentiate functions, diagonalize matrices, etc. More precisely, I recall we would diagonalize matrices with the QR method, which essentially consisted in performing transformations on the matrix of interest until it was in the desired diagonal form.

However, now that I think of it, I do not understand why we would simply not find the matrix's characteristic polynomial and find its roots, which is a simpler problem, considering matrix computations involve many more arithmetic steps than just calculating a determinant and then reducing the problem to that of finding the roots of some polynomial. What is more, the precission would also be easier to control, and demanding higher precision would only involve more iterations to find a root instead of more matrix products. Why is this not the standard procedure then? Or at least, why were we not taught to do it this way?

Source Link

Why use the QR factorization method to diagonalize a matrix? Considering better alternatives

Last year, I took a course in Computational Physics, where I learnt methods to integrate and differentiate functions, diagonalize matrices, etc. More precisely, I recall we would diagonalize matrices with the QR method, which essentially consisted in performing transformations on the matrix of interest until it was in the desired diagonal form.

However, now that I think of it, I do not understand why we would simply not find the matrix's characteristic polynomial and find its roots, which is a simpler problem, considering matrix computations involve many more arithmetic steps than just calculating a determinant and then reducing the problem to that of finding the roots of some polynomial. What is more, the precission would also be easier to control, and demanding higher precision would only involve more iterations to find a root instead of more matrix products. Why is this not the standard procedure then? Or at least, why were we not taught to do it this way?