Go to the documentation of this file.
40 const std::vector<Matrix>& Gs,
const std::vector<Vector>& gs,
double f) :
62 HessianFactor(
j1, j2, j3, G11, G12, G13,
g1, G22, G23,
g2, G33, g3,
f) {
67 template<
typename KEYS>
96 throw std::invalid_argument(
97 "RegularHessianFactor constructor was given non-regular factors");
107 mutable std::vector<VectorD>
y_;
119 double* yvalues)
const {
131 const double* xj =
x +
key *
D;
151 std::vector<size_t>
offsets)
const {
213 RegularHessianFactor<D> > {
Eigen::Map< VectorD > DMap
RegularHessianFactor(Key j1, Key j2, const MatrixD &G11, const MatrixD &G12, const VectorD &g1, const MatrixD &G22, const VectorD &g2, double f)
Matrix augmentedInformation() const override
A Gaussian factor using the canonical parameters (information form)
static const double d[K][N]
Pose3 g1(Rot3(), Point3(100.0, 0.0, 300.0))
const GaussianFactorGraph factors
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Contains the HessianFactor class, a general quadratic factor.
void multiplyHessianAdd(double alpha, const VectorValues &x, VectorValues &y) const override
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
std::vector< VectorD > y_
void checkInvariants()
Check invariants after construction.
SymmetricBlockMatrix info_
The full augmented information matrix, s.t. the quadratic error is 0.5*[x -1]'H[x -1].
RegularHessianFactor(const RegularJacobianFactor< D > &jf)
Construct from RegularJacobianFactor.
void hessianDiagonal(double *d) const override
Pose3 g2(g1.expmap(h *V1_g1))
RegularHessianFactor(Key j1, Key j2, Key j3, const MatrixD &G11, const MatrixD &G12, const MatrixD &G13, const VectorD &g1, const MatrixD &G22, const MatrixD &G23, const VectorD &g2, const MatrixD &G33, const VectorD &g3, double f)
JacobianFactor class with fixed sized blcoks.
DenseIndex nBlocks() const
Block count.
A matrix or vector expression mapping an existing array of data.
Eigen::Map< const VectorD > ConstDMap
const gtsam::Symbol key('X', 0)
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Eigen::Matrix< double, D, 1 > VectorD
DenseIndex cols() const
Column size.
void multiplyHessianAdd(double alpha, const double *x, double *yvalues) const
void multiplyHessianAdd(double alpha, const double *x, double *yvalues, std::vector< size_t > offsets) const
Raw memory version, with offsets TODO document reasoning.
KeyVector keys_
The keys involved in this factor.
const KeyVector & keys() const
Access the factor's involved variable keys.
ptrdiff_t DenseIndex
The index type for Eigen objects.
void gradientAtZero(double *d) const override
Add gradient at zero to d TODO: is it really the goal to add ??
RegularHessianFactor(const KeyVector &js, const std::vector< Matrix > &Gs, const std::vector< Vector > &gs, double f)
Vector diagonal(DenseIndex J) const
Get the diagonal of the J'th diagonal block.
Eigen::SelfAdjointView< Block, Eigen::Upper > diagonalBlock(DenseIndex J)
Return the J'th diagonal block as a self adjoint view.
RegularHessianFactor(const KEYS &keys, const SymmetricBlockMatrix &augmentedInformation)
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy y set format x g set format y g set format x2 g set format y2 g set format z g set angles radians set nogrid set key title set key left top Right noreverse box linetype linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set offsets
RegularHessianFactor(const GaussianFactorGraph &factors, const Scatter &scatter)
Construct from a GaussianFactorGraph.
void multiplyHessianAdd(double alpha, const VectorValues &x, VectorValues &y) const override
The matrix class, also used for vectors and row-vectors.
Eigen::Matrix< double, D, D > MatrixD
constBlock aboveDiagonalBlock(DenseIndex I, DenseIndex J) const
Get block above the diagonal (I, J).
std::uint64_t Key
Integer nonlinear key type.
RegularHessianFactor(const GaussianFactorGraph &factors)
Construct from a GaussianFactorGraph.
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:03:58