# FMM-Accelerated Polyharmonic Neural Field Head

- ID: 2128
- Canonical URL: https://synthcore.org/idea/2128/fmm-accelerated-polyharmonic-neural-field-head
- API JSON: https://synthcore.org/api/idea/2128.json
- API Markdown: https://synthcore.org/api/idea/2128.md
- Verification status: beats_baseline
- Source: [arXiv:2608.11462](https://arxiv.org/abs/2608.11462)
- Category: architecture
- Solves: scalability, speedup, memory, accuracy
- ML areas: mlp, embedding, inference-speedup, memory
- Math tags: harmonic-analysis, approximation-theory, linear-algebra, numerical-analysis, probability
- Ratings: usefulness 7/10; difficulty 6/10; novelty 7/10

## Idea description

Attach a polyharmonic spline decoder to a coordinate MLP or use it as a standalone neural-field output head over a large set of spatial anchors. The decoder represents the output as a low-degree polynomial trend plus a PHS kernel expansion, while FMM evaluates all anchor-to-query interactions in approximately linear or near-linear cost. When coefficients must be fitted or periodically recalibrated, solve the constrained interpolation system with projected conjugate gradients and a sparse Vecchia/Matérn preconditioner instead of dense factorization.

## Mathematical statement

The paper represents an interpolant by \(\hat f(\mathbf{x})=\sum_{s=1}^{S}\beta_sP_s(\mathbf{x})+\sum_{j=1}^{n}w_j\varphi(\|\mathbf{x}_j-\mathbf{x}\|)\), where \(\mathbf{x}_j\in\mathbb{R}^d\) are anchor locations, \(P_s\) are low-degree polynomial basis functions, \(\beta_s\) are trend coefficients, and \(w_j\) are kernel coefficients. The polyharmonic kernel is \(\varphi(r)=r^k\) for odd \(k\in\mathbb{N}\), and \(\varphi(r)=r^k\log r\) for even \(k\in\mathbb{N}\). With \(M_{ij}=\varphi(\|\mathbf{x}_i-\mathbf{x}_j\|)\), \(B_{is}=P_s(\mathbf{x}_i)\), and observed values \(\mathbf{y}\), the coefficients satisfy the augmented system \(\begin{bmatrix}M&B\\B^T&0\end{bmatrix}\begin{bmatrix}\mathbf{w}\\\boldsymbol\beta\end{bmatrix}=\begin{bmatrix}\mathbf{y}\\0\end{bmatrix}\), equivalently \(B^T\mathbf{w}=0\). Let \(Q_\perp\) have orthonormal columns spanning \(\ker(B^T)\); then \(\mathbf{w}=Q_\perp\mathbf{z}\) and the reduced system is \((Q_\perp^TMQ_\perp)\mathbf{z}=Q_\perp^T\mathbf{y}\). The paper accelerates multiplication by \(M\) using FMM implementations for logarithmic and distance kernels. It preconditions the projected system using \(P_{\mathrm{exact}}=Q_\perp^T\Sigma^{-1}Q_\perp\), approximated by \(P_{\mathrm{Vecchia}}=Q_\perp^T\tilde T\tilde T^TQ_\perp\), where \(\Sigma\) is a Matérn covariance matrix and \(\tilde T\) is a sparse reverse-Cholesky/precision factor built from a fixed-size Vecchia conditioning set. The transferable property is that dense geometric interactions are retained while only matrix-vector products and sparse triangular operations are required.

## Key formulas

- $$\hat f(\mathbf{x})=\sum_{s=1}^{S}\beta_sP_s(\mathbf{x})+\sum_{j=1}^{n}w_j\varphi(\|\mathbf{x}_j-\mathbf{x}\|),\qquad \varphi(r)=\begin{cases}r^k,&k\in\mathbb{N}\text{ odd},\\r^k\log r,&k\in\mathbb{N}\text{ even},\end{cases}$$
- $$\begin{bmatrix}\mathbf{M}&\mathbf{B}\\\mathbf{B}^{T}&\mathbf{0}\end{bmatrix}\begin{bmatrix}\mathbf{w}\\\boldsymbol\beta\end{bmatrix}=\begin{bmatrix}\mathbf{y}\\\mathbf{0}\end{bmatrix},\qquad M_{ij}=\varphi(\|\mathbf{x}_i-\mathbf{x}_j\|),\quad B_{is}=P_s(\mathbf{x}_i),\quad B^T\mathbf{w}=0$$
- $$\mathbf{w}=Q_{\perp}\mathbf{z},\qquad (Q_{\perp}^{T}\mathbf{M}Q_{\perp})\mathbf{z}=Q_{\perp}^{T}\mathbf{y},\qquad Q_{\perp}^{T}Q_{\perp}=I,\quad \operatorname{range}(Q_{\perp})=\ker(B^T)$$
- $$P_{\mathrm{exact}}=Q_{\perp}^{T}\Sigma^{-1}Q_{\perp},\qquad P_{\mathrm{Vecchia}}=Q_{\perp}^{T}\tilde{\mathbf{T}}\tilde{\mathbf{T}}^{T}Q_{\perp}$$

## Implementation notes

1. Integration point: implement the head after a coordinate encoder or directly after normalized spatial coordinates. Store \(n\) anchor locations \(X=[\mathbf{x}_1,\ldots,\mathbf{x}_n]\) and one or more coefficient vectors \(w^{(c)}\), one per output channel. For a query batch \(X_q\), output the polynomial trend plus the PHS interaction \(K(X_q,X)W\); do not materialize the \(|X_q|\times n\) kernel matrix. Use \(k=2\) for the thin-plate kernel in two dimensions, or compare \(k=1,2,3,4\) in the ablation. 2. Pseudocode: construct \(B_{is}=P_s(x_i)\), compute or implicitly apply a null-space basis \(Q_\perp\), initialize \(z\); repeat PCG: `r = Q.T @ (y - M_fmm(Q @ z))`; `p = preconditioner(r)`; update `z += alpha*p`, `r -= alpha*Q.T@M_fmm(Q@p)`; finally `w=Q@z` and solve \(B^T\beta=B^T(y-Mw)\). In the forward pass compute `yq = Bq@beta + fmm_phs(Xq, X, w)`. 3. Mathematical computations: FMM supplies the approximation to \(Mv\) and \(K(X_q,X)v\); the polynomial constraint is exact. Build the Vecchia preconditioner by ordering anchors, selecting \(m\) nearest earlier anchors for each point, fitting local Matérn conditional regressions, and assembling a sparse factor \(\tilde T\) with at most \(m\) off-diagonal entries per column; estimate the Matérn length scale from anchor spacing or tune it on a small validation subset. Estimate PCG quality using residual norm and iteration count, not by forming eigenvalues. 4. First experiment: use a 2D SIREN or 4-layer ReLU coordinate MLP on the synthetic function in the paper, with 10k, 100k, and 1M Sobol anchors and dense held-out grid queries. Compare (a) dense RBF/PHS solve, (b) Adam-trained learned RBF coefficients, (c) FMM-PHS with no preconditioner, and (d) FMM-PHS with Vecchia-PCG. Measure wall-clock time, peak memory, relative interpolation error, FMM tolerance, and PCG iterations. Success means subquadratic memory, fewer than 20 PCG iterations, and near-dense-solve accuracy; a strong result is at least 5x lower runtime and 10x lower peak memory at 100k anchors, with no increase in held-out error.

## Verification

- Status: beats_baseline
- Mechanism evidence: yes
- Mechanism confirmed: yes
- Practical verdict: helps
- Verdict: Built a reproducible PHS interpolation head with exact polynomial null-space projection, projected PCG, a Vecchia-style Matérn preconditioner, and chunked query evaluation. The core predictions were confirmed: projected k=2 PHS interactions scaled as rho^2 with maximum error 3.6e-15, projected squared-distance polynomial terms vanished at 3.1e-15 relative magnitude, and computed weights satisfied the polynomial constraint near 1e-14. Vecchia preconditioning reduced PCG iterations from 292 to 196, but did not reach the paper-scale fewer-than-20-iteration target; this is a promising small-scale signal rather than a demonstrated FMM speedup.

### Mechanism check

- Verdict: Built a reproducible PHS interpolation head with exact polynomial null-space projection, projected PCG, a Vecchia-style Matérn preconditioner, and chunked query evaluation. The core predictions were confirmed: projected k=2 PHS interactions scaled as rho^2 with maximum error 3.6e-15, projected squared-distance polynomial terms vanished at 3.1e-15 relative magnitude, and computed weights satisfied the polynomial constraint near 1e-14. Vecchia preconditioning reduced PCG iterations from 292 to 196, but did not reach the paper-scale fewer-than-20-iteration target; this is a promising small-scale signal rather than a demonstrated FMM speedup.
- Confidence: 8/10
- Limitations: This MVP uses dense scipy kernel construction and multiplication rather than a true FMM, tests only n=180 in 2D and one synthetic function, and implements a simplified Vecchia precision rather than the paper's full reverse-Cholesky construction. It does not test 10k-1M anchors, GPU execution, peak-memory scaling, neural coordinate encoders, or a rigorous wall-clock FMM comparison.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 0.0081
- Paired wins: 8/8
- Benchmark verdict: idea better (significant)

## Artifacts

- [bench_report.json](https://synthcore.org/code/856/bench_report.json)
- [custom_spatial.py](https://synthcore.org/code/856/custom_spatial.py)
- [phs_experiment.py](https://synthcore.org/code/856/phs_experiment.py)
- [report.md](https://synthcore.org/code/856/report.md)
- [report_bench_2026-09-01T130235.md](https://synthcore.org/code/856/report_bench_2026-09-01T130235.md)
- [results.json](https://synthcore.org/code/856/results.json)
- [results_corrected.json](https://synthcore.org/code/856/results_corrected.json)
- [run_bench.py](https://synthcore.org/code/856/run_bench.py)
- [Download all files as ZIP](https://synthcore.org/download/856)

## Disclaimer

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