I need to solve many least squares problems with the following matrices: $$ \pmatrix{ R \\ D_i } $$ where $R$ is upper triangular and $D_i$ is diagonal. $R$ is the same for all the problems, while $D_i$ changes for each problem. Is there some way to factor $R$ to make it efficient to solve these problems?
A Givens approach doesn't seem to work, since it will introduce many non-zero entries into the $D_i$ part of the matrix.
Right now I am doing a full QR factorization of each matrix, which doesn't account for the sparse structure of the problem and is inefficient.