Skip to content

Recorded numerical results

Documentation index · Raw evidence index

These are measured runs, with their individual settings and limitations. Test acceptance thresholds are catalogued separately in validation. Do not compare errors or timings across different problems, grids, loss scales, training budgets or software/hardware environments.

Study Evidence date / device What it supports
Helmholtz Fourier/LRA 27 October 2026 / CPU Three seeds on the paper problem using an existing Fourier network; changed training protocol
LRA interval Poisson 27 October 2026 / CPU Equal-budget three-seed comparison and strong coefficient-cap sensitivity; baseline wins here
Baseline vs SA interval Poisson 27 October 2026 / CPU Working pointwise adaptation; mixed three-seed comparison
Heat: soft vs hard Dirichlet 27 October 2026 / CPU Lower field error for hard BC enforcement on this supported box problem
Pointwise network compatibility 27 October 2026 / CPU Ten architectures × baseline/SA on a one-seed smoke problem; not a ranking
Historical baseline Poisson 23 October 2026 / CUDA, retired runtime Preserved older measurement; not current CUDA validation

Metric definitions

For M scalar evaluation values, error e_i = prediction_i - reference_i:

  • RMSE = sqrt(sum(e_i²)/M).
  • Relative L2 = sqrt(sum(e_i²)/sum(reference_i²)); undefined for zero reference norm.
  • Maximum absolute error = max(abs(e_i)).
  • Reported sample standard deviation across seeds uses denominator n-1.

These field errors are evaluated after training. Loss records describe pre-update collocation/constraint errors and may include global/adaptive weights. In particular, SA's masked total is a changing objective, not a directly comparable accuracy score. For coupled fields, use per-field errors rather than combining differently scaled velocity and pressure values without explanation.

Baseline vs self-adaptive PINN

Raw JSON · Method, settings and limitations

Problem: u_xx + 2 = 0, x in [0,1], u(0)=u(1)=0. Exact reference: x(1−x). 32 fixed cell-centred interior grid points; endpoints as separate BC sets. Tanh 16×16 hidden network with Xavier normal initialisation and fixed coordinate normalisation. Both methods start from the same network for each seed and train 700 full-batch Adam updates at network lr=0.005. PDE weight 1; mean BC weight 10. Evaluation: 201 uniform including-boundary points, CPU float32, one Torch thread. Environment: Python 3.14.8, Torch 2.14.1+cpu, NumPy 2.5.2.

SA uses λ=1 initially, squared mask λ², ascent Adam lr=0.005, cap λ=1000, and PDE adaptation only. No L-BFGS stage, resampling or additional optimisation budget.

Network seed Baseline RMSE SA RMSE Baseline relative L2 SA relative L2
7 0.00923862 0.000361239 0.0507283 0.00198353
11 0.000139327 0.000150259 0.000765033 0.000825056
19 0.000180799 0.000222133 0.000992749 0.00121971
Across these three seeds Baseline SA-PINN
Mean RMSE 0.00318625 0.000244543
Sample standard deviation of RMSE 0.00524155 0.000107260
Median RMSE 0.000180799 0.000222133

SA substantially improves seed 7, while seeds 11 and 19 are slightly worse. The mean improvement is dominated by seed 7; the median is worse. Three seeds on this easy equation do not establish general superiority or statistical significance.

Seed Final λ minimum Final λ mean Final λ maximum
7 1.19377 1.26778 1.49433
11 1.19603 1.25758 1.45512
19 1.16187 1.22277 1.42879

Weights developed different values across points and no cap was reached. Raw JSON also preserves maximum field error and final pre-update loss terms. These results were repeated during the documentation update and match the earlier recorded comparison. This is not a reproduction of the paper's stiff benchmark protocols.

Reproduce to a new evidence file:

.venv/bin/python -m examples.compare_self_adaptive --iterations 700 --seeds 7 11 19 --output benchmark-results/sa-poisson-reproduction.json

The report records Git HEAD fe19aed… and tracked changes because the reporting extension was being added when it ran. Selected source hashes identify the exact files used, including that script. This is not a claim of running a clean release or a complete source snapshot. Seeds override the stored base config's network seed; method names override its baseline method. Sampling settings stay fixed.

Steady heat: soft and hard Dirichlet

Detailed nine-run table · Raw JSON · Problem/reference

