I have to compute the QR decomposition of a matrix A repeatedly, each time with ONLY diagonal elements changing. Is there an efficient way to accomplish this without repeatedly computing the full decomposition?
The issue here is that this whole process needs to be calculated repeatedly for a couple of thousand of times with size of A to be of the order of 512x512. Every time, A changes only in its diagonal elements.
The Numerical Recipes (by Press et al.) provides a way to do it if A changes as follows
A -> A + s x t
where s and t are vectors of dimension n with A as the n x n matrix. However, in my case the change in the matrix is
A -> A + P
where P is a diagonal matrix.
Madhurjya