Papers
Topics
Authors
Recent
Search
2000 character limit reached

Compact Householder-type Bidiagonal Updates

Updated 18 February 2026
  • Compact Householder-type bidiagonal updates are efficient algorithms that update matrix bidiagonal factorizations under low-rank modifications while preserving sparsity.
  • They employ Householder reflectors and the compact WY representation to restore bidiagonality and maintain numerical stability in streaming data applications.
  • This method significantly reduces memory usage and computational cost compared to full SVD recomputation, making it ideal for high-throughput scenarios.

A compact Householder-type bidiagonal update is an algorithmic technique for updating the bidiagonal factorization of a matrix under low-rank modifications, with particular emphasis on streaming data and high-throughput matrix applications. Such updates provide a memory-efficient and numerically stable alternative to full singular value decomposition (SVD) recomputation, decoupling a sparse component from the low-rank update and enabling efficient maintenance of bidiagonal structure even under frequent modifications (Brust et al., 2 Sep 2025).

1. Mathematical Formulation

Let ARm×nA \in \mathbb{R}^{m\times n} be a matrix at step kk of a data stream with a known bidiagonal factorization:

A=QBPA = Q B P

where QRm×mQ \in \mathbb{R}^{m \times m} and PRn×nP \in \mathbb{R}^{n \times n} are orthogonal, and B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n} is upper bidiagonal, t=min(m,n)t=\min(m,n).

Given a low-rank update A^=A+BCÂ = A + B C with BRm×rB \in \mathbb{R}^{m \times r}, CRn×rC \in \mathbb{R}^{n \times r} (rank-kk0), one transforms the update into the framework of the existing factors:

kk1

with kk2 and kk3.

In the rank-1 case (kk4), kk5 and the inner update to be bidiagonalized is kk6, with kk7, kk8.

To restore bidiagonality, Householder reflectors kk9 (left) and A=QBPA = Q B P0 (right) are constructed to zero out subdiagonal and superdiagonal elements as required. Each reflector takes the form A=QBPA = Q B P1 with scalar A=QBPA = Q B P2 and appropriate support. The compact WY representation accumulates these reflectors: for the left, A=QBPA = Q B P3, A=QBPA = Q B P4 with entries A=QBPA = Q B P5 for A=QBPA = Q B P6, A=QBPA = Q B P7 for A=QBPA = Q B P8 and A=QBPA = Q B P9 otherwise; QRm×mQ \in \mathbb{R}^{m \times m}0.

Similarly, right reflectors QRm×mQ \in \mathbb{R}^{m \times m}1, QRm×mQ \in \mathbb{R}^{m \times m}2: QRm×mQ \in \mathbb{R}^{m \times m}3.

Applying QRm×mQ \in \mathbb{R}^{m \times m}4 pairs of reflectors to QRm×mQ \in \mathbb{R}^{m \times m}5 yields the key factorization:

QRm×mQ \in \mathbb{R}^{m \times m}6

with QRm×mQ \in \mathbb{R}^{m \times m}7 structured so that the corrections are rank-QRm×mQ \in \mathbb{R}^{m \times m}8. Because QRm×mQ \in \mathbb{R}^{m \times m}9 is bidiagonal and the update is low-rank, fill-in is limited, maintaining sparsity of the factors.

2. Algorithmic Procedure

The compact Householder-type bidiagonal update algorithm (denoted in (Brust et al., 2 Sep 2025) as BHU) proceeds as follows for the rank-1 case:

  1. Initialization: Start with PRn×nP \in \mathbb{R}^{n \times n}0, PRn×nP \in \mathbb{R}^{n \times n}1, PRn×nP \in \mathbb{R}^{n \times n}2, and PRn×nP \in \mathbb{R}^{n \times n}3, PRn×nP \in \mathbb{R}^{n \times n}4 implicit via PRn×nP \in \mathbb{R}^{n \times n}5, PRn×nP \in \mathbb{R}^{n \times n}6.
  2. Transform Update Vectors: Set PRn×nP \in \mathbb{R}^{n \times n}7 (initially just PRn×nP \in \mathbb{R}^{n \times n}8), PRn×nP \in \mathbb{R}^{n \times n}9.
  3. Iterative Bidiagonalization: For B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}0 to B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}1:
    • Compute the B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}2th transformed column B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}3.
    • Form Householder B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}4 to annihilate B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}5, append to B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}6.
    • Update left-block B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}7.
    • Compute transformed row and corresponding Householder B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}8, append to B=bidiag(α1,,αt;β1,,βt1)Rm×nB = \operatorname{bidiag}(\alpha_1,\ldots,\alpha_t; \beta_1,\ldots,\beta_{t-1}) \in \mathbb{R}^{m \times n}9.
    • Grow t=min(m,n)t=\min(m,n)0 per the structured formula.
  4. Extraction: After t=min(m,n)t=\min(m,n)1, the updated bidiagonal t=min(m,n)t=\min(m,n)2 is the upper bidiagonal part of t=min(m,n)t=\min(m,n)3. Updated t=min(m,n)t=\min(m,n)4 and t=min(m,n)t=\min(m,n)5 can be stored implicitly via the compact reflectors.