Problem: Δu+2=0 on [0,1]², u=0 on all edges. 144 interior grid points, 24 per side, tanh 32×32 network, network lr=0.005, 2500 Adam updates per run. Three network seeds: 7, 17, 27. PDE weight 1. Evaluation: 41×41 points against the explicitly truncated reference with 40 odd sine modes per axis. CPU float32, Torch 2.14.1+cpu.

Method / mean BC weight RMSE range over 3 seeds Max absolute error range
Baseline / 10 0.0185791–0.0204918 0.0796043–0.0821636
Baseline / 100 0.0139774–0.0187275 0.0599912–0.0938645
Hard Dirichlet / 1 0.000898833–0.000932801 0.00212636–0.00246223

Hard enforcement improves RMSE and maximum error for every paired seed in this study and exactly enforces the supported constant boundary values. Increasing the soft BC penalty alone is not uniformly beneficial: seed 17's maximum error worsens. The reference is truncated, not an exact finite solution or rigorous error bound. This result does not apply to unsupported mixed/spatial/imported hard BCs.

The existing record is preserved, not rerun during this documentation update. It contains its timestamp, Torch version, grid, reference label, per-run settings, errors and losses. It does not contain full runtime/source hashes; the artifact was introduced in commit 0e37a1e. That commit is provenance of the stored file, not an inferred exact execution revision.

Reproduce to a fresh filename (the heat script itself allows overwriting):

.venv/bin/python -m examples.benchmark_heat_accuracy --output benchmark-results/heat-reproduction.json

Pointwise network compatibility

Raw settings/predictions/errors · Architectures and derivative checks

Unit interval Poisson u_xx+2=0, zero endpoints, reference x(1−x), 32 fixed grid points, 201 including-boundary evaluation points, hidden widths 16,16, seed 7, 700 full-batch updates. CPU float32, one Torch thread. Baseline and SA share the same initial network for each architecture; SA adapts PDE points only (rate 0.005, initial λ=1, cap 1000), global PDE/mean-BC weights are 1/10.

Network lr is 0.003, except SIREN 0.001. Explicit smoke options: axis Fourier/highway/modified frequencies [0,0.5,1]; angular Fourier MLP modes 3, scale 0.1; multiscale Gaussian scales [0.1,0.5], 8 features; SIREN first/hidden omega 10/10; multiplicative filter input scale 0.5. Other options retain their validated defaults. These are not all UI defaults and not an equal-capacity or hyperparameter-search-controlled comparison. Width entries have architecture-specific meaning, so parameter counts differ. No efficiency ranking is made.

Architecture Baseline RMSE SA RMSE
Fully connected 0.002182551 0.0004081843
Fourier MLP (angular) 7.359666e-05 6.320456e-05
Fourier feature NN 0.0001424609 0.0001722684
Highway Fourier NN 3.459548e-05 5.73967e-05
Modified Fourier NN 0.0005386058 0.000642377
Multiscale Fourier NN 5.359752e-05 6.415103e-05
DGM network 0.0001696879 0.0001521516
SIREN 0.000439797 0.0005324064
Multiplicative Fourier NN 4.697537e-05 5.107183e-05
Multiplicative Gabor NN 0.0002652292 0.0002539854

All twenty runs completed with RMSE below 0.003. This is evidence of usable pointwise derivatives/training under those specific settings. One seed on an easy problem does not establish architecture superiority, general SA improvement, or accuracy on stiff/multiscale PDEs. It does not validate neural operators or CUDA. The earlier SA study above used lr=0.005 and different Fourier-free defaults; its values should not be substituted for this study's FCNN row.

Raw JSON includes actual evaluation coordinates/reference, predictions, per-run complete configs, final pre-update loss records, field metrics, adaptive summaries, environment and selected source hashes. It reports the pre-commit HEAD and modified working tree honestly; hashes identify the selected files used, not a complete source archive. Reproduce to a new file:

.venv/bin/python -m examples.benchmark_pointwise_networks --iterations 700 --seed 7 --output benchmark-results/pointwise-networks-new.json

Historical baseline Poisson on CUDA

Preserved manifest, records and aggregate

This archived experiment predates the current Python 3.14 environment. It reports Python 3.9.25, Torch 2.0.1+cu118, NumPy 1.26.4, CUDA runtime 11.8 and an NVIDIA GeForce RTX 3060 Laptop GPU, one CPU thread. Its manifest reports clean source revision b420c5565d0982f7dc1b8156e05cbc4412d19557, created 23 October 2026.

