Release 4.3.0
GTSAM 4.3
GTSAM is a C++ library for inference and optimization with factor graphs, with Python and MATLAB interfaces. Version 4.3 extends continuous-time estimation, certifiable optimization, hybrid inference, satellite navigation, and GPU-accelerated optimization.
This overview describes selected contributions, their research collaborations, and resources for using the software. The release notes provide the full change list and contributor credits.
CUDA optimization
The experimental, opt-in CUDA backend provides GPU-accelerated Levenberg–Marquardt optimization. The general sparse path retains factor linearization on the CPU and performs the linear solve on the GPU; the specialized structure-from-motion path also moves linearization to the GPU. Available solver configurations include cuDSS and preconditioned conjugate gradients, with a dense Cholesky option for the reduced SfM Schur system.
To use CUDA from Python, compile GTSAM and its Python wrapper on a CUDA-equipped machine with both GTSAM_ENABLE_CUDA=ON and GTSAM_BUILD_PYTHON=ON. The standard 4.3.0 Python wheels do not include gtsam.cuda. See the CUDA Python build instructions for prerequisites, installation, and verification.
Ruogu Li implemented the CUDA backend, with contributions from Frank Dellaert. The benchmark article documents the hardware, solver configurations, and timing breakdowns.
- Notebooks: Sparse LM · CUDA SfM · Robust SfM with GNC
- Source: Sparse optimization · Structure from motion
- Implementation and benchmarks · Backend pull request
Continuous-time Gaussian processes
The Gaussian-process framework represents continuous-time trajectories using motion priors on factor graphs. White-noise-on-acceleration (WNOA) priors and interpolation support estimation between trajectory states, including poses on SE(3).
This work is a collaboration with the University of Toronto. Connor Holmes and Frank Dellaert contributed the GTSAM implementation; the accompanying research is by Connor Holmes, Sven Lilge, Zi Cong Guo, Frank Dellaert, and Timothy D. Barfoot.
Holmes et al. Smoothing Out the Edges: Continuous-Time Estimation with Gaussian Process Motion Priors on Factor Graphs, 2026.
Constrained optimization
The constrained-optimization module supports linear, quadratic, and quadratically constrained quadratic problems, as well as nonlinear equality and inequality constraints. The examples describe problem construction, feasible sets, and solver use.
Frank Dellaert and Yetong Zhang describe the QP and QCQP implementation. The release notes also credit Zhexin Xu, Avinash Subramanian, and Fan Jiang across the constrained and certifiable optimization additions.
- Constrained-optimization guide
- Notebooks: LP · QP · QCQP · Nonlinear equality constraints
- Module source · QP and QCQP article
Certifiable estimation
The certifiable module builds on the quadratically constrained quadratic programming (QCQP) framework, adding semidefinite-relaxation and Riemannian-staircase methods for estimation problems, including rotation averaging, pose-graph optimization, and landmark SLAM. These methods can establish global optimality when the relaxation and its certificate satisfy the required conditions.
The research includes collaborations with David M. Rosen and his team at Northeastern University, and with Frederike Dümbgen at Carnegie Mellon University. The papers below describe the Certifiable Factor Graph Optimization framework and complementary work on exploiting chordal sparsity.
Zhexin Xu, Nikolas R. Sanderson, Hanna Jiamei Zhang, and David M. Rosen. Certifiable Factor Graph Optimization, 2026.
Avinash Subramanian, Connor Holmes, Timothy D. Barfoot, Frank Dellaert, and Frederike Dümbgen. Exploiting Chordal Sparsity for Globally Optimal Estimation with Factor Graphs, 2026.
- Notebooks: 2D pose graphs · 3D pose graphs · Landmark SLAM · Rotation averaging
- Module source and technical documentation
- Framework article · Chordal-sparsity research
GNSS factors and ambiguity resolution
New satellite-navigation components include pseudorange, carrier-phase, and Doppler factors, together with integer-ambiguity-resolution utilities. They support GNSS estimation and integration with inertial measurements in a common factor graph.
These additions were a community effort involving Kosuke Inoue, Sammy Guo, Kathir Gounder, Morten Nissov, @scottiyio, and Varun Agrawal. Kosuke Inoue’s RTK-GNSS article provides an evaluation on urban driving data and links to the associated implementation.
- Navigation guide
- Factor source: Pseudorange · Carrier phase · Doppler
- RTK-GNSS evaluation · Evaluation code · PPC dataset
Pose-graph initialization and refinement
FAST-Sync initializes group-synchronization problems on matrix Lie groups from relative measurements. It provides initial estimates for subsequent nonlinear refinement, including pose-graph optimization.
FAST-Sync is joint work by Shane Holmes, Yiran Luo, Firat Taxpulat, David M. Rosen, and Frank Dellaert.
Holmes et al. FAST-Sync: Fast Group Synchronization for Any Matrix Lie Group. IEEE Robotics and Automation Letters, 11(9):10377–10384, 2026.
A separate refinement improvement supplies exact Local Jacobians in BetweenFactor and PriorFactor when supported by the Lie-group traits. The w10000 benchmark compares refinement from identical initial values.
Multifrontal linear solvers
The multifrontal solver uses packed storage and reusable symbolic structure for repeated linear solves. Its notebook explains elimination, factorization, and how to configure the solver within an optimization workflow.
The broader performance work in 4.3 includes contributions from Frank Dellaert, Fan Jiang, @tzvist, Ruogu Li, Jash Shah, and Varun Agrawal. The release notes distinguish these changes from CUDA and other solver additions.
Discrete–continuous inference
Hybrid factor graphs combine discrete hypotheses with continuous states. Version 4.3 extends hybrid elimination and incremental smoothing, with pruning to manage the number of hypotheses maintained during inference.
Varun Agrawal led the hybrid-inference work, with contributions from Frank Dellaert, Fan Jiang, @ywkim0606, and @arutkowski.
Varun Agrawal and Frank Dellaert. Variable Elimination in Hybrid Factor Graphs for Discrete-Continuous Inference & Estimation, 2026.
Python notebooks and documentation
The 4.3 documentation includes 328 notebooks, including runnable examples and API guides, covering introductory factor graphs and the new modules. Some examples require optional dependencies or a custom build. Python-interface changes include a PEP 561 type marker and copy-aware APIs.
Porter Zach and the notebook authors expanded the documentation. Fan Jiang, @DLuminary, Varun Agrawal, and other contributors extended the language interfaces.
- Notebook index · User guides · C++ API reference
- Examples: Custom factors · Fixed-lag smoothing · Visual iSAM2
- Python source
Acknowledgments
GTSAM 4.3 also includes substantial maintenance, testing, portability, packaging, and review work. In addition to the contributors named above, the release notes recognize sustained contributions from @talregev, @Gold856, José Luis Blanco, Akshay Krishnan, and many others.
The complete release notes and contributor list record this work in more detail. See also the project history and contributors. Source links on this page refer to the 4.3.0 release; the online guides and notebooks may continue to evolve.