This procedure circumvents dense intermediate matrices and internalizes the update in the Householder compact form. Each step updates the implicit t=min(m,n)t=\min(m,n)6 and t=min(m,n)t=\min(m,n)7 factors without materializing giant orthogonal arrays.

3. Complexity and Memory Analysis

Let t=min(m,n)t=\min(m,n)8. Each iteration involves:

  • Forming the active column: t=min(m,n)t=\min(m,n)9 flops.
  • Triangular solves with A^=A+BCÂ = A + B C0: A^=A+BCÂ = A + B C1.
  • Householder operations: A^=A+BCÂ = A + B C2.

Summing over A^=A+BCÂ = A + B C3 to A^=A+BCÂ = A + B C4 yields a global computational cost of

A^=A+BCÂ = A + B C5

This complexity is about A^=A+BCÂ = A + B C6 higher than standard dense Householder bidiagonalization (as in LAPACK’s dgebrd), which costs A^=A+BCÂ = A + B C7.

Memory usage: A^=A+BCÂ = A + B C8, A^=A+BCÂ = A + B C9, vectors BRm×rB \in \mathbb{R}^{m \times r}0, BRm×rB \in \mathbb{R}^{m \times r}1, and triangular factors BRm×rB \in \mathbb{R}^{m \times r}2, BRm×rB \in \mathbb{R}^{m \times r}3 packed into BRm×rB \in \mathbb{R}^{m \times r}4, BRm×rB \in \mathbb{R}^{m \times r}5. The total storage is approximately BRm×rB \in \mathbb{R}^{m \times r}6 words. This is about half of the extra storage required by blocked bidiagonalization and significantly less than that required by forming dense intermediate matrices in standard SVD updating approaches, such as Brand (2006).

4. Numerical Stability and Accuracy

Each Householder reflector is normwise backward-stable. The compact WY representation preserves orthogonality to working precision:

BRm×rB \in \mathbb{R}^{m \times r}7

where BRm×rB \in \mathbb{R}^{m \times r}8 is machine epsilon. The error in the reconstructed matrix after update satisfies:

BRm×rB \in \mathbb{R}^{m \times r}9

The truncation error is governed by the Eckart–Young theorem adapted for bidiagonal matrices:

CRn×rC \in \mathbb{R}^{n \times r}0

where CRn×rC \in \mathbb{R}^{n \times r}1, CRn×rC \in \mathbb{R}^{n \times r}2 are the diagonal and subdiagonal elements of the updated CRn×rC \in \mathbb{R}^{n \times r}3.

Occasional re-orthogonalization of CRn×rC \in \mathbb{R}^{n \times r}4, CRn×rC \in \mathbb{R}^{n \times r}5 may be warranted for accumulated backward error. The cost of re-orthogonalization is CRn×rC \in \mathbb{R}^{n \times r}6.

5. Illustrative Example

For CRn×rC \in \mathbb{R}^{n \times r}7, let CRn×rC \in \mathbb{R}^{n \times r}8 be initially

CRn×rC \in \mathbb{R}^{n \times r}9

and vectors kk00, kk01. Stepwise:

  1. First Householder (kk02):

kk03

Choose kk04 to zero kk05: kk06, kk07.

  1. First right Householder: Compute row kk08; eliminate further entries via kk09.

Continuing for kk10 yields the full bidiagonalization with updated kk11, kk12 in kk13. For the concrete choice kk14, kk15, kk16, the update kk17 increases kk18 only: kk19 is unchanged except kk20.

6. Practical Context and Comparative Perspective

The compact Householder-type bidiagonal update as outlined in (Brust et al., 2 Sep 2025) is specifically effective for high-throughput scenarios such as recommendation systems and network analysis where rapid, low-memory, and accurate subspace tracking is critical. The approach is contrasted to LAPACK’s dense algorithms and incremental SVD updates, offering qualitatively similar accuracy with reduced intermediate memory requirements. A primary distinction is that the compact Householder approach trades some additional floating-point operations for dramatically reduced workspace, which is often the limiting resource in large-scale data settings.

Theoretical and empirical analysis establishes parity to SVD-based accuracy in practice, with the added benefit of explicit control of orthogonality, stable backward error, and efficient updating without dense matrix intermediates.

7. References

  • J. J. Brust & M. A. Saunders, “Fast and Accurate SVD-Type Updating in Streaming Data,” SIAM J. Math. Data Sci., 2025 (Brust et al., 2 Sep 2025).
Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Compact Householder-type Bidiagonal Updates.