[package]
edition = "2021"
rust-version = "1.91.1"
name = "basin"
version = "0.2.0"
build = false
exclude = ["src/problems/AGENTS.md"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An optimization library for Rust"
readme = "README.md"
keywords = [
"optimization",
"math",
"numerics",
"solver",
]
categories = [
"mathematics",
"science",
]
license = "MIT"
repository = "https://github.com/jolars/basin"
[features]
default = ["problems"]
faer = [
"dep:faer",
"dep:generativity",
]
nalgebra = [
"dep:nalgebra",
"dep:nalgebra-sparse",
]
ndarray = ["dep:ndarray"]
ndarray-blas = [
"ndarray",
"ndarray/blas",
]
parallel = ["faer?/rayon"]
problems = []
[lib]
name = "basin"
path = "src/lib.rs"
[[example]]
name = "nelder_mead"
path = "examples/nelder_mead.rs"
[[example]]
name = "rosenbrock"
path = "examples/rosenbrock.rs"
[[test]]
name = "bfgs"
path = "tests/bfgs.rs"
[[test]]
name = "bounded_cma_es_faer"
path = "tests/bounded_cma_es_faer.rs"
[[test]]
name = "bounded_cma_es_nalgebra"
path = "tests/bounded_cma_es_nalgebra.rs"
[[test]]
name = "bounded_cma_inject_lbfgsb_nalgebra"
path = "tests/bounded_cma_inject_lbfgsb_nalgebra.rs"
[[test]]
name = "bounded_nelder_mead"
path = "tests/bounded_nelder_mead.rs"
[[test]]
name = "cma_es_faer"
path = "tests/cma_es_faer.rs"
[[test]]
name = "cma_es_nalgebra"
path = "tests/cma_es_nalgebra.rs"
[[test]]
name = "cma_inject_lm_nalgebra"
path = "tests/cma_inject_lm_nalgebra.rs"
[[test]]
name = "cma_inject_nalgebra"
path = "tests/cma_inject_nalgebra.rs"
[[test]]
name = "cma_inject_solver_failed_bubbles"
path = "tests/cma_inject_solver_failed_bubbles.rs"
[[test]]
name = "example_bounded_cma_inject_lm"
path = "tests/example_bounded_cma_inject_lm.rs"
[[test]]
name = "gauss_newton_faer"
path = "tests/gauss_newton_faer.rs"
[[test]]
name = "gauss_newton_faer_sparse"
path = "tests/gauss_newton_faer_sparse.rs"
[[test]]
name = "gauss_newton_nalgebra"
path = "tests/gauss_newton_nalgebra.rs"
[[test]]
name = "gauss_newton_nalgebra_sparse"
path = "tests/gauss_newton_nalgebra_sparse.rs"
[[test]]
name = "inner_executor"
path = "tests/inner_executor.rs"
[[test]]
name = "lbfgs_unbounded"
path = "tests/lbfgs_unbounded.rs"
[[test]]
name = "lbfgsb_faer"
path = "tests/lbfgsb_faer.rs"
[[test]]
name = "lbfgsb_iter_parity"
path = "tests/lbfgsb_iter_parity.rs"
[[test]]
name = "lbfgsb_nalgebra"
path = "tests/lbfgsb_nalgebra.rs"
[[test]]
name = "lbfgsb_vec"
path = "tests/lbfgsb_vec.rs"
[[test]]
name = "levenberg_marquardt_faer"
path = "tests/levenberg_marquardt_faer.rs"
[[test]]
name = "levenberg_marquardt_faer_sparse"
path = "tests/levenberg_marquardt_faer_sparse.rs"
[[test]]
name = "levenberg_marquardt_nalgebra"
path = "tests/levenberg_marquardt_nalgebra.rs"
[[test]]
name = "levenberg_marquardt_nalgebra_sparse"
path = "tests/levenberg_marquardt_nalgebra_sparse.rs"
[[test]]
name = "ma_ls_ch_cma_faer"
path = "tests/ma_ls_ch_cma_faer.rs"
[[test]]
name = "ma_ls_ch_cma_nalgebra"
path = "tests/ma_ls_ch_cma_nalgebra.rs"
[[test]]
name = "nelder_mead"
path = "tests/nelder_mead.rs"
[[test]]
name = "projected_gradient_descent_faer"
path = "tests/projected_gradient_descent_faer.rs"
[[test]]
name = "projected_gradient_descent_nalgebra"
path = "tests/projected_gradient_descent_nalgebra.rs"
[[test]]
name = "projected_gradient_descent_ndarray"
path = "tests/projected_gradient_descent_ndarray.rs"
[[test]]
name = "projected_gradient_descent_vec"
path = "tests/projected_gradient_descent_vec.rs"
[[test]]
name = "random_search_faer"
path = "tests/random_search_faer.rs"
[[test]]
name = "random_search_nalgebra"
path = "tests/random_search_nalgebra.rs"
[[test]]
name = "random_search_ndarray"
path = "tests/random_search_ndarray.rs"
[[test]]
name = "random_search_vec"
path = "tests/random_search_vec.rs"
[[test]]
name = "rosenbrock"
path = "tests/rosenbrock.rs"
[[test]]
name = "rosenbrock_faer"
path = "tests/rosenbrock_faer.rs"
[[test]]
name = "rosenbrock_nalgebra"
path = "tests/rosenbrock_nalgebra.rs"
[[test]]
name = "rosenbrock_ndarray"
path = "tests/rosenbrock_ndarray.rs"
[[test]]
name = "ssga"
path = "tests/ssga.rs"
[[test]]
name = "stepper"
path = "tests/stepper.rs"
[[test]]
name = "termination"
path = "tests/termination.rs"
[[test]]
name = "trf_faer"
path = "tests/trf_faer.rs"
[[test]]
name = "trf_faer_sparse"
path = "tests/trf_faer_sparse.rs"
[[test]]
name = "trf_nalgebra"
path = "tests/trf_nalgebra.rs"
[[test]]
name = "trf_nalgebra_sparse"
path = "tests/trf_nalgebra_sparse.rs"
[[bench]]
name = "rosenbrock"
path = "benches/rosenbrock.rs"
harness = false
[dependencies.faer]
version = "0.24"
features = [
"std",
"linalg",
]
optional = true
default-features = false
[dependencies.generativity]
version = "1"
optional = true
[dependencies.nalgebra]
version = "0.34"
optional = true
[dependencies.nalgebra-sparse]
version = "0.11"
optional = true
[dependencies.ndarray]
version = "0.17"
optional = true
default-features = false
[dependencies.rand]
version = "0.10"
default-features = false
[dependencies.rand_chacha]
version = "0.10"
default-features = false
[dependencies.rand_distr]
version = "0.6"
default-features = false
[dependencies.web-time]
version = "1"
[dev-dependencies]