GTSAM is a C++ library that implements smoothing and mapping in robotics and vision using factor graphs and Bayes networks as the underlying computing paradigm.
GTSAM solves the problem of pose estimation and sensor fusion in robotics and computer vision by representing problems as factor graphs rather than sparse matrices. This approach leverages the structure of these problems through Bayes networks and manifold optimization, allowing the library to build factor graphs, linearize and solve them in tangent spaces, then retract solutions back to manifolds iteratively until convergence. The library provides both C++ and Python interfaces, with optional MATLAB wrappers, and includes support for CUDA linear solvers for accelerated computation.
The tool suits robotics and vision applications where pose estimation, localization, and mapping are central concerns. Teams working on SLAM systems, visual odometry, or sensor fusion pipelines will find the factor graph abstraction natural for expressing their problems. The library requires C++17 support and makes Boost optional through CMake configuration. Developers should use stable releases for production work, as the development branch may include API changes.
The project maintains continuous integration across multiple platforms and compilers, with automated testing on Ubuntu, macOS, and Windows using GCC, Clang, and MSVC. Python wheels are built and distributed for multiple platforms. The codebase is actively developed with attention to compiler compatibility across different toolchain versions.