Skip to content
#diffusion models Open access

ProbNumDiffEq.jl: Probabilistic Numerical Solvers for Ordinary Differential Equations in Julia

Oct 2026 · Zenodo (CERN European Organization for Nuclear Research)

Abstract

ProbNumDiffEq v0.18.0 Diff since v0.17.1 Breaking changes ClassicSolverInit no longer has a default alg, and ProbNumDiffEq no longer depends on OrdinaryDiffEqVerner and OrdinaryDiffEqRosenbrock (#426). Pass an algorithm explicitly, e.g. ClassicSolverInit(AutoTsit5(Rosenbrock23())). DynamicMVDiffusion and a calibrated FixedMVDiffusion now require a block-diagonal covariance, i.e. the EK0 with an IWP prior or the DiagonalEK1 (#454). Other setups, such as the EK0 with an IOUP or Matern prior, now throw an ArgumentError when the algorithm is constructed. Use a scalar diffusion or an uncalibrated FixedMVDiffusion(diffusion, false) instead. The observation noise covariance of the data likelihoods (DataUpdateCallback, dalton_data_loglik, filtering_data_loglik, fenrir_data_loglik) must be positive definite; e.g. observation_noise_cov = 0 now throws an ArgumentError (#456). ManifoldUpdate throws if the residual is longer than the ODE dimension or if its measurement covariance is singular (#432). The residual needs one component per independent constraint and must not be zero-padded to length(u). solve with saveat now throws an ArgumentError; it used to return an inconsistent solution (#429). Scalar diffusion models (FixedDiffusion, DynamicDiffusion) store sol.diffusions as numbers instead of Diagonal matrices (#442). LTISDE is no longer iterable: use drift(sde) and dispersion(sde) instead of F, L = to_sde(prior) (#449). Bug fixes sample applied the smoothing correction twice, so sampled trajectories understated the posterior uncertainty (#438). With save_everystep=false, the final covariance was not calibrated and dense evaluation threw a BoundsError (#429). Data log-likelihoods (#456): Fenrir ignored the last data point when it lay before the end of the time span; a data point at t0 gave wrong values in all three methods; and with the EK0 (Kronecker covariance), all data log-likelihoods and sol.pnstats.log_likelihood were off by a logdet term for d > 1. FixedMVDiffusion calibrated every dimension with the first diagonal entry of the measurement covariance. This changes the calibrated covariances of DiagonalEK1(diffusionmodel=FixedMVDiffusion()) and of the EK0 with a diagonal mass matrix (#454). DiagonalEK1 lost its AD settings (e.g. standardtag, concrete_jac) when solved, because remake reset them to the defaults (#460). PNStats printed the log-likelihood truncated to an integer (#445). New features Partial observations in the data likelihoods for the DiagonalEK1 (#441). Performance Dense output and sampling keep the Kronecker and block-diagonal covariance structure (#452), and their cost no longer grows with the number of saved points (#445). ManifoldUpdate is about 3x faster and allocates far less (#432). Fixed-step solves reuse the transition matrices whenever the step size repeats (#446). Dropped the ToeplitzMatrices dependency, which removes 8 packages from the dependency tree and speeds up loading (#451). Other Clear errors for solves backward in time, and for non-diagonal mass matrices with block-diagonal covariances (#450). Merged pull requests: Remove default alg from ClassicSolverInit; drop Verner/Rosenbrock deps (#426) (@nathanaelbosch) Try DocumenterCodeBlocks.jl for nicer code highlighting (#427) (@nathanaelbosch) Fix the solution bookkeeping for save_everystep=false (#428) (#429) (@nathanaelbosch) Access postamble! via SciMLBase instead of OrdinaryDiffEqCore (#431) (@ChrisRackauckas-Claude) Speed up the ManifoldUpdate callback and remove its allocations (#432) (@nathanaelbosch) Fix CodeQuality tests (#433) (@nathanaelbosch) Use explicit display text for @cite references in docstrings (#434) (@nathanaelbosch) Add energy conservation benchmarks (#436) (@nathanaelbosch) Fix x_filt/x_smooth aliasing bug (#438) (@nathanaelbosch) Support partial observations in data likelihoods for DiagonalEK1 (#441) (@nathanaelbosch) Store scalar diffusions as Numbers instead of Fill-backed Diagonals (#442) (@nathanaelbosch) Remove dead code in initialization, diffusions and fast_linalg (#443) (@nathanaelbosch) Remove unused fields from EKCache (#444) (@nathanaelbosch) Fix dense-evaluation cost and PNStats printing; simplify solution types (#445) (@nathanaelbosch) Clean up perform_step! and the diagonal diffusion checks (#446) (@nathanaelbosch) Allocation-free getupperright!, drop reshape_no_alloc, rename IsometricKroneckerProduct (#447) (@nathanaelbosch) Small cleanups in initialization (#448) (@nathanaelbosch) Small cleanups in priors (#449) (@nathanaelbosch) Small fixes: clearer errors, _unwrap_f, and hygiene (#450) (@nathanaelbosch) Drop the ToeplitzMatrices dependency (#451) (@nathanaelbosch) Keep Kronecker and block-diagonal structure in dense output and sampling (#452) (@nathanaelbosch) Comments only, no code changes. (#453) (@nathanaelbosch) Restrict multivariate diffusion estimates to block-diagonal covariances, and fix FixedMVDiffusion calibration (#454) (@nathanaelbosch) Add AGENTS.md with guidance for coding agents (#455) (@nathanaelbosch) Fix data log-likelihoods at t0, before the end of the time span, and with Kronecker covariances (#456) (@nathanaelbosch) Lift dense filtering steps to structured covariances through two helpers (#459) (@nathanaelbosch) Keep DiagonalEK1's AD settings through remake (#460) (@nathanaelbosch) Closed issues: Improve speed and reduce allocations in the ManifoldUpdate callback (#126) Solving Forward and Inverse Problems (#196) workflow: linear_gaussian_filtering_smoothing (#197) Try using TaylorDiff.jl instead of TaylorIntegration.jl (#253) Add unit tests for the functions implemented in scr/fast_linalg.jl (#254) Add one or more energy conservation benchmarks (#277) Use FastLapackInterface.jl? (#300) Make partial observations in the data likelihoods work with the DiagonalEK1 (#303) Fix the usage of idxs in plot recipes (#315) Citations in docstrings are not visualized properly in the REPL (#329) save_everystep=false returns an uncalibrated final covariance with static diffusions (#428) Fenrir: support second-order ODEs with block-diagonal covariances (#458)

View source

Similar papers

#computer vision Open access Jun 2016

Software Development in Startup Companies: The Greenfield Startup Model

The results are packaged in the Greenfield Startup Model (GSM), which explains the priority of startups to release the product as quickly as possible, and the need to shorten time-to-market, by speeding up the development through low-precision engineering activities.

Carmine Giardino, Nicolò Paternoster, M. Unterkalmsteiner et al. · 178 citations · ⚡14
#computer vision Open access Oct 2016

Software Startups - A Research Agenda

Software startup companies develop innovative, software-intensive products within limited timeframes and with few resources, searching for sustainable and scalable business models.

M. Unterkalmsteiner, P. Abrahamsson, Xiaofeng Wang et al. · 157 citations · ⚡17
#machine learning Review Open access Oct 2016

“Failures” to be celebrated: an analysis of major pivots of software startups

This study conducts a case survey study based on the secondary data of the major pivots happened in 49 software startups, and demonstrates that customer need pivot is the most common among all pivot types.

Sohaib Shahid Bajwa, Xiaofeng Wang, Anh Nguyen-Duc et al. · 127 citations · ⚡15
#computer vision Review Open access May 2015

A survey study on major technical barriers affecting the decision to adopt cloud services

The comparison of adopter and non-adopter sample reveals three potential adoption inhibitor, security, data privacy, and portability, which underlines the importance of the technical and security perspectives for research investigating the adoption of technology.

Nattakarn Phaphoom, Xiaofeng Wang, S. Samuel et al. · 111 citations · ⚡8
#computer vision Open access Feb 2018

Lean Internal Startups for Software Product Innovation in Large Companies: Enablers and Inhibitors

This study investigates how Lean internal startup facilitates software product innovation in large companies and identifies its enablers and inhibitors, and shows the potential of the method-in-action framework to investigate the Lean startup approach in non-startup context.

Henry Edison, Nina M. Smørsgård, Xiaofeng Wang et al. · 78 citations · ⚡6
#computer vision Conference Sep 2010

Exploring the Sources of Waste in Kanban Software Development Projects

The application of agile software methods and more recently the integration of Lean practices contribute to the trend of continuous improvement in the software industry. One such area warranting proper empirical evidence is a project’s operational efficiency when using the Kanban method. This short paper takes a new an...

Marko Ikonen, Petri Kettunen, Nilay V. Oza et al. · 67 citations · ⚡9

Related blog posts

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.