[package]
edition = "2021"
rust-version = "1.75"
name = "amari-optimization"
version = "0.18.0"
authors = ["Amari Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Geometric optimization algorithms leveraging Amari's Tropical-Dual-Clifford fusion"
homepage = "https://github.com/justinelliottcobb/Amari"
readme = "README.md"
keywords = [
"geometric-algebra",
"optimization",
"manifold",
"tropical",
"pareto",
]
categories = [
"mathematics",
"science",
"algorithms",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/justinelliottcobb/Amari"
[features]
default = ["std"]
gpu = ["dep:amari-gpu"]
linalg = ["dep:nalgebra"]
parallel = ["dep:rayon"]
serde = [
"dep:serde",
"amari-core/serde",
]
std = ["amari-core/std"]
wasm = ["dep:getrandom"]
[lib]
name = "amari_optimization"
path = "src/lib.rs"
[[example]]
name = "multi_objective_example"
path = "examples/multi_objective_example.rs"
[[example]]
name = "natural_gradient_example"
path = "examples/natural_gradient_example.rs"
[[example]]
name = "tropical_optimization_example"
path = "examples/tropical_optimization_example.rs"
[[test]]
name = "basic_tests"
path = "tests/basic_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "property_tests"
path = "tests/property_tests.rs"
[[bench]]
name = "optimization_benchmarks"
path = "benches/optimization_benchmarks.rs"
harness = false
[dependencies.amari-core]
version = "0.18.0"
features = [
"std",
"phantom-types",
]
[dependencies.amari-dual]
version = "0.18.0"
[dependencies.amari-gpu]
version = "0.18.0"
optional = true
[dependencies.amari-info-geom]
version = "0.18.0"
[dependencies.amari-tropical]
version = "0.18.0"
[dependencies.getrandom]
version = "0.2"
features = ["js"]
optional = true
[dependencies.nalgebra]
version = "0.32"
optional = true
[dependencies.num-traits]
version = "0.2"
[dependencies.rand]
version = "0.8"
features = ["getrandom"]
[dependencies.rayon]
version = "1.8"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "1.0"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tokio]
version = "1.0"
features = ["full"]