Irregular-Domain Fourier Convolution
Implementation & benchmark of arXiv:2608.25264 — "Truncated Fourier Filtering" method for fast and high-order evaluation of integrals and convolutions in general domains
Source paper: "Truncated Fourier Filtering" method for fast and high-order evaluation of integrals and convolutions in general domains arXiv:2608.25264 ⓘ · analyzed Aug 29, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Use the truncated Fourier representation of an irregular domain as a reusable spectral mask inside an FFT convolution layer. This gives a cheap alternative to point-cloud neighborhood aggregation while explicitly suppressing contributions from outside the physical domain and improving behavior near corners, cusps, and holes.
Formulas
Mathematical statement
The paper's convolution is \(\mathcal{B}[\phi](\mathbf{x})=\int_{\mathcal{K}}G(\mathbf{x}-\mathbf{y})\phi(\mathbf{y})\,d\mathbf{y}\), where \(G\) is a smooth translation-invariant kernel, \(\phi\) is a piecewise-smooth density or feature field, and \(\mathcal{K}\) is the physical domain. Replace the domain indicator by the truncated Fourier series from the paper, so the sampled input becomes \(w_{\mathbf q}\phi(\mathbf{x}_{\mathbf q})\). For a periodic Cartesian grid, convolution is then computed by the Fourier multiplier identity \(\widehat{\mathcal{B}[\phi]}(k)\approx\widehat{G}(k)\widehat{\chi_{\mathcal K}\phi}(k)\), where \(\widehat{G}(k)\) is either a known kernel transform or a learned complex multiplier. The retained-mode condition \(F_s\le a n_s\) and the decay assumption \(p_s\ge2\) control aliasing; the factors \((|j_sn_s-\ell_s|+1)^{-p_s}\) quantify suppression of interactions between retained Fourier modes and grid aliases.
Implementation notes
Add this as a spectral convolution block in a Fourier neural operator or as a replacement for repeated point-cloud neighborhood aggregation. Inputs are feature maps phi with shape B by C by n1 through nm, a fixed irregular-domain mask, and either a learned multiplier M[c_out,c_in,k] or a prescribed smooth-kernel multiplier G_hat[k]. During preprocessing, compute the multidimensional FFT of the mask, retain coefficients c_l with coordinatewise frequencies |l_s| <= F_s, inverse-transform them to obtain real-space weights w_q, and store the weights. For each forward pass, calculate masked[b,c,q] = phi[b,c,q] times w_q; calculate z_hat = FFT(masked); apply z_hat_out[b,c_out,k] = sum over c_in of M[c_out,c_in,k] times z_hat[b,c_in,k]; and return IFFT(z_hat_out). Multiply the output by w_q or restrict output loss to valid-domain points. Pad the periodic box sufficiently to prevent wraparound across the physical boundary. The paper determines the Fourier truncation and aliasing structure; estimate c_l numerically and tune F_s, padding, multiplier bandwidth, and any stabilization of small negative mask values empirically. First experiment on 2D Darcy flow or advection in polygonal domains with holes and cusps. Compare a standard zero-masked FNO and a point-cloud message-passing model at matched parameter count. Record rollout error, boundary residual error, FFT wall time, and memory. Success is lower boundary error at equal resolution and faster execution than neighborhood aggregation.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: No measurable effect
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a reusable truncated-Fourier irregular-domain mask and FFT convolution MVP in experiment.py. The mechanism checks confirmed decreasing projection and convolution error with retained bandwidth, and alias-tail slopes of -1.965 (p=2) and -2.935 (p=3), close to the predicted -2 and -3. The idea showed a small toy timing signal (6.51 ms versus 8.04 ms) with 2.58e-4 overall error, but this is not a robust speedup claim because both methods use the same FFT work and preprocessing was excluded.
- Agent confidence
- 8/10
- Baseline
- Exact binary-mask FFT convolution; 8.04 ms per forward on 256x256 toy, reference error 0
- Idea
- F=24 truncated spectral-mask FFT convolution; 6.51 ms per forward, 2.58e-4 relative error overall and 1.14e-4 on valid-domain points; alias slopes -1.965 (p=2) and -2.935 (p=3) versus -2/-3 predicted
Limitations: No learned neural operator, Darcy/advection dataset, point-cloud message-passing baseline, rollout evaluation, GPU benchmark, padding study, or parameter-count-matched training was tested. The irregular mask is sampled directly rather than generated by the paper's geometric coefficient algorithm.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.25264)
Ahead of the baseline (−1.2%) but not statistically significant (p=0.0834, wins 6 / 8 paired seeds).
- Benchmark
- Irregular_domain_poisson
- Model
- shared_cnn
- Paired seeds
- 8
- Baseline mean
- 0.0028
- Idea mean
- 0.0028
- Effect (Δ)
- -0 (−1.2%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.0834 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±1.4%
- Mechanism
- Confirmed ✓
- Practical effect
- No effect
- Baseline tuning
- swept over 3 configs
The custom benchmark is a small synthetic PDE-like convolution regression rather than a full Darcy or Poisson solver dataset. Point-cloud message-passing timing, rollout evaluation, padding studies, GPU-vs-CPU timing, and larger-resolution generalization were not tested; the run used 400 training samples, 120 test samples, a 24x24 grid, and 8 epochs.
How to run: python3 bench_stage2.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
Built and evaluated a structurally matched custom irregular-domain PDE track using identical CNN architectures for baseline and Fourier-mask variants. The idea slightly improved MSE, but the paired permutation test was not significant (delta_mean=-3.2797e-05, p=0.0834), so it does not satisfy the required significant-win criterion.
- Baseline
- Mean MSE 0.0027888206532225013 over 8 seeds; tuned lr=0.006, epochs=8.
- Idea
- Mean MSE 0.0027560235757846385 over 8 seeds; best tested F=8 in the sweep, with paired delta -3.2797077437862754e-05 and p=0.0834.
Benchmark result
Ahead of the baseline (−1.2%) but not statistically significant (p=0.0834, wins 6 / 8 paired seeds).
- Benchmark
- Irregular_domain_poisson
- Model
- shared_cnn
- Paired seeds
- 8
- Baseline mean
- 0.0028
- Idea mean
- 0.0028
- Effect (Δ)
- -0 (−1.2%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.0834 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±1.4%
- Mechanism
- Confirmed ✓
- Practical effect
- No effect
- Baseline tuning
- swept over 3 configs
The custom benchmark is a small synthetic PDE-like convolution regression rather than a full Darcy or Poisson solver dataset. Point-cloud message-passing timing, rollout evaluation, padding studies, GPU-vs-CPU timing, and larger-resolution generalization were not tested; the run used 400 training samples, 120 test samples, a 24x24 grid, and 8 epochs.
How to run: python3 bench_stage2.py
Artifacts
- bench_report.json 3.6 KB View Raw
- bench_stage2.py 4.3 KB View Raw
- experiment.py 3.8 KB View Raw
- irregular_domain_track.py 1.6 KB View Raw
- report.md 1.4 KB View
- report_bench_2026-08-30T142125.md 5.4 KB View
- results.json 2.9 KB View Raw