English

A geometric note on subspace updates and orthogonal matrix decompositions under rank-one modifications

Numerical Analysis 2019-03-06 v4

Abstract

In this work, we consider rank-one adaptations Xnew=X+abTX_{new} = X+ab^T of a given matrix XRn×pX\in \mathbb{R}^{n\times p} with known matrix factorization X=UWX = UW, where URn×pU\in\mathbb{R}^{n\times p} is column-orthogonal, i.e. UTU=IU^TU=I. Arguably the most important methods that produce such factorizations are the singular value decomposition (SVD), where X=UW=UΣVTX=UW=U\Sigma V^T, and the QR-decomposition, where X=UW=QRX = UW = QR. An elementary approach to produce a column-orthogonal matrix UnewU_{new}, whose columns span the same subspace as the columns of the rank-one modified Xnew=X+abTX_{new} = X +ab^T is via applying a suitable coordinate change such that in the new coordinates, the update affects a single column and subsequently performing a Gram-Schmidt step for reorthogonalization. This may be interpreted as a rank-one adaptation of the UU-factor in the SVD or a rank-one adaptation of the QQ-factor in the QR-decomposition, respectively, and leads to a decomposition for the adapted matrix Xnew=UnewWnewX_{new} = U_{new}W_{new}. By using a geometric approach, we show that this operation is equivalent to traveling from the subspace S=ran(X)\mathcal{S}= \text{ran}(X) to the subspace Snew=ran(Xnew)\mathcal{S}_{new} =\text{ran}(X_{new}) on a geodesic line on the Grassmann manifold and we derive a closed-form expression for this geodesic. In addition, this allows us to determine the subspace distance between the subspaces S\mathcal{S} and Snew\mathcal{S}_{new} without additional computational effort. Both UnewU_{new} and WnewW_{new} are obtained via elementary rank-one matrix updates in O(np)\mathcal{O}(np) time for npn\gg p.

Keywords

Cite

@article{arxiv.1711.08235,
  title  = {A geometric note on subspace updates and orthogonal matrix decompositions under rank-one modifications},
  author = {Ralf Zimmermann},
  journal= {arXiv preprint arXiv:1711.08235},
  year   = {2019}
}

Comments

15 pages, 1 figure, MATLAB code