# Factorization for reweighted least squares

I am solving a problem using an iteratively-reweighted least squares method: http://en.wikipedia.org/wiki/Iteratively_reweighted_least_squares

Essentially this requires solving a number of least-squares problems of the form $$D_i A\vec x\approx D_i\vec b,$$ where each $D_i$ is a different diagonal weighting matrix.

Is there any way to pre-factor $A$ or do other calculations to speed up iterations of this algorithm? Right now, I'm resolving the least-squares problem from scratch during each iteration.

• I assume the $D_{i}$ are strictly positive definite? – Geoff Oxberry Dec 13 '13 at 19:47
• Is $A$ rectangular with more rows than columns? – Wolfgang Bangerth Dec 13 '13 at 23:12
• Yes, the diagonal matrices are square and have positive numbers (not sure if this matters for least-squares). And we can assume $A$ is rectangular with more rows than columns (and that its columns are linearly independent). – Justin Solomon Dec 14 '13 at 20:27

Perhaps you can use an LQ factorization instead of the usual QR approach to solve the least squares problem. Say you already have $A = LQ$ where $L$ is lower-triangular and $Q$ is orthogonal. For some diagonal matrix $D$, we'll have that $DA = DLQ$, and the matrix $DL$ is still lower triangular; we didn't need to re-compute the factorization of $DA$.