Problem: the same interval Poisson equation/reference, but a different protocol: 32 interior linspace(0,1,34)[1:-1] points, a single two-endpoint BC constraint, 101 evaluation points, tanh 16×16 network, lr=0.01, PDE/BC weights 1/1, 1000 Adam updates. Seeds: 7,17,27. It is not the SA comparison above.

Seed RMSE Relative L2 Max absolute error Training seconds (archived)
7 0.00209995 0.0115592 0.00267881 4.54272
17 0.000853738 0.00469944 0.000882775 3.83487
27 0.000105648 0.000581544 0.000207141 3.83324

The original manifest, summaries and aggregate values were copied unchanged into the curated JSON envelope; their source-file hashes are included. Original full runs remain locally under ignored benchmark-results/baseline-poisson-b420c55/. The curated record does not include original point/prediction arrays or checkpoints. It was not rerun or independently reproduced during this update.

These are historical measurements, not evidence that today's build was tested on CUDA, nor a CPU/GPU speed comparison. Current CUDA tests still skip. The current baseline script can generate a new run on a compatible device, but will not recreate the retired software environment automatically:

.venv/bin/python -m examples.benchmark_poisson --device cuda --seeds 7 17 27 --iterations 1000

What is not established

No current-build CUDA equivalence, cross-version optimiser equivalence, general SA advantage, stiff-paper reproduction, mesh-convergence guarantee or accuracy on arbitrary imported domains follows from these records. Couette and manufactured PDEs currently have regression checks, not a committed multi-seed measured study. Use validation for those exact thresholds and TODO for remaining work.

Learning-rate annealing PINN

Raw settings, source hashes and all balancing events · Method and safeguards

Problem u_xx+2=0 on [0,1], endpoints zero, reference x(1−x). All variants use the same seeded FCNN 16×16, 32 fixed cell-centred points, full-batch Adam rate 0.001, 2,000 updates, static PDE weight 1 and mean BC weight 1 (0.5 per endpoint). LRA uses supplied v1 raw-gradient denominator, alpha 0.9, interval 10 and floor 1e-12. Only the coefficient cap changes between its two variants. Evaluation: 201 uniform points including endpoints, CPU float32, one Torch thread; Python 3.14.8, Torch 2.14.1+cpu, NumPy 2.5.2. No extra optimisation stage.

Network seed Baseline RMSE LRA cap 100 RMSE LRA cap 1,000,000 RMSE
7 0.000299148 0.00425180 0.176026
11 0.000164153 0.000276327 0.179469
19 0.000574412 0.000742293 0.158451

Baseline is more accurate in all three runs. Very small boundary gradients produce large coefficients in the high-cap variant and the PDE fit stalls. Cap 100 substantially improves LRA here; the File → Examples case uses that cap. The cap is a practical guard, not a paper equation or evidence of an optimal setting for other problems. These are post-update field errors, not the changing weighted objectives. Full event histories and final raw losses are preserved.

This small fixed-sample problem does not reproduce the paper's stiff benchmark, minibatch protocol, aggregated-boundary grouping or proposed architecture. It establishes reproducible implemented behaviour and parameter sensitivity, not a ranking of PINN methods. The older SA table uses a different rate, BC weight and budget and must not be compared directly. CUDA remains unvalidated.

Helmholtz with Fourier LRA-PINN

Exact settings, source hashes and balancing histories · Problem and differences from the paper

Equation Δu+u=(1−17π²)sin(πx)sin(4πy), square [−1,1]², zero soft Dirichlet edges, explicit reference sin(πx)sin(4πy). Existing axis Fourier NN with frequencies 1–4, tanh hidden widths 32×32; 1,024 fixed grid interior points, 64 points per edge. LRA alpha 0.9, interval 10, floor 1e-12, cap 10,000; static PDE weight 1 and mean BC weight 1 (0.25 per edge). Full-batch Adam rate 0.001 for 5,000 updates.

Errors after the last update, evaluated on a separate 101×101 grid including edges. CPU float32, one Torch thread, Python 3.14.8, Torch 2.14.1+cpu. Training wall time excludes construction/evaluation; other validation ran concurrently, so these timings are approximate local observations, not performance comparisons.

Network seed RMSE Relative L2 Maximum absolute error Dense-grid PDE residual RMS Maximum boundary error Training seconds
7 0.006596973 0.01332589 0.0193499 3.345981 0.005976811 37.38
11 0.007249426 0.01464384 0.01861102 2.952915 0.006694295 36.79
19 0.004117785 0.008317927 0.01758766 3.896296 0.006933656 38.33

Mean relative L2 across these three seeds: 1.210%. This is a small three-seed demonstration, not a ten-trial estimate or a comparison against other architectures/methods. Known frequencies informed the feature choice.

Dense-grid residuals are higher than the final training-point residuals; the locations differ, and the evaluation grid also includes boundary points where training enforces values rather than PDE residuals. Good field accuracy does not establish uniformly small PDE residuals. Boundary conditions are soft, so their errors are measured rather than assumed zero. The raw JSON retains each edge's maximum error and final pre-update physical losses. Changing weighted objectives are not used as field-accuracy scores.

The paper's problem is retained; its architecture, stochastic/resampling protocol, base-rate schedule and 40,000-update training budget are not. These results do not reproduce or establish superiority to its reported values. CUDA is untested.

Residual sampler workflow check — 28 October 2026

CPU evidence records two 60-update rectangle runs starting from 36 grid points. RAR adds 8 points after updates 20 and 40 (52 final points); importance sampling retains 36 points and applies inverse probability weights. Both reproduce the uninterrupted trajectory exactly after checkpointing at step 25. These checks establish schedule/continuation behaviour, not comparative numerical accuracy. See the sampler guide.

Integral loss workflow — 28 October 2026

CPU record: on a 3 × 2 rectangle, initial scalar PDE/BC losses match mean-MSE losses times the corresponding area/edge length. Fixed and importance-sampled 40-update runs resume identically from update 15. This verifies measure application and continuation, not solution accuracy or convergence superiority. See integral loss.

Burgers workflow — 28 October 2026

CPU record: the original 1D Burgers setup with current Margam defaults is exercised for 100 updates. Checkpoint continuation is identical, predictions/losses are finite, and nine spatial VTI frames carry physical times from 0 to 1. No later-time exact solution or error metric is used; this is not a reproduction of paper accuracy. See Burgers.

Expert PINN workflow — 28 October 2026

Short CPU and CUDA Burgers runs exercise causal weights, RWF, sum-gradient-norm updates every ten steps and Adam decay for 100 updates. Both retain the exact same-device trajectory after checkpoint continuation. Full configuration and balancing histories are recorded; no shock-reference error or paper accuracy is claimed. See Expert PINN.

Supplied-point evaluation workflow

CPU and CUDA records cover four unsorted 1D points and shuffled analytical references after 100 baseline updates. Rebuilt checkpoint predictions agree with the trained model, with zero evaluation optimizer updates and unchanged weights/history. These are workflow checks, not paper reproduction or tuned accuracy results. See the illustrated guide for exact mappings and screenshots.

Prepared triangular training domain

The CPU and CUDA records use 55 interior points and three 12-row boundary sets for Δu−4=0 on a triangle, with mixed imported Dirichlet/Neumann data. Each records 100 initial plus two resumed updates, exact same-device continuation, source hashes and supplied-point CSV/VTU export. The short runs are untuned workflow checks. See the guide for the manufactured reference, errors, screenshots and reproducible commands.

Scale affine Fourier input mapping

New Scale examples now use explicit notebook affine input equations and a learned sine projection, selected through the separate Affine Fourier NN architecture. The CPU and CUDA checks cover all eight cases with six updates, reduced widths/point counts, checkpoint continuation and an uncorrected control. All same-device continuations were identical. Earlier Gaussian-network records are retained as historical evidence, not measurements of these new presets. See the exact mappings and differences.

Gradient-enhanced PINN

CPU and CUDA records cover the manufactured 2D Poisson sine variation, Burgers and Burgers+RAR with six short updates, identical same-device continuation, raw gradient terms and requested evaluation. These verify software behaviour, not paper accuracy. See the illustrated guide.

Residual-based attention

RBA CPU and CUDA records exercise Allen–Cahn and Helmholtz with both initialization modes, six short updates, detached point weights and identical same-device continuation. Raw physical and attention-weighted PDE losses are reported separately. These are implementation checks without accuracy or speedup claims. See the illustrated guide.