# basin > A numerical optimization library for Rust, inspired by argmin: a generic > executor loop drives a solver over a state, calling into the problem traits > you implement (CostFunction, Gradient, and friends). Works on plain > Vec out of the box, with opt-in nalgebra / ndarray / faer backends. ## Docs - [Overview](https://basin.rs/docs/): how the problem, solver, state, and executor pieces fit together - [Getting started](https://basin.rs/docs/getting-started/): install, backend features, and a first solve - [Migrating from Argmin](https://basin.rs/docs/migrating-from-argmin/): map Argmin 0.11 problem traits, solvers, errors, bounds, observers, and backends to Basin - [Migrating to Basin 2.0](https://basin.rs/docs/migrating-to-v2/): upgrade from Basin 1.x, including constraints, states, termination reports, solver settings, and checkpoints - [Migrating to Basin 3.0](https://basin.rs/docs/migrating-to-v3/): development API with optional constraint declarations and standalone objective and residual traits - [Solvers](https://basin.rs/docs/solvers/): catalog of optimization solvers, including SLSQP for nonlinear constraints, and direct scalar root finding ## Reference - [API documentation (docs.rs)](https://docs.rs/basin): full, authoritative API reference - [crates.io](https://crates.io/crates/basin): published releases - [Source (GitHub)](https://github.com/jolars/basin): repository, issues, and changelog ## Optional - [Benchmarks](https://basin.rs/benchmarks/): performance against competing libraries, across backends and solvers - [Visualizer](https://basin.rs/visualizer/): interactive in-browser solver visualization (WASM)