Factor graph solver
Project description
tiny-solver-rs
Warning! This project is still under development.
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
- loss function (Huber)
TODO
- LevenbergMarquardtOptimizer
- information matrix
- factor in python
Usage
Under development.
Example
M3500 dataset
git clone https://github.com/powei-lin/tiny-solver-rs.git
cd tiny-solver-rs
# run rust version
cargo run -r --example m3500_benchmar
# run python version
pip install tiny-solver matplotlib
python3 examples/python/m3500.py
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.4-cp38-abi3-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7b35cc2ea72f5aba70e3928411a93a198daebca18e815b76286b0ba0ddda49e |
|
MD5 | af682eedf562319c965c9aa8e7ba5eb6 |
|
BLAKE2b-256 | d3b7a5eda16a64087ff94e4825cb660babebfc154bd938f51368a9f0bfd74d1b |
Close
Hashes for tiny_solver-0.3.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9fa4ecebf23d2c2d77a63113d3617894645caf9408f7ca5a996c68d24b54ec5 |
|
MD5 | c249a8c2de9f1949b6f233adfbe462e8 |
|
BLAKE2b-256 | a6aff4061b9ac13abbb39ba673f845f9053ebd37ab790f46659c847f4fdd424b |
Close
Hashes for tiny_solver-0.3.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a340b9278c974e69f3a7736eb3ce2152989adc9c55e0b5e23daca47217cda62e |
|
MD5 | 2a1ec8912b5202b547b0968088c5e66b |
|
BLAKE2b-256 | 9e8bd7ebab6dcbfe0f83292fb46e07f0b2145e252217d364266935f18540454d |