Skip to main content

A Rust library for solving initial value problems (IVPs) for ordinary differential equations (ODEs).

Project description

ivp

crates.io docs.rs

Documentation | Examples | GitHub | Crates.io


A library of numerical methods for solving initial value problems (IVPs)
for the Rust programming language.


This library provides a pure rust implementation of SciPy's solve_ivp function with slight modifications to the API to better fit Rust's design patterns.

Currently implemented solvers:

  • DOP853: An 8th order Dormand-Prince method with step-size control and dense output.
  • DOPRI5: A 5th order Dormand-Prince method with step-size control and dense output.
  • RK4: The classic 4th order Runge-Kutta method with fixed step-size and cubic Hermite interpolation for dense output.
  • RK23: A 3rd order Runge-Kutta method with 2nd order error estimate for step-size control.
  • Radau: A 5th order implicit Runge-Kutta method of Radau IIA type with step-size control and dense output.
  • BDF: A variable-order (1 to 5) Backward Differentiation Formula method for stiff ODEs with adaptive step-size control and dense output.

Note: This crate uses dynamically sized arrays (Vec) internally to provide flexibility and to simplify Python bindings. For workloads that require maximal performance with statically sized arrays (compile-time sizes), consider the differential-equations project, which provides additional solvers and features (SDEs, DDEs, DAEs). This crate targets users seeking a Rust implementation of SciPy's solve_ivp with a familiar API.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ivp_rs-0.1.2.tar.gz (105.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ivp_rs-0.1.2-cp39-abi3-win_arm64.whl (286.6 kB view details)

Uploaded CPython 3.9+Windows ARM64

File details

Details for the file ivp_rs-0.1.2.tar.gz.

File metadata

  • Download URL: ivp_rs-0.1.2.tar.gz
  • Upload date:
  • Size: 105.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for ivp_rs-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8d9e441ce61ded8ba8e6230ca49d2ce17905f734ed4bf1e6d42f104252155370
MD5 a7916da5a438bddfd433cdcb3f920cfe
BLAKE2b-256 37362075997616bfbfa7b8aa13969e2446fab3883f955e43147ba7373f3c3ac1

See more details on using hashes here.

File details

Details for the file ivp_rs-0.1.2-cp39-abi3-win_arm64.whl.

File metadata

  • Download URL: ivp_rs-0.1.2-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 286.6 kB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for ivp_rs-0.1.2-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 f5cd3a4e26300bd0a774de0a23f54ee9dfcb6da8eb6d6ad33f3e2ca674803716
MD5 2ca5411e3359eac34150da095329f41b
BLAKE2b-256 511278e431614fd86efce4c5e823f9ae2eb2404a7959d56415101a4c2db802fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page