41 double alpha,
const std::vector<size_t>& scalarOffsets,
const double* x,
46 double* gradient)
const = 0;
50 const std::vector<size_t>& blockSlots,
51 std::vector<Matrix>* diagonalBlocks)
const = 0;
typedef and functions to augment Eigen's MatrixXd
Global functions in a separate testing namespace.
Definition chartTesting.h:28
Optional preindexed kernels for matrix-free Gaussian factors.
Definition FlatGaussianFactor.h:35
virtual void gradientAtZeroAdd(const std::vector< size_t > &scalarOffsets, double *gradient) const =0
Add this factor's zero-point gradient to a flat output vector.
virtual void multiplyHessianAdd(double alpha, const std::vector< size_t > &scalarOffsets, const double *x, double *y) const =0
Add this factor's Hessian-vector product to a flat output vector.
virtual void hessianBlockDiagonalAdd(const std::vector< size_t > &blockSlots, std::vector< Matrix > *diagonalBlocks) const =0
Add this factor's Hessian diagonal to ordered variable blocks.