ceres-solver 0.1.2-beta.0

Safe Rust bindings for the Ceres Solver
Documentation

ceres-solver-rs

Rust bindings for Ceres Solver

Test pre-commit.ci status docs.rs Crates.io

cargo add ceres-solver --features=source

Ceres Solver is a C++ library for large optimization problems. It can be used to solve Non-linear Least Squares problems with constraints and general optimization problems. Here we provide a Rust binding for this library. Current implementation is built upon Ceres Solver's C API which has very limited scope: Non-linear Least Squares problems with analytical derivatives and custom loss function.

The earliest Ceres Solver version tested is 1.14.0, but the bindings may work with older versions

This project consists of three crates:

  • ceres-solver is a safe Rust bindings
  • ceres-solver-sys is an unsafe Rust bindings generated with bindgen
  • ceres-solver-src is an optional no-code crate to build and distribute static Ceres Solver library

To build Ceres Solver statically and link it to your project, use source Cargo feature, which would add ceres-solver-src dependency to your project.