# Schur-complement block optimizer

- ID: 1231
- Canonical URL: https://synthcore.org/idea/1231/schur-complement-block-optimizer
- API JSON: https://synthcore.org/api/idea/1231.json
- API Markdown: https://synthcore.org/api/idea/1231.md
- Verification status: unverified
- Source: [arXiv:2607.21352](https://arxiv.org/abs/2607.21352)
- Category: optimization
- Solves: speedup, stability
- ML areas: optimizer, training-dynamics, mlp
- Math tags: linear-algebra, optimization, spectral-theory
- Ratings: usefulness 6/10; difficulty 6/10; novelty 5/10

## Idea description

Partition network parameters or output-head parameters into two coupled groups, C and D, and use a Schur-complement preconditioner rather than one shared scalar learning rate. The update approximately accounts for the response of group C before applying the curvature seen by group D, reducing the effect of cross-group gradient coupling and large condition numbers.

## Mathematical statement

The paper partitions indices as \(\{1,\ldots,n\}=C\,\dot\cup\,D\), with \(|C|=m\ge 1\) and \(|D|=n-m\ge 1\). For a Hermitian positive-definite training Gram or Hessian matrix \(G\), write blocks \(G_{CC},G_{CD},G_{DC},G_{DD}\). The Schur complement of the C block is \(S=G/G_{CC}=G_{DD}-G_{DC}G_{CC}^{-1}G_{CD}\). The variational identity is \(x_D^{\mathsf H}Sx_D=\min_{x_C}\begin{pmatrix}x_C\\x_D\end{pmatrix}^{\mathsf H}G\begin{pmatrix}x_C\\x_D\end{pmatrix}\), with minimizer \(x_C^\star=-G_{CC}^{-1}G_{CD}x_D\). Here \(x_C,x_D\) are perturbations of two parameter groups, \(G\) is an empirical curvature or gradient-Gram matrix, and \({\mathsf H}\) denotes conjugate transpose. The optimizer uses the corresponding block elimination: solve the C curvature system, subtract its predicted effect from the D gradient, and solve the resulting Schur-complement system.

## Key formulas

- $$\{1,\dots,n\}=C\,\dot{\cup}\,D,\qquad |C|=m\geq 1,\qquad |D|=n-m\geq 1.$$
- $$G/G_{CC}=G_{DD}-G_{DC}G_{CC}^{-1}G_{CD}=:S.$$
- $$x_D^{\mathsf{H}}Sx_D=\min_{x_C}\begin{pmatrix}x_C\\x_D\end{pmatrix}^{\mathsf{H}}G\begin{pmatrix}x_C\\x_D\end{pmatrix},\qquad x_C^\star=-G_{CC}^{-1}G_{CD}x_D.$$
- $$\begin{aligned}u_C&=G_{CC}^{-1}g_C,\\ r_D&=g_D-G_{DC}u_C,\\ u_D&=S^{-1}r_D,\\ \theta_C&\leftarrow\theta_C-\eta u_C,\qquad \theta_D\leftarrow\theta_D-\eta u_D.\end{aligned}$$

## Implementation notes

Integrate this into the optimizer update for a network with two explicitly separated parameter groups. A practical first choice is group C as a shared trunk or high-frequency/transport head and group D as a low-frequency/reaction head. Do not apply the method to every weight initially; use the final two heads or two layer groups so the block statistics are affordable. At each step compute the ordinary loss gradient \(g=(g_C,g_D)\). Maintain an exponential-moving-average estimate of the gradient Gram matrix using per-example or microbatch gradients: \(G\leftarrow\beta G+(1-\beta)gg^{\mathsf T}\), followed by damping \(G\leftarrow G+\lambda I\). If full blocks are too large, use diagonal, Kronecker-factored, or rank-r approximations. Solve \(G_{CC}u_C=g_C\); form the coupling-corrected residual \(r_D=g_D-G_{DC}u_C\); solve \(Su_D=r_D\); and apply the displayed block updates. Refresh cross-block statistics every 50 to 200 steps and clip each block update by its RMS norm. The Schur complement and coupling correction come from the paper; damping, EMA decay, rank, and refresh frequency are empirical choices. First test on a two-output PINN for a coupled one-dimensional convection-diffusion system with a small MLP. Compare AdamW, a shared diagonal preconditioner, and this optimizer at equal forward/backward FLOPs. Log the proxy condition number, loss descent versus optimizer steps, per-head residuals, and update norms. Success means a lower effective condition number and faster reduction of the slow head's residual, ideally at least 1.5x faster loss decrease at equal compute or equivalent accuracy with fewer optimizer steps.

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
