Merge remote-tracking branch 'origin/release/4.2' into develop

# Conflicts:
#	.github/workflows/build-special.yml
#	CMakeLists.txt
#	README.md
#	cmake/HandleGeneralOptions.cmake
#	cmake/HandlePrintConfiguration.cmake
#	examples/Pose3Localization.cpp
#	examples/SolverComparer.cpp
#	gtsam/base/SymmetricBlockMatrix.h
#	gtsam/discrete/DecisionTree.h
#	gtsam/discrete/DiscreteFactorGraph.h
#	gtsam/discrete/DiscreteJunctionTree.h
#	gtsam/discrete/DiscreteValues.h
#	gtsam/discrete/discrete.i
#	gtsam/discrete/tests/testDecisionTreeFactor.cpp
#	gtsam/discrete/tests/testDiscreteBayesTree.cpp
#	gtsam/geometry/Pose3.cpp
#	gtsam/geometry/Pose3.h
#	gtsam/geometry/geometry.i
#	gtsam/hybrid/HybridGaussianFactorGraph.cpp
#	gtsam/hybrid/HybridNonlinearFactorGraph.cpp
#	gtsam/hybrid/HybridSmoother.cpp
#	gtsam/hybrid/HybridValues.h
#	gtsam/hybrid/hybrid.i
#	gtsam/hybrid/tests/testGaussianMixtureFactor.cpp
#	gtsam/hybrid/tests/testHybridGaussianFactorGraph.cpp
#	gtsam/inference/BayesTreeCliqueBase.h
#	gtsam/linear/NoiseModel.cpp
#	gtsam/linear/linear.i
#	gtsam/nonlinear/Expression-inl.h
#	gtsam/nonlinear/Values-inl.h
#	gtsam/nonlinear/Values.cpp
#	gtsam/nonlinear/Values.h
#	gtsam/nonlinear/tests/testValues.cpp
#	gtsam/sfm/ShonanAveraging.h
#	gtsam/slam/tests/testLago.cpp
#	gtsam/symbolic/symbolic.i
#	gtsam_unstable/examples/SmartRangeExample_plaza1.cpp
#	gtsam_unstable/examples/SmartRangeExample_plaza2.cpp
#	gtsam_unstable/nonlinear/BatchFixedLagSmoother.h
#	package.xml
#	python/gtsam/tests/test_DiscreteBayesTree.py
#	python/gtsam/tests/test_DsfTrackGenerator.py
#	tests/testGaussianISAM2.cpp
#	timing/timeCameraExpression.cpp
#	timing/timeLago.cpp
release/4.3a0
Frank Dellaert 2025-05-18 21:56:16 -04:00
commit 90c44de450
7 changed files with 13 additions and 3 deletions

View File

@ -55,6 +55,9 @@ Optional prerequisites - used automatically if findable by CMake:
GTSAM 4 introduces several new features, most notably Expressions and a Python toolbox. It also introduces traits, a C++ technique that allows optimizing with non-GTSAM types. That opens the door to retiring geometric types such as Point2 and Point3 to pure Eigen types, which we also do. A significant change which will not trigger a compile error is that zero-initializing of Point2 and Point3 is deprecated, so please be aware that this might render functions using their default constructor incorrect.
There is a flag `GTSAM_ALLOW_DEPRECATED_SINCE_V43` for newly deprecated methods since the 4.3 release, which is on by default, allowing anyone to just pull version 4.3 and compile.
## Wrappers
We provide support for [MATLAB](matlab/README.md) and [Python](python/README.md) wrappers for GTSAM. Please refer to the linked documents for more details.

View File

@ -127,6 +127,9 @@ class GTSAM_EXPORT DiscreteFactorGraph
template <class DERIVED_FACTOR>
DiscreteFactorGraph(const FactorGraph<DERIVED_FACTOR>& graph) : Base(graph) {}
/// Destructor
virtual ~DiscreteFactorGraph() {}
/// @name Testable
/// @{

View File

@ -301,6 +301,9 @@ class DiscreteBayesTree {
double evaluate(const gtsam::DiscreteValues& values) const;
double operator()(const gtsam::DiscreteValues& values) const;
double evaluate(const gtsam::DiscreteValues& values) const;
double operator()(const gtsam::DiscreteValues& values) const;
string dot(const gtsam::KeyFormatter& keyFormatter =
gtsam::DefaultKeyFormatter) const;
void saveGraph(string s,

View File

@ -98,6 +98,8 @@ class GTSAM_EXPORT HybridSmoother {
Ordering getOrdering(const HybridGaussianFactorGraph& factors,
const KeySet& newFactorKeys);
Ordering getOrdering(const HybridGaussianFactorGraph& newFactors);
/**
* @brief Add conditionals from previous timestep as part of liquefication.
*

View File

@ -304,7 +304,6 @@ Diagonal::shared_ptr Diagonal::Precisions(const Vector& precisions,
bool smart) {
return Variances(precisions.array().inverse(), smart);
}
/* ************************************************************************* */
void Diagonal::print(const string& name) const {
gtsam::print(sigmas_, name + "diagonal sigmas ");

View File

@ -27,8 +27,6 @@
#include <utility>
#include <gtsam/nonlinear/Values.h>
#include <gtsam/nonlinear/Values.h> // Only so Eclipse finds class definition
namespace gtsam {

View File

@ -10,3 +10,5 @@
* Without this they will be automatically converted to a Python object, and all
* mutations on Python side will not be reflected on C++.
*/
#include <pybind11/stl.h>