d6b6018b9c
Phase 1 (top-level reorg):
- matrix_riccati promoted to crate root via re-export
- new top-level groups: bsde, pde, stochastic_control,
agent_based, inference, optimization
Phase 2 (bsde):
- theta_scheme: linear-BSDE theta-scheme
- deep_bsde_bridge: ConditionalExpectation trait + driver
Phase 3 (pde):
- fokker_planck: 1D forward FP with conservative central FD
- hjb_multid: explicit n-D HJB on Cartesian grid (d <= 3)
- elliptic_fd: 2D Poisson SOR solver
Phase 4 (stochastic_control):
- optimal_switching: Snell envelope backward induction
- pontryagin: 1D LQR Riccati shooting
- two_sided_intensity_control: bilateral intensity control
Phase 5/6 (controls):
- optimal_control::quadratic_impact_control (closed-form Riccati)
- stochastic_control::two_sided_intensity_control
Phase 7 (mean_field + agent_based):
- mean_field::mckean_vlasov: interacting-particle Euler scheme
- agent_based::mod: generic interacting-agent simulator
Phase 8 (inference + optimization):
- inference::robust_drift: Huber IRLS drift estimator
- optimization::generative_calibration_hooks: GenerativeSampler trait
+ Gaussian MMD + finite-diff calibration step
Tests: 38 NEW tests, all passing (165/170 lib total; the 5 pre-existing
failures predate v1.1 and are tracked separately).
Versions bumped: Cargo 2.0.0-alpha.1, pyproject 2.0.0a1.
Deferred to subsequent v2.0.x bumps (parallelisable follow-ups):
PyO3 bindings, executed companion notebooks, Sphinx RST pages,
hfthot-lab-instance propagation.
43 lines
1.0 KiB
TOML
43 lines
1.0 KiB
TOML
[package]
|
|
name = "optimiz-rs"
|
|
version = "2.0.0-alpha.1"
|
|
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
|