Factor graph solver
Project description
tiny-solver-rs
Inspired by ceres-solver, tiny-solver, and minisam.
This is a general optimizer written in Rust, including bindings for Python. If you're familiar with ceres-solver or factor-graph optimizers, you'll find it very easy to use.
Installation
python
The python package can be installed directly from PyPI:
pip install tiny-solver
rust
cargo add tiny-solver
Current Features
- Automatic Derivatives using num-dual
- Sparse QR, Sparse Cholesky using faer
- GaussNewtonOptimizer
- Multithreading jacobian
TODO
- levenberg_marquardt_optimizer
- information matrix
- loss function
- factor in python
Usage
Under development.
Example
python
git clone https://github.com/powei-lin/tiny-solver-rs.git
cd tiny-solver-rs
pip install tiny-solver matplotlib
python3 examples/python/m3500.py
rust
git clone https://github.com/powei-lin/tiny-solver-rs.git
cd tiny-solver-rs
cargo run -r --example m3500_benchmar
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distributions
Close
Hashes for tiny_solver-0.3.2-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ef534b65f20665431597df6aae5e7855bec7f60e11cd0746fe4f79fdf3db27 |
|
MD5 | f837695378bfff82ddc3349d0ea83674 |
|
BLAKE2b-256 | c2ac6c2b0d907b1745374575ded4119b7d343845dfe845265a3110fff4f629c2 |
Close
Hashes for tiny_solver-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21ae680bab6fddc3ca2e0a7893132ed759a3c91371bb4fa05624fd3aed03d55d |
|
MD5 | e32a7af642425e0470788108f62702b3 |
|
BLAKE2b-256 | be9fa2c909f31da39646182bdcf2bec642af3324773a7f025dab2500b1b22f82 |
Close
Hashes for tiny_solver-0.3.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b6a0d969d5fa3a605afb3fd1c5ce5d8434e2168bf196706c8ccbd9635a014f8 |
|
MD5 | 75a199574e889f9e57b4159692ed344e |
|
BLAKE2b-256 | c9b3c18f3bb977b0c029b39f2e57ee495009bdf475155b1a3264cae7e1c0daed |