gtsam 4.1.1
gtsam
HessianFactor-inl.h
Go to the documentation of this file.
1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
19#pragma once
20
21namespace gtsam {
22
23 /* ************************************************************************* */
24 template<typename KEYS>
25 HessianFactor::HessianFactor(const KEYS& keys, const SymmetricBlockMatrix& augmentedInformation) :
26 GaussianFactor(keys), info_(augmentedInformation)
27 {
28 // Check number of variables
29 if((DenseIndex)Base::keys_.size() != augmentedInformation.nBlocks() - 1)
30 throw std::invalid_argument(
31 "Error in HessianFactor constructor input. Number of provided keys plus\n"
32 "one for the information vector must equal the number of provided matrix blocks. ");
33
34 // Check RHS dimension
35 if(augmentedInformation.getDim(augmentedInformation.nBlocks() - 1) != 1)
36 throw std::invalid_argument(
37 "Error in HessianFactor constructor input. The last provided matrix block\n"
38 "must be the information vector, but the last provided block had more than one column.");
39 }
40
41}
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
ptrdiff_t DenseIndex
The index type for Eigen objects.
Definition: types.h:75
Definition: SymmetricBlockMatrix.h:52
KeyVector keys_
The keys involved in this factor.
Definition: Factor.h:73
size_t size() const
Definition: Factor.h:136
An abstract virtual base class for JacobianFactor and HessianFactor.
Definition: GaussianFactor.h:39
Matrix augmentedInformation() const override
Return the augmented information matrix represented by this GaussianFactor.
Definition: HessianFactor.cpp:281
HessianFactor()
default constructor for I/O
Definition: HessianFactor.cpp:76