Wittrick–Williams Mode Enumerator
Implementation & benchmark of arXiv:2608.28683 — A Framework Integrating the Dynamic Stiffness Matrix with Physics-Informed Neural Networks for Solving Eigenvalue Problems and Analysing Dynamic Response
Source paper: A Framework Integrating the Dynamic Stiffness Matrix with Physics-Informed Neural Networks for Solving Eigenvalue Problems and Analysing Dynamic Response arXiv:2608.28683 ⓘ · analyzed Sep 2, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Use a spectral eigenvalue-counting function to bracket each target mode before neural optimization. The network then solves only within an interval containing exactly one eigenfrequency, preventing optimization from repeatedly collapsing to the lowest mode or jumping between modes.
Formulas
Mathematical statement
The paper uses the Wittrick–Williams relation \(j(\omega^*)=j_0+\operatorname{sgn}(\det\mathbf W(\omega^*))n(\omega^*)\), where \(j(\omega^*)\) is the number of structure eigenfrequencies below \(\omega^*\), \(j_0=\sum_mj_m\) counts element frequencies when all nodal displacements are restrained, and \(n(\omega^*)\) is the number of negative pivots in an LDLᵀ factorization of the assembled boundary-conditioned dynamic stiffness matrix. For the beam element, the extracted formula is \(j_m=\operatorname{highest\ integer}[\alpha/\pi]+0.5(2-\operatorname{sign}(\beta L)-\operatorname{sign}(\beta L-(\gamma L)^2/(\beta L)))\). The count is piecewise constant and increases by one at each eigenfrequency. The transferable mechanism is inertia-based eigenvalue counting of an indefinite frequency-dependent operator, which produces certified brackets for mode isolation.
Implementation notes
1. Integration point: add a preprocessing and training wrapper around a neural eigenmode solver. The wrapper receives an assembled symmetric dynamic stiffness matrix \(W(\omega)\), a boundary-condition-reduced matrix, and a requested mode index \(k\). 2. Pseudocode: scan an increasing frequency grid \(\omega_i\); at each point perform an LDLᵀ factorization of the reduced matrix and count negative diagonal pivots \(n(\omega_i)\); compute the element correction \(j_0=\sum_mj_m\) using the supplied \(\alpha,\beta,\gamma\) formula; evaluate \(j(\omega_i)\). Find adjacent grid points \([\omega_k^-,\omega_k^+]\) with \(j(\omega_k^-)=k-1\) and \(j(\omega_k^+)=k\), then bisect until the interval width is below tolerance. Initialize a separate MLP head for each bracket, optimize its parameters and frequency using the DSM residual and box penalty, and optionally freeze frequency for the first 20% of training. 3. LDLᵀ inertia and bisection are deterministic; the network estimates only the eigenvector. Near poles or tiny pivots, use a threshold \(|d_i|<10^{-10}\|W\|_\infty\) and repeat with a small frequency perturbation. 4. First experiment: use clamped-free and clamped-clamped beams with 16 elements and target modes 1–8. Compare unconstrained DSM-PINN, DSM-PINN with orthogonality penalties, and WW-bracketed DSM-PINN using equal 10,000-step budgets. Evaluate frequency error, modal assurance criterion against FEM eigenvectors, and the number of runs converging to an already-found lower mode. 5. Pre-register mechanism tests: every accepted bracket must contain exactly one reference eigenfrequency; the count must be monotone nondecreasing on a frequency grid except for numerical tolerance; and the fraction of runs converging to a lower mode must fall below 5%, versus at least 25% for unconstrained optimization. Measure bracket correctness against a high-accuracy generalized eigensolver and mode identity using \(\mathrm{MAC}(u,v)=|u^Tv|^2/[(u^Tu)(v^Tv)]\). Falsification is systematic count non-monotonicity, more than 2% incorrect brackets, or no reduction in lower-mode collapse.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
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 7/10
Built a compact Wittrick–Williams-style inertia enumerator for a clamped-free FEM beam, with frequency scanning, bisection bracketing, and bracketed neural optimization. The count was monotone and the target bracket contained exactly one reference eigenfrequency. In eight fixed-seed trials, lower-mode collapse decreased from 12.5% to 0%, but exact target-mode identification remained 12.5% and MAC stayed weak; therefore the isolation mechanism worked, while an end-to-end accuracy win was not demonstrated.
- Agent confidence
- 7/10
- Baseline
- 8 seeds: lower-mode rate 12.5%, exact target-mode identification 12.5%
- Idea
- 8 seeds: lower-mode rate 0%, exact target-mode identification 12.5%; bracket width 6.16e-4 and exactly 1 eigenfrequency contained
Limitations: Only one 8-element clamped-free beam and target mode were tested; the FEM inertia count substitutes for the full beam-element j0 correction, CUDA/CPU parity and LDL pivot perturbation behavior were not independently benchmarked, and the neural optimizer was a simple direct-vector prototype rather than the paper's full DSM-PINN.
How to run: python3 experiment.py > results2.json
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.28683)
No significant difference vs. the tuned baseline (−-0.0%, p=1, wins 0 / 8 paired seeds).
- Benchmark
- Poisson_boundary
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0053
- Idea mean
- 0.0053
- Effect (Δ)
- 0 (−-0.0%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 1 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.0%
- Mechanism
- Not confirmed ✗
- Practical effect
- No effect
- Baseline tuning
- swept over 3 configs
The registered Poisson track does not expose a frequency-dependent dynamic-stiffness operator or eigenmode output, so a genuine WW neural training intervention could not be represented without changing the task. The finite-difference WW check was monotone but its bracket contained two eigenvalues.
How to run: python3 ww_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 10/10
The registered poisson_boundary benchmark used a tuned baseline sweep and eight paired seeds. The WW count was monotone, but the selected bracket contained two eigenvalues rather than exactly one, and baseline and idea had identical test MSE; paired delta was 0 with p=1.0, so there is no demonstrated win.
- Baseline
- mean test MSE 0.0052656280 over 8 seeds; best lr=0.006, epochs=18
- Idea
- mean test MSE 0.0052656280 over 8 seeds; paired delta=0.0, permutation p=1.0
Benchmark result
No significant difference vs. the tuned baseline (−-0.0%, p=1, wins 0 / 8 paired seeds).
- Benchmark
- Poisson_boundary
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0053
- Idea mean
- 0.0053
- Effect (Δ)
- 0 (−-0.0%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 1 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.0%
- Mechanism
- Not confirmed ✗
- Practical effect
- No effect
- Baseline tuning
- swept over 3 configs
The registered Poisson track does not expose a frequency-dependent dynamic-stiffness operator or eigenmode output, so a genuine WW neural training intervention could not be represented without changing the task. The finite-difference WW check was monotone but its bracket contained two eigenvalues.
How to run: python3 ww_bench.py
Artifacts
- bench_report.json 3.6 KB View Raw
- custom_beam_track.py 1.3 KB View Raw
- experiment.py 4.8 KB View Raw
- report.md 1.4 KB View
- report_bench_2026-09-03T004229.md 3.6 KB View
- results.json 2.3 KB View Raw
- results2.json 2.3 KB View Raw
- run_bench.py 4.8 KB View Raw
- ww_bench.py 4.4 KB View Raw