#include <ISAM2Params.h>
Definition at line 135 of file ISAM2Params.h.
Either a constant relinearization threshold or a per-variable-type set of thresholds
Definition at line 140 of file ISAM2Params.h.
Specify parameters as constructor arguments See the documentation of member variables above.
- Parameters
-
_keyFormatter | see ISAM2::Params::keyFormatter, |
Definition at line 230 of file ISAM2Params.h.
string gtsam::ISAM2Params::factorizationTranslator |
( |
const Factorization & |
value | ) |
|
|
static |
std::string gtsam::ISAM2Params::getFactorization |
( |
| ) |
const |
|
inline |
int gtsam::ISAM2Params::getRelinearizeSkip |
( |
| ) |
const |
|
inline |
bool gtsam::ISAM2Params::isCacheLinearizedFactors |
( |
| ) |
const |
|
inline |
bool gtsam::ISAM2Params::isEnableDetailedResults |
( |
| ) |
const |
|
inline |
bool gtsam::ISAM2Params::isEnablePartialRelinearizationCheck |
( |
| ) |
const |
|
inline |
bool gtsam::ISAM2Params::isEnableRelinearization |
( |
| ) |
const |
|
inline |
bool gtsam::ISAM2Params::isEvaluateNonlinearError |
( |
| ) |
const |
|
inline |
void gtsam::ISAM2Params::print |
( |
const std::string & |
str = "" | ) |
const |
|
inline |
void gtsam::ISAM2Params::setCacheLinearizedFactors |
( |
bool |
cacheLinearizedFactors | ) |
|
|
inline |
void gtsam::ISAM2Params::setEnableDetailedResults |
( |
bool |
enableDetailedResults | ) |
|
|
inline |
void gtsam::ISAM2Params::setEnablePartialRelinearizationCheck |
( |
bool |
enablePartialRelinearizationCheck | ) |
|
|
inline |
void gtsam::ISAM2Params::setEnableRelinearization |
( |
bool |
enableRelinearization | ) |
|
|
inline |
void gtsam::ISAM2Params::setEvaluateNonlinearError |
( |
bool |
evaluateNonlinearError | ) |
|
|
inline |
void gtsam::ISAM2Params::setFactorization |
( |
const std::string & |
factorization | ) |
|
|
inline |
void gtsam::ISAM2Params::setKeyFormatter |
( |
KeyFormatter |
keyFormatter | ) |
|
|
inline |
void gtsam::ISAM2Params::setRelinearizeSkip |
( |
int |
relinearizeSkip | ) |
|
|
inline |
bool gtsam::ISAM2Params::cacheLinearizedFactors |
Whether to cache linear factors (default: true). This can improve performance if linearization is expensive, but can hurt performance if linearization is very cleap due to computation to look up additional keys.
Definition at line 200 of file ISAM2Params.h.
bool gtsam::ISAM2Params::enableDetailedResults |
Whether to compute and return ISAM2Result::detailedResults, this can increase running time (default: false)
Definition at line 206 of file ISAM2Params.h.
bool gtsam::ISAM2Params::enablePartialRelinearizationCheck |
Check variables for relinearization in tree-order, stopping the check once a variable does not need to be relinearized (default: false). This can improve speed by only checking a small part of the top of the tree. However, variables below the check cut-off can accumulate significant deltas without triggering relinearization. This is particularly useful in exploration scenarios where real-time performance is desired over correctness. Use with caution.
Definition at line 218 of file ISAM2Params.h.
bool gtsam::ISAM2Params::enableRelinearization |
Controls whether ISAM2 will ever relinearize any variables (default: true)
Definition at line 174 of file ISAM2Params.h.
bool gtsam::ISAM2Params::evaluateNonlinearError |
Specifies whether to use QR or CHOESKY numerical factorization (default: CHOLESKY). Cholesky is faster but potentially numerically unstable for poorly-conditioned problems, which can occur when uncertainty is very low in some variables (or dimensions of variables) and very high in others. QR is slower but more numerically stable in poorly-conditioned problems. We suggest using the default of Cholesky unless gtsam sometimes throws IndefiniteLinearSystemException when your problem's Hessian is actually positive definite. For positive definite problems, numerical error accumulation can cause the problem to become numerically negative or indefinite as solving proceeds, especially when using Cholesky.
Definition at line 193 of file ISAM2Params.h.
bool gtsam::ISAM2Params::findUnusedFactorSlots |
When you will be removing many factors, e.g. when using ISAM2 as a fixed-lag smoother, enable this option to add factors in the first available factor slots, to avoid accumulating nullptr factor slots, at the cost of having to search for slots every time a factor is added.
Definition at line 224 of file ISAM2Params.h.
A KeyFormatter for when keys are printed during debugging (default: DefaultKeyFormatter)
Definition at line 203 of file ISAM2Params.h.
Optimization parameters, this both selects the nonlinear optimization method and specifies its parameters, either ISAM2GaussNewtonParams or ISAM2DoglegParams. In the former, Gauss-Newton optimization will be used with the specified parameters, and in the latter Powell's dog-leg algorithm will be used with the specified parameters.
Definition at line 150 of file ISAM2Params.h.
int gtsam::ISAM2Params::relinearizeSkip |
Only relinearize variables whose linear delta magnitude is greater than this threshold (default: 0.1). If this is a FastMap<char,Vector> instead of a double, then the threshold is specified for each dimension of each variable type. This parameter then maps from a character indicating the variable type to a Vector of thresholds for each dimension of that variable. For example, if Pose keys are of type TypedSymbol<'x',Pose3>, and landmark keys are of type TypedSymbol<'l',Point3>, then appropriate entries would be added with:
FastMap<char,Vector> thresholds;
thresholds[
'x'] = (
Vector(6) << 0.1, 0.1, 0.1, 0.5, 0.5, 0.5).finished();
params.relinearizeThreshold = thresholds;
Definition at line 168 of file ISAM2Params.h.
The documentation for this struct was generated from the following files: