Show HN: A NaN-immune explicit ODE solver that survives where RK4 explodes Independent researcher Pratyaksh Raj published the Pratyaksh Framework, a self-limiting TVD explicit Runge-Kutta family that stays 100% explicit and matrix-free while avoiding the NaN explosions that strike classical RK4 on stiff Neural ODE latent spaces. In a 120-step benchmark run via live_terminal_showdown.py at dt = 0.028, classical RK4 diverged from 10.775120 at step 001 to 5,810,720,740.52 by step 012 and returned NaN from step 013 onward, while the Pratyaksh solver remained stable, advancing from 2.087566 to 9.764465 over the same steps. The manuscript is posted as arXiv: math.NA / cs.CE and targets real-time physics, robotics, and scientific computing, where the standard workaround has been implicit solvers such as BDF that require large matrix computations. A Self-Limiting TVD Explicit Runge-Kutta Family for Real-Time Physics, Robotics, and Scientific Computing Author: Pratyaksh Raj Contact: pratyakshnarayanlal1@gmail.com Manuscript: The Pratyaksh Framework: A Self-Limiting TVD Explicit Runge-Kutta Family for Real-Time Physics, Robotics, and Scientific Computing arXiv: math.NA / cs.CE In continuous-depth ML Neural ODEs , weight matrices often learn highly compressed, "stiff" latent spaces. Standard explicit solvers like RK4 or DOPRI5 suffer from catastrophic NaN explosions during these stiff transients, forcing the network to take infinitely small time-steps. The industry workaround is to use Implicit solvers like BDF , which require computing massive The Pratyaksh Framework solves this by acting as an autonomous mathematical shock-absorber. It remains 100% explicit and matrix-free, yet gracefully navigates stiff latent manifolds without exploding. Running the stiff Neural ODE benchmark python3 live terminal showdown.py demonstrates RK4 mathematically detonating, while the Pratyaksh framework automatically damps the shock: Click to expand full 120-step terminal output ======================================================================== LIVE TERMINAL SHOWDOWN: Classical RK4 vs. The Pratyaksh Framework ======================================================================== Simulating highly stiff latent space... dt = 0.028 Step | Time | Pratyaksh 'u' | Classical RK4 'u' | Status ------------------------------------------------------------------------ 001 | 0.03s | 2.087566 | 10.775120 | Running... 002 | 0.06s | 2.179691 | 65.514174 | Running... 003 | 0.08s | 2.276612 | 406.95 | 🚨 RK4 Diverging 004 | 0.11s | 2.378579 | 2536.62 | 🚨 RK4 Diverging 005 | 0.14s | 2.485855 | 15820.26 | 🚨 RK4 Diverging 006 | 0.17s | 2.598716 | 98675.61 | 🚨 RK4 Diverging 007 | 0.20s | 2.717453 | 615477.59 | 🚨 RK4 Diverging 008 | 0.22s | 2.842373 | 3838978.29 | 🚨 RK4 Diverging 009 | 0.25s | 2.973796 | 23945241.52 | 🚨 RK4 Diverging 010 | 0.28s | 3.112062 | 149356047.82 | 🚨 RK4 Diverging 011 | 0.31s | 3.257527 | 931593411.06 | 🚨 RK4 Diverging 012 | 0.34s | 3.410566 | 5810720740.52 | 🚨 RK4 Diverging 013 | 0.36s | 3.571574 | NaN | 🟢 Pratyaksh Stable 014 | 0.39s | 3.740965 | NaN | 🟢 Pratyaksh Stable 015 | 0.42s | 3.919177 | NaN | 🟢 Pratyaksh Stable 016 | 0.45s | 4.106668 | NaN | 🟢 Pratyaksh Stable 017 | 0.48s | 4.303922 | NaN | 🟢 Pratyaksh Stable 018 | 0.50s | 4.511447 | NaN | 🟢 Pratyaksh Stable 019 | 0.53s | 4.729779 | NaN | 🟢 Pratyaksh Stable 020 | 0.56s | 4.959479 | NaN | 🟢 Pratyaksh Stable 021 | 0.59s | 5.201141 | NaN | 🟢 Pratyaksh Stable 022 | 0.62s | 5.455387 | NaN | 🟢 Pratyaksh Stable 023 | 0.64s | 5.722872 | NaN | 🟢 Pratyaksh Stable 024 | 0.67s | 6.004286 | NaN | 🟢 Pratyaksh Stable 025 | 0.70s | 6.300355 | NaN | 🟢 Pratyaksh Stable 026 | 0.73s | 6.611841 | NaN | 🟢 Pratyaksh Stable 027 | 0.76s | 6.939547 | NaN | 🟢 Pratyaksh Stable 028 | 0.78s | 7.284319 | NaN | 🟢 Pratyaksh Stable 029 | 0.81s | 7.647045 | NaN | 🟢 Pratyaksh Stable 030 | 0.84s | 8.028660 | NaN | 🟢 Pratyaksh Stable 031 | 0.87s | 8.430147 | NaN | 🟢 Pratyaksh Stable 032 | 0.90s | 8.852542 | NaN | 🟢 Pratyaksh Stable 033 | 0.92s | 9.296933 | NaN | 🟢 Pratyaksh Stable 034 | 0.95s | 9.764465 | NaN | 🟢 Pratyaksh Stable 035 | 0.98s | 10.256345 | NaN | 🟢 Pratyaksh Stable 036 | 1.01s | 10.773839 | NaN | 🟢 Pratyaksh Stable 037 | 1.04s | 11.318282 | NaN | 🟢 Pratyaksh Stable 038 | 1.06s | 11.891078 | NaN | 🟢 Pratyaksh Stable 039 | 1.09s | 12.493701 | NaN | 🟢 Pratyaksh Stable 040 | 1.12s | 13.127707 | NaN | 🟢 Pratyaksh Stable 041 | 1.15s | 13.794729 | NaN | 🟢 Pratyaksh Stable 042 | 1.18s | 14.496486 | NaN | 🟢 Pratyaksh Stable 043 | 1.20s | 15.234788 | NaN | 🟢 Pratyaksh Stable 044 | 1.23s | 16.011537 | NaN | 🟢 Pratyaksh Stable 045 | 1.26s | 16.828736 | NaN | 🟢 Pratyaksh Stable 046 | 1.29s | 17.688490 | NaN | 🟢 Pratyaksh Stable 047 | 1.32s | 18.593017 | NaN | 🟢 Pratyaksh Stable 048 | 1.34s | 19.544648 | NaN | 🟢 Pratyaksh Stable 049 | 1.37s | 20.545835 | NaN | 🟢 Pratyaksh Stable 050 | 1.40s | 21.599159 | NaN | 🟢 Pratyaksh Stable 051 | 1.43s | 22.707336 | NaN | 🟢 Pratyaksh Stable 052 | 1.46s | 23.873221 | NaN | 🟢 Pratyaksh Stable 053 | 1.48s | 25.099820 | NaN | 🟢 Pratyaksh Stable 054 | 1.51s | 26.390295 | NaN | 🟢 Pratyaksh Stable 055 | 1.54s | 27.747972 | NaN | 🟢 Pratyaksh Stable 056 | 1.57s | 29.176351 | NaN | 🟢 Pratyaksh Stable 057 | 1.60s | 30.679113 | NaN | 🟢 Pratyaksh Stable 058 | 1.62s | 32.260132 | NaN | 🟢 Pratyaksh Stable 059 | 1.65s | 33.923482 | NaN | 🟢 Pratyaksh Stable 060 | 1.68s | 35.673453 | NaN | 🟢 Pratyaksh Stable 061 | 1.71s | 37.514553 | NaN | 🟢 Pratyaksh Stable 062 | 1.74s | 39.451530 | NaN | 🟢 Pratyaksh Stable 063 | 1.76s | 41.489375 | NaN | 🟢 Pratyaksh Stable 064 | 1.79s | 43.633341 | NaN | 🟢 Pratyaksh Stable 065 | 1.82s | 45.888955 | NaN | 🟢 Pratyaksh Stable 066 | 1.85s | 48.262031 | NaN | 🟢 Pratyaksh Stable 067 | 1.88s | 50.758685 | NaN | 🟢 Pratyaksh Stable 068 | 1.90s | 53.385352 | NaN | 🟢 Pratyaksh Stable 069 | 1.93s | 56.148805 | NaN | 🟢 Pratyaksh Stable 070 | 1.96s | 59.056164 | NaN | 🟢 Pratyaksh Stable 071 | 1.99s | 62.114925 | NaN | 🟢 Pratyaksh Stable 072 | 2.02s | 65.332971 | NaN | 🟢 Pratyaksh Stable 073 | 2.04s | 68.718598 | NaN | 🟢 Pratyaksh Stable 074 | 2.07s | 72.280531 | NaN | 🟢 Pratyaksh Stable 075 | 2.10s | 76.027953 | NaN | 🟢 Pratyaksh Stable 076 | 2.13s | 79.970522 | NaN | 🟢 Pratyaksh Stable 077 | 2.16s | 84.118402 | NaN | 🟢 Pratyaksh Stable 078 | 2.18s | 88.482282 | NaN | 🟢 Pratyaksh Stable 079 | 2.21s | 93.073412 | NaN | 🟢 Pratyaksh Stable 080 | 2.24s | 97.903626 | NaN | 🟢 Pratyaksh Stable 081 | 2.27s | 102.985374 | NaN | 🟢 Pratyaksh Stable 082 | 2.30s | 108.331754 | NaN | 🟢 Pratyaksh Stable 083 | 2.32s | 113.956547 | NaN | 🟢 Pratyaksh Stable 084 | 2.35s | 119.874252 | NaN | 🟢 Pratyaksh Stable 085 | 2.38s | 126.100122 | NaN | 🟢 Pratyaksh Stable 086 | 2.41s | 132.650204 | NaN | 🟢 Pratyaksh Stable 087 | 2.44s | 139.541382 | NaN | 🟢 Pratyaksh Stable 088 | 2.46s | 146.791419 | NaN | 🟢 Pratyaksh Stable 089 | 2.49s | 154.419002 | NaN | 🟢 Pratyaksh Stable 090 | 2.52s | 162.443792 | NaN | 🟢 Pratyaksh Stable 091 | 2.55s | 170.886473 | NaN | 🟢 Pratyaksh Stable 092 | 2.58s | 179.768807 | NaN | 🟢 Pratyaksh Stable 093 | 2.60s | 189.113689 | NaN | 🟢 Pratyaksh Stable 094 | 2.63s | 198.945206 | NaN | 🟢 Pratyaksh Stable 095 | 2.66s | 209.288699 | NaN | 🟢 Pratyaksh Stable 096 | 2.69s | 220.170830 | NaN | 🟢 Pratyaksh Stable 097 | 2.72s | 231.619648 | NaN | 🟢 Pratyaksh Stable 098 | 2.74s | 243.664664 | NaN | 🟢 Pratyaksh Stable 099 | 2.77s | 256.336924 | NaN | 🟢 Pratyaksh Stable 100 | 2.80s | 269.669092 | NaN | 🟢 Pratyaksh Stable 101 | 2.83s | 283.695533 | NaN | 🟢 Pratyaksh Stable 102 | 2.86s | 298.452401 | NaN | 🟢 Pratyaksh Stable 103 | 2.88s | 313.977732 | NaN | 🟢 Pratyaksh Stable 104 | 2.91s | 330.311546 | NaN | 🟢 Pratyaksh Stable 105 | 2.94s | 347.495943 | NaN | 🟢 Pratyaksh Stable 106 | 2.97s | 365.575217 | NaN | 🟢 Pratyaksh Stable 107 | 3.00s | 384.595969 | NaN | 🟢 Pratyaksh Stable 108 | 3.02s | 404.607226 | NaN | 🟢 Pratyaksh Stable 109 | 3.05s | 425.660570 | NaN | 🟢 Pratyaksh Stable 110 | 3.08s | 447.810266 | NaN | 🟢 Pratyaksh Stable 111 | 3.11s | 471.113407 | NaN | 🟢 Pratyaksh Stable 112 | 3.14s | 495.630059 | NaN | 🟢 Pratyaksh Stable 113 | 3.16s | 521.423415 | NaN | 🟢 Pratyaksh Stable 114 | 3.19s | 548.559960 | NaN | 🟢 Pratyaksh Stable 115 | 3.22s | 577.109640 | NaN | 🟢 Pratyaksh Stable 116 | 3.25s | 607.146043 | NaN | 🟢 Pratyaksh Stable 117 | 3.28s | 638.746592 | NaN | 🟢 Pratyaksh Stable 118 | 3.30s | 671.992738 | NaN | 🟢 Pratyaksh Stable 119 | 3.33s | 706.970176 | NaN | 🟢 Pratyaksh Stable 120 | 3.36s | 743.769064 | NaN | 🟢 Pratyaksh Stable ======================================================================== FATAL ERROR: Classical RK4 suffered NaN overflow. SUCCESS: The Pratyaksh Framework autonomously damped the shock. The Pratyaksh Integrator uses only basic operations addition, multiplication, and a single differentiable vector-norm division . This means you can use Direct Autograd backprop-through-time without custom implicit differentiation rules. If memory is a bottleneck, you can plug the Pratyaksh Integrator directly into the $O 1 $ Adjoint Method to integrate backward explicitly, bypassing the The entire solver is contained in a single self-contained C++20 header file: pratyaksh.hpp https://github.com/Pratyaksh3142/The-Pratyaksh-Framework/blob/main/pratyaksh.hpp . include "pratyaksh.hpp" include