---
title: Compact Householder-type Bidiagonal Updates
url: https://www.emergentmind.com/topics/compact-householder-type-bidiagonal-updates
type: topic
---

# Compact Householder-type Bidiagonal Updates

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 [2509.02840].

## 1. Mathematical Formulation

Let $A \in \mathbb{R}^{m\times n}$ be a matrix at step $k$ of a data stream with a known bidiagonal factorization:
$$ A = Q B P $$
where $Q \in \mathbb{R}^{m \times m}$ and $P \in \mathbb{R}^{n \times n}$ are orthogonal, and $B = \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)$. 

Given a low-rank update $Â = A + B C$ with $B \in \mathbb{R}^{m \times r}$, $C \in \mathbb{R}^{n \times r}$ (rank-$r$), one transforms the update into the framework of the existing factors:
$$
Â = Q (B + Q^T B C P^T) P = Q (B + \hat b \hat c^T) P
$$
with $\hat b = Q^T B \in \mathbb{R}^{m \times r}$ and $\hat c^T = C P^T \in \mathbb{R}^{r \times n}$.

In the rank-1 case ($r=1$), $Â = A + b c^T$ and the inner update to be bidiagonalized is $M = B + \hat b \hat c^T$, with $\hat b = Q^T b$, $\hat c^T = c^T P$.

To restore bidiagonality, Householder reflectors $H_{l,i}$ (left) and $H_{r,i}$ (right) are constructed to zero out subdiagonal and superdiagonal elements as required. Each reflector takes the form $H = I - \tau y y^T$ with scalar $\tau = 2/\|y\|^2$ and appropriate support. The compact WY representation accumulates these reflectors: for the left, $Y_k = [y_1\ldots y_k] \in \mathbb{R}^{m \times k}$, $T_k \in \mathbb{R}^{k \times k}$ with entries $(T_k)_{ij} = 2 y_i^T y_j$ for $i<j$, $1$ for $i=j,$ and $0$ otherwise; $Q_k = \prod_{i=1}^{k} H_{l,i} = I - 2 Y_k T_k^{-1} Y_k^T$.

Similarly, right reflectors $W_k$, $R_k$: $P_k = \prod_{i=2}^{k+1} H_{r,i} = I - 2 W_k R_k^{-1} W_k^T$.

Applying $k$ pairs of reflectors to $M$ yields the key factorization:
$$
Q_k M P_k = B - [\hat b\, |\, Y_k\, |\, B W_k]\, M_k^{-1} \begin{bmatrix} \hat c^T \\ Y_k^T B \\ W_k^T \end{bmatrix}
$$
with $M_k \in \mathbb{R}^{(1+2k)\times(1+2k)}$ structured so that the corrections are rank-$(2k+1)$. Because $B$ 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 [2509.02840] as BHU) proceeds as follows for the rank-1 case:

1. **Initialization**: Start with $B$, $b$, $c$, and $Q$, $P$ implicit via $Y_0=[]$, $W_0=[]$.
2. **Transform Update Vectors**: Set $\hat b = Q^T b$ (initially just $b$), $\hat c^T = c^T P$.
3. **Iterative Bidiagonalization**: For $k=1$ to $t-1$:
   - Compute the $k$th transformed column $a = (B - U_{k-1} M_{k-1}^{-1} V_{k-1}^T) e_k$.
   - Form Householder $y_k$ to annihilate $a_{k+1:m}$, append to $Y_k$.
   - Update left-block $U_k = [\hat b\, |\, Y_k\, |\, B W_{k-1}]$.
   - Compute transformed row and corresponding Householder $w_{k+1}$, append to $W_k$.
   - Grow $M_k$ per the structured formula.
4. **Extraction**: After $k=t-1$, the updated bidiagonal $B̂$ is the upper bidiagonal part of $Q_k M P_k$. Updated $Q̂ = Q Q_k$ and $P̂ = P_k P$ 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 $Q$ and $P$ factors without materializing giant orthogonal arrays.

## 3. Complexity and Memory Analysis

Let $n \leq m$. Each iteration involves:

- **Forming the active column**: $O((m + 3n)k - 2k^2)$ flops.
- **Triangular solves with $M_{k-1}$**: $O(k^2)$.
- **Householder operations**: $O(m-k + n-k)$.

Summing over $k=1$ to $n-1$ yields a global computational cost of
$$
\operatorname{BHU} = O(m n^2 + \frac{5}{3} n^3)
$$
This complexity is about $2 n^3$ higher than standard dense Householder bidiagonalization (as in LAPACK’s dgebrd), which costs $O(m n t - (1/3) n^2 t)$.

**Memory usage**: $Y_k \in \mathbb{R}^{m \times k}$, $W_k \in \mathbb{R}^{n \times k}$, vectors $\hat b$, $\hat c$, and triangular factors $T_k$, $R_k$ packed into $Y_k$, $W_k$. The total storage is approximately $(m + n + 2)k$ 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:
$$
\|Q_k^T Q_k - I\| = O(\varepsilon k)
$$
where $\varepsilon$ is machine epsilon. The error in the reconstructed matrix after update satisfies:
$$
\|Â - Q̂ B̂ P̂^T\|_F = O(\varepsilon) \|Â\|_F
$$
The truncation error is governed by the Eckart–Young theorem adapted for bidiagonal matrices:
$$
\|Â - [B̂]_r\|_F^2 = \sum_{i=r+1}^{t} (\hat \alpha_i^2 + \hat \beta_{i-1}^2)
$$
where $\hat \alpha_i$, $\hat \beta_{i-1}$ are the diagonal and subdiagonal elements of the updated $B̂$.

Occasional re-orthogonalization of $Q$, $P$ may be warranted for accumulated backward error. The cost of re-orthogonalization is $O(mk^2 + nk^2)$.

## 5. Illustrative Example

For $m=n=4$, let $B$ be initially
$$
B = \begin{pmatrix}
\alpha_1 & \beta_1 & 0        & 0 \\
0        & \alpha_2 & \beta_2 & 0 \\
0        & 0        & \alpha_3 & \beta_3 \\
0        & 0        & 0        & \alpha_4
\end{pmatrix}
$$
and vectors $b = (b_1, b_2, b_3, b_4)^T$, $c = (c_1, c_2, c_3, c_4)^T$. Stepwise:

1. **First Householder ($k=1$)**:
   $$
   a = (B + b c^T) e_1 = (\alpha_1 + b_1 c_1,\, b_2 c_1,\, b_3 c_1,\, b_4 c_1)^T
   $$
   Choose $y_1$ to zero $a_{2:4}$: $ỹ = a + \operatorname{sign}(a_1)\|a\| e_1$, $\tau_1 = 2/(ỹ^T ỹ)$.

2. **First right Householder**:
   Compute row $a^T = e_2^T Q_1 (M)$; eliminate further entries via $w_2$.

Continuing for $k=2,3$ yields the full bidiagonalization with updated $\hat \alpha_i$, $\hat \beta_{i-1}$ in $B̂$. For the concrete choice $\alpha_1=1,\beta_1=2,\alpha_2=3,\beta_2=4,\alpha_3=5,\beta_3=6,\alpha_4=7$, $b=(1,0,0,0)^T$, $c=(0,1,0,0)^T$, the update $Â$ increases $\beta_1$ only: $B̂$ is unchanged except $\beta_1 \gets \beta_1+1$.

## 6. Practical Context and Comparative Perspective

The compact Householder-type bidiagonal update as outlined in [2509.02840] 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 [2509.02840].

Source: https://www.emergentmind.com/topics/compact-householder-type-bidiagonal-updates