basin 0.2.0

An optimization library for Rust
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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]