SolvSRK: Integration
Python API
import numpy as np
import solvsrk
def rhs(t, y):
return np.array([-y[0]])
cfg = solvsrk.config_defaults()
cfg.cvode_rtol = 1e-6
cfg.cvode_atol = 1e-8
result = solvsrk.run(cfg, ndim=1, t0=0.0, t_end=10.0, y0=(1.0,), rhs_fn=rhs)
# result["survived"], result["y_final"], result["nfev"], result["wall_s"]SolvSRK-UQ (terminal envelope)
Trials include UQ. Purchased seats need the SolvSRK-UQ add-on
(features: uq) or SolvSRK-Edge (features: edge).
import solvsrk
if solvsrk.license_has_uq():
cfg = solvsrk.config_defaults()
result = solvsrk.run(
cfg, ndim=1, t0=0.0, t_end=10.0, y0=(1.0,), rhs_fn=rhs,
emit_uq=True, noise_sigma=1e-3,
)
# result["uq_sigma"], result["uq_t_handoff"]Full walkthrough: SolvSRK-UQ and journey 04_diagnostics.py.
C API
#include "solvsrk.h"
solvsrk_config_t cfg;
solvsrk_config_defaults(&cfg);
solvsrk_result_t res;
solvsrk_run(&cfg, ndim, t0, t_end, y0, rhs_fn, NULL, NULL, NULL, &res);See c/docs/API_v2.md in the distribution repo for the full ABI.
Editions
- SolvSRK-Edge — same binary, cross-compiled for tactical targets (includes UQ)
- SolvSRK-UQ —
emit_uq=Trueterminal uncertainty envelope (trial-included; purchased add-on)
Related products
Filter primitive: SolvFilter. Deterministic substrate: SolvNum. UQ add-on: SolvSRK-UQ.