Adaptive Newton–Schulz via Spectral Estimation
Newton–Schulz can measure the singular-value distribution of its own input
This post is a companion to our paper, Cost-free Spectral Estimation for Adaptive Newton–Schulz in Matrix Optimizers[1].
TL;DR
- Muon orthogonalizes each momentum matrix with a few Newton–Schulz iterations. Polar Express (PE) chooses the coefficients of these iterations for a range of singular values, the design interval $[\rho,1]$. Muon does not know where the singular values of its momentum are, so it uses the same conservative interval for every matrix.
- The iterations already compute Gram matrices. A few scalar reductions of these matrices give spectral moments of the input, with no extra matrix multiplications.
- A maximum-entropy moment fit turns the moments into an estimate of the spectrum. The estimate predicts the RMS error of each candidate PE routine, and we pick the best routine for each matrix.
- Spectra differ between matrix types and layers and change slowly during training. We repeat the measurement periodically and run the fit in the background.
- On saved momentum matrices, spectral estimation lowers the RMS error for a fixed number of iterations (90× lower on MLP matrices with five iterations), or reaches the same accuracy with fewer iterations.
Outline
1Muon and Newton–Schulz
Muon[2] updates a weight matrix $W$ with the polar factor of its momentum $M$. If $M=U\,\mathrm{diag}(\sigma_i)\,V^\top$ is the SVD of $M$, the polar factor is $\mathrm{polar}(M)=UV^\top$. It is the same matrix with every nonzero singular value set to $1$. The update is
$$W \leftarrow W-\eta\,UV^\top .$$Computing an SVD at every step is too slow. Muon instead runs $K$ Newton–Schulz iterations. It starts from $X_0$, a rescaled copy of $M$ whose singular values $\gamma_i$ lie in $[0,1]$, and repeats
$$A_j=X_jX_j^\top,\qquad X_{j+1}=a_jX_j+\big(b_jA_j+c_jA_j^2\big)X_j,\qquad j=0,\dots,K-1 .$$Each iteration costs three matrix multiplications: $A_j$, $A_j^2$, and the product with $X_j$. The iterations keep the singular vectors $U$ and $V$ and change only the singular values. A singular value $x$ of $X_j$ becomes
$$p_j(x)=a_jx+b_jx^3+c_jx^5$$in $X_{j+1}$. After $K$ iterations each $\gamma_i$ has become $P(\gamma_i)$, where $P=p_{K-1}\circ\dots\circ p_0$ is the response of the routine. So the whole matrix iteration is described by one scalar function. If $P(\gamma_i)\approx1$ for every $i$, then $X_K\approx UV^\top$. Figure 1 shows this on a real momentum matrix.
2The design interval
How Polar Express picks its coefficients. Polar Express[3] picks the coefficients one iteration at a time. Suppose we know that the singular values of $X_j$ lie in an interval $[\ell_j,u_j]$, the design interval. At the start this is $[\rho,1]$. The coefficients are those of the odd quintic that stays closest to $1$ on the whole interval:
$$(a_j,b_j,c_j)=\arg\min_{a,b,c}\ \max_{x\in[\ell_j,u_j]}\big|1-(ax+bx^3+cx^5)\big| ,\qquad e_j=\text{the minimum reached}.$$The best polynomial equioscillates. Its error $1-p_j(x)$ reaches $+e_j$ and $-e_j$ in turn at four points: the two ends of the interval and two points inside it. After the iteration all singular values lie in $[1-e_j,\,1+e_j]$, so this becomes the design interval of the next iteration. Its ratio $(1-e_j)/(1+e_j)$ is closer to $1$ than $\ell_j/u_j$ was. Repeating this $K$ times gives the response $P$. Figure 2 shows the construction.
A broader interval needs more iterations. Only the ratio $\rho=\ell_0/u_0$ matters, and a smaller ratio, meaning a broader interval, always gives a larger error for the same number of iterations. When the ratio is very small, one quintic cannot do much. It has to raise the small singular values but stay bounded at the top of the interval, so the error stays close to $1$ for the first iterations. Once the ratio reaches about $10^{-1}$ the error drops fast, and two or three more iterations are enough.
Below $\rho$. The routine gives no guarantee there. For $x$ much smaller than $\ell_j$ an iteration is close to linear, $p_j(x)\approx a_jx$, so singular values far below $\rho$ stay small. This does not matter if no singular values are that small. But if the spectrum ends two decades above $\rho$, the iterations spent growing the interval from $\rho$ up to the true $\sigma_{\min}/\sigma_{\max}$ did no useful work.
Choosing $\rho$. Muon does not know the spectrum of $M$, so it uses one interval for every matrix. Polar Express[3] recommends $\rho=10^{-3}$. This choice assumes that singular values below $10^{-3}$ do not matter, since the routine leaves them small. That is not always the case: the attention matrices in Section 6 have a tail that reaches $10^{-5}$. In this post the fixed routine uses the more conservative interval $[10^{-5},1]$. It covers such tails, but it spends more iterations on matrices that do not have one. Figure 3 compares the response of a routine with real spectra.
In the matrices we study, MLP spectra end two decades above the conservative lower endpoint, while attention spectra have a tail that reaches it. For MLP matrices, many of the iterations are spent on a part of the interval that holds no singular values.
Can we find where the singular values of $M$ are, cheaply and without an SVD, and then choose a routine that fits each matrix?
3Newton–Schulz measures its own input
Each iteration forms $A_j=X_jX_j^\top$ and $B_j=A_j^2$. These two matrices are already in memory, and four numbers follow from them by scalar reductions (sums of squares and inner products), without any extra matrix multiplication:
$$\mathrm{tr}\,A_j,\qquad \|A_j\|_F^2=\mathrm{tr}\,A_j^2,\qquad \langle A_j,B_j\rangle_F=\mathrm{tr}\,A_j^3,\qquad \|B_j\|_F^2=\mathrm{tr}\,A_j^4 .$$Let $z_j(x)$ be the value that a singular value $x$ of $X_0$ has after $j$ iterations, so $z_0(x)=x$ and $z_{j+1}=p_j(z_j)$. If $X_0=U\,\mathrm{diag}(\gamma_i)\,V^\top$, then $X_j=UZ_jV^\top$ with $Z_j=\mathrm{diag}(z_j(\gamma_i))$. The eigenvalues of $A_j$ are $z_j(\gamma_i)^2$, so
$$m_{2k,j}\;:=\;\frac{\mathrm{tr}\,A_j^k}{r}\;=\;\frac1r\sum_{i=1}^{r}z_j(\gamma_i)^{2k}\;=\;\int z_j(x)^{2k}\,d\mu(x),\qquad k=1,2,3,4.$$Here $r$ is the smaller dimension of $M$, and $\mu$ is the empirical spectrum of $X_0$, which puts mass $1/r$ on each $\gamma_i$. Each spectral moment $m_{2k,j}$ is the average of a known measurement function $\phi(x)=z_j(x)^{2k}$ over the singular values. The output gives one more moment, $\|X_K\|_F^2/r$. These identities are exact in exact arithmetic.
Each iteration applies a different polynomial, so the moments from different iterations look at the same spectrum through different functions, and each one is sensitive to a different part of $[0,1]$. We call a Newton–Schulz run that records these moments a measurement pass. Figure 4 shows one.
Before the first iteration, $M$ has to be scaled so that all its singular values are at most $1$. Dividing by the Frobenius norm works, but it overestimates the largest singular value and wastes part of the interval. We use the Gram-power bound $s$ from CANS[4] instead and start from $X_0=M/(s\|M\|_F)$. The bound is computed from the products of the first iteration and is close to the largest singular value of $M/\|M\|_F$. The measurement pass, the fit and the scoring all use this scale.
4Fitting a spectrum to the moments
4.1 A maximum-entropy moment fit
We describe the spectrum by masses $w_b\ge0$ on fixed grid points $g_1,\dots,g_B\in[0,1]$, spaced logarithmically. The mass $w_b$ is the fraction of singular values at $g_b$. A moment is the average of a known function over the singular values. On the grid, this average becomes a sum over the grid points weighted by $w_b$. With $\Phi_{qb}=\phi_q(g_b)$, the moments are linear in $w$:
$$\underbrace{\begin{pmatrix} m_{2,0}\\ m_{4,0}\\ m_{6,0}\\ m_{8,0}\\ m_{2,1}\\ \vdots\\ \|X_{K}\|_F^2/r \end{pmatrix}}_{y} \;\approx\; \underbrace{\begin{pmatrix} z_0(g_1)^{2} & \cdots & z_0(g_B)^{2}\\ z_0(g_1)^{4} & \cdots & z_0(g_B)^{4}\\ z_0(g_1)^{6} & \cdots & z_0(g_B)^{6}\\ z_0(g_1)^{8} & \cdots & z_0(g_B)^{8}\\ z_1(g_1)^{2} & \cdots & z_1(g_B)^{2}\\ \vdots & & \vdots\\ z_{K}(g_1)^{2} & \cdots & z_{K}(g_B)^{2} \end{pmatrix}}_{\Phi} \underbrace{\begin{pmatrix} w_1\\ w_2\\ \vdots\\ w_B \end{pmatrix}}_{w}$$$\Phi$ depends only on the routine and the grid. We compute it once by running the scalar recursion $z_{j+1}=p_j(z_j)$ on the grid points. The masses must sum to $1$, and the second moment is known exactly from the scaling. Both enter as constraints:
$$\Delta=\Big\{w\ge0:\ \mathbf 1^\top w=1,\ \textstyle\sum_bw_bg_b^2=\tfrac{1}{rs^2}\Big\}.$$Step 1: best fit. Find the smallest weighted residual between the predicted and the measured moments,
$$\xi^\star=\min_{w\in\Delta}\|D(\Phi w-\hat y)\|_2 .$$Here $D=\mathrm{diag}(1/d_q)$, and the row scales $d_q$ bring moments of very different sizes to a common scale.
Step 2: maximum entropy. Many grid measures reach this residual, because a finite set of moments cannot fix every grid weight. Among all measures whose residual is within $\kappa$ of the best, we take the one with maximum entropy:
$$\hat w=\arg\max\Big\{-\sum_bw_b\log w_b\ :\ w\in\Delta,\ \|D(\Phi w-\hat y)\|_2\le \xi^\star+\kappa\Big\}.$$On a logarithmic grid, maximum entropy gives the flattest spectrum in $\log\sigma$ that agrees with the moments. Both problems are convex, and the entropy makes the answer unique.
Figure 5 shows the effect of the entropy tolerance $\kappa$. Without it, the fit is one of many spiky measures that match the moments equally well. A small $\kappa$ gives a smooth fit with almost the same residual. A large $\kappa$ pushes the fit toward a flat spectrum, and the residual grows.
4.2 What the fitted spectrum can predict
We do not need the exact spectrum. We only need the quantities used to score routines. A finite set of moments may not determine the spectrum, but it can determine an average $\int f\,d\mu$ when $f$ is close to a combination of the measurement functions. The error of the prediction then has three parts: how well the measurement functions approximate $f$, the error in the measured moments, and the residual of the fit (Theorem 2 in the paper[1]).
We can also see how much the moments leave open. For a linear quantity $c^\top w$, such as a band mass, the mass above the cutoff, or the CDF at a point, two linear programs give the smallest and the largest value that agrees with the moments:
$$\min\ /\ \max\ \big\{c^\top w:\ w\in\Delta,\ |(\Phi w-\hat y)_q|\le\text{tolerance}_q\ \text{ for all }q\big\}.$$We call this interval the guaranteed range. The maximum-entropy fit $\hat w$ is one point inside it.
5Selecting a Polar Express routine
5.1 The candidate set
A candidate $\pi=(\rho_\pi,K_\pi)$ in the candidate set $\mathcal C$ is a full Polar Express routine: the composition designed for $[\rho_\pi,1]$, with $K_\pi$ iterations and response $P_\pi$. The candidates cover design lower endpoints from $10^{-5}$ to $10^{-1}$ and several depths. We compute the response of every candidate at the grid points once, before training. Each setting of the two sliders in Figure 3 is one candidate. Fixed PE, $[10^{-5},1]$, is the most conservative one.
5.2 Scoring each candidate
We score all candidates on the same interval $R=[x^\star/s,\,1]$. The scoring cutoff $x^\star=10^{-5}$ is fixed relative to the Frobenius norm, and singular values below it are ignored. We measure a routine by its RMS error, the root-mean-square distance of the output singular values from $1$ over the scored singular values. The true error and the error predicted from the fit are
$$E_R^2(P_\pi)=\frac{\int_R\big(1-P_\pi(x)\big)^2\,d\mu(x)}{\mu(R)},\qquad \widehat E_\pi^2=\frac{\sum_{g_b\in R}\hat w_b\,\big(1-P_\pi(g_b)\big)^2}{\sum_{g_b\in R}\hat w_b}.$$The predicted error is a spectral average of the kind described in Section 4.2. The responses are precomputed, so scoring takes only scalar operations on the fitted spectrum and no matrix products.
5.3 Fixed-depth and target rules
The same scores serve two goals:
$$\begin{aligned} \text{fixed-depth rule:}&\qquad \hat\pi_K\in\arg\min_{\pi\in\mathcal C,\ K_\pi=K}\ \widehat E_\pi,\\[4pt] \text{target rule:}&\qquad \hat\pi_\tau\in\arg\min_{\pi\in\mathcal C,\ \widehat E_\pi\le\tau}\ K_\pi . \end{aligned}$$The fixed-depth rule picks the routine with the lowest predicted error for a given number of iterations. The target rule picks the shortest routine whose predicted error is at most $\tau$. If no candidate reaches $\tau$, it falls back to fixed PE at the largest allowed depth. Figure 7 shows both choices for one matrix.
Several matrices can also share one routine. The moments are averages over the spectrum, so the average of the moments of a group of matrices, for example all matrices of one type, gives the moments of their combined spectrum. One fit then serves the whole group.
6Spectra across layers and training
The best routine depends on the spectrum, and momentum spectra change across matrix types, across layers, and during training. Figures 8 and 9 show this for the run we study. Attention spectra are broad: most of the mass is above $10^{-3}$, with a tail down to $10^{-5}$. MLP spectra are narrow and lie above $10^{-3}$. One conservative interval has to cover all of these cases, including matrices with almost no mass near its lower end.
After the first part of training the spectra change slowly, so a routine chosen from one measurement stays a good choice for many steps. Matrices of the same type differ more from layer to layer than a single matrix changes over time, which is why we choose a routine for each matrix.
7Periodic measurement
Measure every $T$ steps. Every $T$ training steps, each momentum matrix goes through a measurement pass. This is Newton–Schulz with a measurement routine $S_{\rm meas}$ of depth $K_{\rm meas}$. Its output is the update for that step, and its moments are recorded. If the steps in between use $\bar K$ iterations on average, the average number of iterations per step is
$$K_{\rm eff}=\bar K+\frac{K_{\rm meas}-\bar K}{T}.$$The extra cost of measuring shrinks as $T$ grows.
Fit and select in the background. The fit and the scoring work on a fixed number of moments and a fixed grid, so their cost does not grow with the matrix size. They run on the CPU while the GPU keeps training with the current routines. When the CPU job is done, the new routines are used from the next step on.
8Results
We test the method on Muon momentum matrices saved at several checkpoints of a GPT training run on FineWeb[5]. They cover all seven matrix types: Q, K, V, O, MLP up, MLP gate and MLP down. We computed the SVD of every matrix offline and use it only to get the exact moments and as the ground truth. The fit only sees the moments, not the singular values. For each number of iterations $K$ we compare three methods:
- fixed PE on $[10^{-5},1]$, the conservative routine of Section 2, which starts from $M/\|M\|_F$ as in Muon;
- ours, the routine picked by spectral estimation;
- the RMS oracle, which picks from the same candidates using the true RMS error.
The difference between ours and the RMS oracle shows how much we lose by not knowing the spectrum. Ours and the RMS oracle use the same scaling and candidates. All three are scored on the same singular values, and we report the RMS error of Section 5.2.
8.1 The fit recovers the spectrum at decade scale
| quantity | true (median) | |fit − true|, median (p90) | guaranteed range width, median | coverage |
|---|
Table 1. Band masses of the fitted spectrum compared with the SVD, over all saved matrices. All numbers are fractions of the singular values. Coverage counts the matrices whose true value falls inside the guaranteed range.
The fit is accurate: the decade band masses are usually within a few thousandths of the true values. The guaranteed ranges always contain the true value, but they are wide: the error of the fit is 30 to 140 times smaller than the width of the range.
8.2 Fixed depth
| iterations K | fixed PE | ours | RMS oracle | fixed PE | ours | RMS oracle |
|---|---|---|---|---|---|---|
| attention (Q, K, V, O) | MLP (up, gate, down) | |||||
Table 2. RMS error for a fixed number of iterations $K$, median (mean) over the attention and the MLP matrices. Lower is better.
- MLP matrices. Their spectrum is narrow and lies above $10^{-3}$, so a routine designed for that interval brings every singular value close to $1$. With five iterations, our routine has a 90× lower mean RMS error than fixed PE.
- Attention matrices. Their spectrum has a tail down to $10^{-5}$, and a routine with few iterations cannot bring that tail to $1$. Choosing the routine still lowers the error at every depth, but the tail limits how low the error can go.
- Ours and the RMS oracle. On attention matrices the two have nearly the same median error at every depth, within $0.001$. On MLP matrices our mean error is within a few thousandths of the oracle's. The moments are enough to make almost the same choice as the true spectrum.
8.3 Target accuracy
Now the number of iterations is chosen as well. For a target $\tau$, the target rule picks for each matrix the shortest routine whose predicted RMS error is at most $\tau$. Fixed PE has to use one depth for all matrices, the smallest one that reaches $\tau$ on every spectrum.
| target τ | group | fixed PE | ours | RMS oracle | RMS error of ours, median |
|---|
Table 3. Target accuracy $\tau$. Depth of fixed PE, and mean depth picked by ours and by the RMS oracle.
At $\tau=10^{-1}$, ours and the RMS oracle pick almost the same depths. At the tighter targets, ours uses one or two more iterations than the oracle on MLP matrices. A predicted error of $10^{-2}$ or $10^{-3}$ is close to what a fit at decade resolution can tell apart, so the rule is more cautious there.
9Takeaways
- Newton–Schulz already forms Gram matrices, and scalar reductions of them give spectral moments of its input. No extra matrix multiplications are needed.
- A maximum-entropy moment fit turns the moments into a spectrum that is accurate at the scale of a decade. This is enough to predict the RMS error of each candidate Polar Express routine.
- The fixed-depth rule picks the best routine for a given number of iterations. The target rule picks the shortest routine that is predicted to reach a given accuracy.
- Spectra differ across matrix types and layers and change slowly during training, so the measurement can be repeated periodically while the fit runs in the background.
- On saved momentum matrices, spectral estimation lowers the RMS error for a fixed number of iterations, most of all on MLP matrices, or reaches the same accuracy with fewer iterations. The paper[1] also reports GPT pretraining runs, where adapting the routine to the spectrum lowers the validation loss of Muon and of Online KL-Shampoo.
References
- K. Topollai, A. Choromanska. Cost-free spectral estimation for adaptive Newton–Schulz in matrix optimizers. arXiv:2609.33047, 2026.
- K. Jordan, Y. Jin, V. Boza, J. You, F. Cesista, L. Newhouse, J. Bernstein. Muon: An optimizer for hidden layers in neural networks. 2024. kellerjordan.github.io.
- N. Amsel, D. Persson, C. Musco, R. M. Gower. The Polar Express: Optimal matrix sign methods and their application to the Muon algorithm. ICLR 2026. arXiv:2505.16932.
- E. Grishina, M. Smirnov, M. Rakhuba. Accelerating Newton–Schulz iteration for orthogonalization via Chebyshev-type polynomials. 2025. arXiv:2506.10935.
- G. Penedo, H. Kydlíček, L. Ben allal, A. Lozhkov, M. Mitchell, C. Raffel, L. Von Werra, T. Wolf. The FineWeb datasets: Decanting the web for the finest text data at scale. NeurIPS Datasets and Benchmarks, 2024. arXiv:2406.17557.
Citation
To cite the results, please cite the paper[1]:
To cite this post:
@misc{topollai2026adaptivens,
title = {Adaptive {Newton--Schulz} via Spectral Estimation},
author = {Topollai, Kristi},
year = {2026},
month = {September},
howpublished = {Blog post},
url = {https://kristitopollai.github.io/blog/adaptive-muon/}
}