The effects of adding and removing rows from the A matrix in a QR decomposition can be computed much faster than simply recomputing the whole decomposition. There are many real world situations where this is useful. For example, when computing a rolling solution to the most recent N measurements.
Definitions: A ∈ ℜ m × n, m ≥ n, rank(A) = n and that A = QR, where Q ∈ ℜ m × m is orthogonal, and R ∈ ℜ m × n is upper triangular.
** IMPORTANT USAGE NOTE ** If auto grow is set to true then the internal data structures will grow automatically to accommodate the matrices passed in. When adding elements to the decomposition the matrices must have enough data elements to grow before hand.
For more information see David S. Watkins, "Fundamentals of Matrix Computations" 2nd edition, pages 249-259. It is also possible to add and remove columns efficiently, but this is less common and is not supported at this time.
@author Peter Abeles
|
|