# SymForce: Symbolic Computation and Code Generation for Robotics

arXiv: https://arxiv.org/abs/2204.07889 · HTML: https://mlsanity.com/paper/2204.07889/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- Builds on 6 of its 32 references that are in the map.
- First posted on arXiv 17 Apr 2022.

## Builds on (most cited first, 6 of 6)

- [PyTorch: An Imperative Style, High-Performance Deep Learning Library](https://mlsanity.com/paper/1912.01703/) (2019)
- [Deep Learning for Symbolic Mathematics](https://mlsanity.com/paper/1912.01412/) (2019)
- [A General and Adaptive Robust Loss Function](https://mlsanity.com/paper/1701.03077/) (2017)
- [Tangent Space Backpropagation for 3D Transformation Groups](https://mlsanity.com/paper/2103.12032/) (2021)
- [A Survey of Techniques for Dynamic Branch Prediction](https://mlsanity.com/paper/1804.00261/) (2018)
- [Manifold Geometry with Fast Automatic Derivatives and Coordinate Frame Semantics Checking in C++](https://mlsanity.com/paper/1805.01810/) (2018)

## Built on by (most cited first, 3 of 3)

- [Viser: Imperative, Web-based 3D Visualization in Python](https://mlsanity.com/paper/2507.22885/) (2025)
- [Decentralization and Acceleration Enables Large-Scale Bundle Adjustment](https://mlsanity.com/paper/2305.07026/) (2023)
- [Hyperion -- A fast, versatile symbolic Gaussian Belief Propagation framework for Continuous-Time SLAM](https://mlsanity.com/paper/2407.07074/) (2024)

## Abstract (arXiv)

We present SymForce, a library for fast symbolic computation, code generation, and nonlinear optimization for robotics applications like computer vision, motion planning, and controls. SymForce combines the development speed and flexibility of symbolic math with the performance of autogenerated, highly optimized code in C++ or any target runtime language. SymForce provides geometry and camera types, Lie group operations, and branchless singularity handling for creating and analyzing complex symbolic expressions in Python, built on top of SymPy. Generated functions can be integrated as factors into our tangent-space nonlinear optimizer, which is highly optimized for real-time production use. We introduce novel methods to automatically compute tangent-space Jacobians, eliminating the need for bug-prone handwritten derivatives. This workflow enables faster runtime code, faster development time, and fewer lines of handwritten code versus the state-of-the-art. Our experiments demonstrate that our approach can yield order of magnitude speedups on computational tasks core to robotics. Code is available at https://github.com/symforce-org/symforce.
