Files
optimiz-rs/Cargo.toml
T
ThotDjehuty d780ed81d7 release(v1.1.0): additive CPU-only generic numerical primitives
Adds 9 new top-level / sub-modules to the Rust API only (no Python
bindings yet), with at least one analytic unit test per module.

New Rust modules:
- optimal_control::matrix_riccati  (RK4 backward solver)
- timeseries_utils::nonsync_covariance  (Hayashi-Yoshida)
- timeseries_utils::wavelet  (Haar / Daubechies DWT and MODWT)
- risk_measures  (VaR, CVaR, projected sub-gradient CVaR minimisation)
- graph::laplacian + graph::spectral_clustering  (Jacobi + k-means++)
- topology  (Vietoris-Rips persistent homology, bottleneck distance)
- volterra  (Caputo Adams, Markovian lift, second-kind Volterra,
             Fourier inversion of characteristic functions)
- signatures  (truncated tensor signature, log-sig, random reservoir,
               Salvi-Cass-Lyons signature kernel, shuffle product)

All previously stable APIs untouched; abi3-py38 ABI preserved.
New module tests: 29/29 passing. Pre-existing 5 unrelated failures
unchanged.
2026-05-12 10:59:09 +02:00

43 lines
1.0 KiB
TOML

[package]
name = "optimiz-rs"
version = "1.1.0"
edition = "2021"
authors = ["HFThot Research Lab <contact@hfthot-lab.eu>"]
description = "High-performance optimization algorithms in Rust with Python bindings"
license = "MIT"
repository = "https://github.com/ThotDjehuty/optimiz-r"
keywords = ["optimization", "machine-learning", "statistics", "numerical", "scientific"]
categories = ["algorithms", "science", "mathematics"]
readme = "README.md"
[lib]
name = "optimizr"
crate-type = ["cdylib", "rlib"]
[dependencies]
pyo3 = { version = "0.21", features = ["extension-module", "abi3-py38"], optional = true }
numpy = { version = "0.21", optional = true }
rand = "0.8"
rand_distr = "0.4"
ndarray = "0.15"
ndarray-linalg = { version = "0.16", features = ["openblas-system"] }
num-traits = "0.2"
rayon = "1.8"
thiserror = "1.0"
ordered-float = "4.2"
statrs = "0.17"
[features]
default = []
python-bindings = ["pyo3", "numpy"]
parallel = []
[dev-dependencies]
criterion = "0.5"
approx = "0.5"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1