Go to the documentation of this file.
51 template<
typename TERMS>
63 template<
typename KEYS>
114 for (
size_t k = 0; k <
D; ++k) {
117 column_k =
model_->whiten(column_k);
118 dj(k) =
dot(column_k, column_k);
120 dj(k) =
Ab_(
j).col(k).squaredNorm();
149 for (
size_t k = 0; k <
D; ++k) {
151 dj(k) = -1.0 *
dot(
b, column_k);
void multiplyHessianAdd(double alpha, const double *x, double *y) const
double* Hessian-vector multiply, i.e. y += A'*(A*x) RAW memory access! Assumes keys start at 0 and go...
Eigen::Map< DVector > DMap
Array< double, 1, 3 > e(1./3., 0.5, 2.)
static const double d[K][N]
VectorValues gradientAtZero() const override
Expose base class gradientAtZero.
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
bool empty() const
Whether the factor is empty (involves zero variables).
RegularJacobianFactor(const KEYS &keys, const VerticalBlockMatrix &augmentedMatrix, const SharedDiagonal &sigmas=SharedDiagonal())
void gradientAtZero(double *d) const override
Raw memory access version of gradientAtZero.
RegularJacobianFactor()
Default constructor.
void transposeMultiplyAdd(double alpha, const Vector &e, double *x) const
double* Transpose Matrix-vector multiply, i.e. x += A'*e RAW memory access! Assumes keys start at 0 a...
const constBVector getb() const
VectorValues hessianDiagonal() const
Return the diagonal of the Hessian for this factor.
void multiplyHessianAdd(double alpha, const VectorValues &x, VectorValues &y) const override
noiseModel::Diagonal::shared_ptr model_
void multiplyHessianAdd(double alpha, const VectorValues &x, VectorValues &y) const override
VectorValues gradientAtZero() const override
A'*b for Jacobian.
Eigen::Matrix< double, D, 1 > DVector
noiseModel::Diagonal::shared_ptr SharedDiagonal
double dot(const V1 &a, const V2 &b)
RegularJacobianFactor(const TERMS &terms, const Vector &b, const SharedDiagonal &model=SharedDiagonal())
A matrix or vector expression mapping an existing array of data.
noiseModel::Diagonal::shared_ptr model
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.
DenseIndex rows() const
Row size.
Vector operator*(const double *x) const
double* Matrix-vector multiply, i.e. y = A*x RAW memory access! Assumes keys start at 0 and go to M-1...
The matrix class, also used for vectors and row-vectors.
Eigen::Map< const DVector > ConstDMap
void hessianDiagonal(double *d) const override
Raw memory access version of hessianDiagonal.
gtsam
Author(s):
autogenerated on Fri Nov 1 2024 03:34:56