Single-Neuron Dynamics for Neural Interfaces
The FitzHugh-Nagumo neuron model under channel noise — proving SolvSRK survives even on non-stiff oscillatory dynamics where standard solvers fail.
- 33/33
- SolvSRK seeds survived
- 0/30
- BDF seeds survived
- 24ms
- SolvSRK median wall time
- S0
- Stiffness (non-stiff)
The scenario
Set the picture
Brain-computer interfaces (BCIs) and neural prosthetics rely on accurate single-neuron models for signal decoding and stimulation design. The FitzHugh-Nagumo model captures the fundamental excitation-recovery dynamics of a neuron with two state variables: membrane potential and recovery current.
In neural interface applications, channel noise from ion channel stochasticity, electrode impedance variations, and amplifier noise are unavoidable. The solver must integrate through these noise sources to produce reliable predictions of neural firing patterns, refractory periods, and stimulus-response curves.
Cost today
Even though the single FitzHugh-Nagumo model is non-stiff (class S0), standard solvers still fail under noise. BDF crashed on all 30 seeds in under 1.2 seconds. Radau achieved 0 survival on 27 seeds attempted (3 lost to worker recovery), timing out at 10 seconds each.
This demonstrates that noise robustness is a separate concern from stiffness handling. A solver can be excellent at stiff systems and still fail completely when the right-hand side is stochastic.
What changes with SolvSRK
SolvSRK survived all 33 seeds (30 planned + 3 from worker recovery re-queue) with a median wall time of 24ms and 1,146 function evaluations. SolvSRK's noise-conditioning architecture handles stochastic function evaluations regardless of the system's stiffness class.
For neural interface development, this means single-neuron models can run with biologically realistic channel noise — enabling more accurate stimulus-response predictions, better BCI decoder training, and more reliable closed-loop stimulation design.
Measurable outcome
What we claim — and how it survives review
Each line below maps to a captured number in the demo section. Every number is reproducible from the benchmark suite.
- SolvSRK: 33/33 seeds survived (100% — includes 3 recovery re-queued seeds).
- BDF: 0/30 survived — crash in <1.2s, 2K–51K nfev.
- Radau: 0/27 survived — timeout at 10s (3 units lost to worker recovery).
- SolvSRK median wall time: 24ms.
- SolvSRK median function evaluations: 1,146.
- Non-stiff system (S0) — proves noise robustness is independent of stiffness handling.
The demo
What was tested. How. What the simulation printed.
Benchmark: single FitzHugh-Nagumo neuron model. Stiffness class S0, dimension 2, t_span [0, 50.0]. Two state variables: membrane potential (v) and recovery variable (w). Gaussian noise at sigma=0.001.
Three solver arms: SolvSRK, scipy BDF, scipy Radau. 30 seeds planned per solver; SolvSRK ran 33 due to 4 orphaned units being re-queued after worker recovery. Reference solution computed with ||y_ref|| = 1.392.
BDF failure mode varied across seeds — some crashed in 41ms (2K nfev), others ran for 1.2s (51K nfev). The noise seed determines which Newton iteration diverges first. Radau uniformly timed out at 10 seconds with 413K–757K nfev.
Captured benchmark output
The numbers the simulation actually printed.
| Solver | Survived | Survival % | Median nfev | Median wall (s) | Failure mode |
|---|---|---|---|---|---|
| SolvSRK | 33/33 | 100% | 1,146 | 0.024 | — |
| BDF | 0/30 | 0% | — | <1.2 | Crash |
| Radau | 0/27 | 0% | — | 10.0 (cap) | Timeout |
Claim ID: MEDTECH-FHN1. Topic: solvsrk-reval-medtech. 33 SolvSRK seeds (recovery re-queue), 30 BDF, 27 Radau. Gaussian noise sigma=0.001.
Composes with
Where this POC sits in the validation suite
Evidence pointers
Where the claims live in the evidence register
These are the validation sources a reviewer should trace to verify every number on this page.
- Claim MEDTECH-FHN1 — Grade A CONFIRMED. Topic: solvsrk-reval-medtech.
- Sub-finding SF-MEDTECH-1: SolvSRK stiffness-invariant survival (S0–S2).
- Problem: fitzhugh_nagumo (single neuron). Stiffness: S0. Dim: 2.
- 90 runs total (33 SolvSRK + 30 BDF + 27 Radau). Noise: Gaussian sigma=0.001.
- Triage date: 2026-05-08. Phase verdict: CLOSED.
Want to see these numbers on your model?
Run the benchmark on your actual physiological system.
Two weeks, fully credited. Every claim above traces back to a simulation you can verify.