changed updateATA -> updateHessian. Much clearer

release/4.3a0
Frank Dellaert 2015-06-12 00:20:37 -07:00
parent c9910625c2
commit 41a0146b05
7 changed files with 13 additions and 13 deletions

View File

@ -126,7 +126,7 @@ namespace gtsam {
* @param scatter A mapping from variable index to slot index in this HessianFactor * @param scatter A mapping from variable index to slot index in this HessianFactor
* @param info The information matrix to be updated * @param info The information matrix to be updated
*/ */
virtual void updateATA(const Scatter& scatter, virtual void updateHessian(const Scatter& scatter,
SymmetricBlockMatrix* info) const = 0; SymmetricBlockMatrix* info) const = 0;
/// y += alpha * A'*A*x /// y += alpha * A'*A*x

View File

@ -248,7 +248,7 @@ HessianFactor::HessianFactor(const GaussianFactorGraph& factors,
gttic(update); gttic(update);
BOOST_FOREACH(const GaussianFactor::shared_ptr& factor, factors) BOOST_FOREACH(const GaussianFactor::shared_ptr& factor, factors)
if(factor) if(factor)
factor->updateATA(*scatter, &info_); factor->updateHessian(*scatter, &info_);
gttoc(update); gttoc(update);
} }
@ -346,7 +346,7 @@ double HessianFactor::error(const VectorValues& c) const {
} }
/* ************************************************************************* */ /* ************************************************************************* */
void HessianFactor::updateATA(const Scatter& scatter, void HessianFactor::updateHessian(const Scatter& scatter,
SymmetricBlockMatrix* info) const { SymmetricBlockMatrix* info) const {
gttic(updateATA_HessianFactor); gttic(updateATA_HessianFactor);
// N is number of variables in information matrix, n in HessianFactor // N is number of variables in information matrix, n in HessianFactor

View File

@ -344,7 +344,7 @@ namespace gtsam {
* @param scatter A mapping from variable index to slot index in this HessianFactor * @param scatter A mapping from variable index to slot index in this HessianFactor
* @param info The information matrix to be updated * @param info The information matrix to be updated
*/ */
void updateATA(const Scatter& scatter, SymmetricBlockMatrix* info) const; void updateHessian(const Scatter& scatter, SymmetricBlockMatrix* info) const;
/** y += alpha * A'*A*x */ /** y += alpha * A'*A*x */
void multiplyHessianAdd(double alpha, const VectorValues& x, VectorValues& y) const; void multiplyHessianAdd(double alpha, const VectorValues& x, VectorValues& y) const;

View File

@ -498,7 +498,7 @@ map<Key, Matrix> JacobianFactor::hessianBlockDiagonal() const {
} }
/* ************************************************************************* */ /* ************************************************************************* */
void JacobianFactor::updateATA(const Scatter& scatter, void JacobianFactor::updateHessian(const Scatter& scatter,
SymmetricBlockMatrix* info) const { SymmetricBlockMatrix* info) const {
gttic(updateATA_JacobianFactor); gttic(updateATA_JacobianFactor);
@ -509,10 +509,10 @@ void JacobianFactor::updateATA(const Scatter& scatter,
if (model && !model->isUnit()) { if (model && !model->isUnit()) {
if (model->isConstrained()) if (model->isConstrained())
throw invalid_argument( throw invalid_argument(
"JacobianFactor::updateATA: cannot update information with " "JacobianFactor::updateHessian: cannot update information with "
"constrained noise model"); "constrained noise model");
JacobianFactor whitenedFactor = whiten(); JacobianFactor whitenedFactor = whiten();
whitenedFactor.updateATA(scatter, info); whitenedFactor.updateHessian(scatter, info);
} else { } else {
// Ab_ is the augmented Jacobian matrix A, and we perform I += A'*A below // Ab_ is the augmented Jacobian matrix A, and we perform I += A'*A below
// N is number of variables in information matrix, n in JacobianFactor // N is number of variables in information matrix, n in JacobianFactor

View File

@ -278,7 +278,7 @@ namespace gtsam {
* @param scatter A mapping from variable index to slot index in this HessianFactor * @param scatter A mapping from variable index to slot index in this HessianFactor
* @param info The information matrix to be updated * @param info The information matrix to be updated
*/ */
void updateATA(const Scatter& scatter, SymmetricBlockMatrix* info) const; void updateHessian(const Scatter& scatter, SymmetricBlockMatrix* info) const;
/** Return A*x */ /** Return A*x */
Vector operator*(const VectorValues& x) const; Vector operator*(const VectorValues& x) const;

View File

@ -149,7 +149,7 @@ namespace gtsam {
: JacobianFactor(i1, A1, i2, A2, b, model), AC_(A1), AL_(A2), b_(b) {} : JacobianFactor(i1, A1, i2, A2, b, model), AC_(A1), AL_(A2), b_(b) {}
// Fixed-size matrix update // Fixed-size matrix update
void updateATA(const Scatter& scatter, SymmetricBlockMatrix* info) const { void updateHessian(const Scatter& scatter, SymmetricBlockMatrix* info) const {
gttic(updateATA_LinearizedFactor); gttic(updateATA_LinearizedFactor);
// Whiten the factor if it has a noise model // Whiten the factor if it has a noise model
@ -157,10 +157,10 @@ namespace gtsam {
if (model && !model->isUnit()) { if (model && !model->isUnit()) {
if (model->isConstrained()) if (model->isConstrained())
throw std::invalid_argument( throw std::invalid_argument(
"JacobianFactor::updateATA: cannot update information with " "JacobianFactor::updateHessian: cannot update information with "
"constrained noise model"); "constrained noise model");
JacobianFactor whitenedFactor = whiten(); JacobianFactor whitenedFactor = whiten();
whitenedFactor.updateATA(scatter, info); whitenedFactor.updateHessian(scatter, info);
} else { } else {
// N is number of variables in information matrix // N is number of variables in information matrix
DenseIndex N = info->nBlocks() - 1; DenseIndex N = info->nBlocks() - 1;

View File

@ -115,10 +115,10 @@ public:
return D; return D;
} }
virtual void updateATA(const Scatter& scatter, virtual void updateHessian(const Scatter& scatter,
SymmetricBlockMatrix* info) const { SymmetricBlockMatrix* info) const {
throw std::runtime_error( throw std::runtime_error(
"RegularImplicitSchurFactor::updateATA non implemented"); "RegularImplicitSchurFactor::updateHessian non implemented");
} }
virtual Matrix augmentedJacobian() const { virtual Matrix augmentedJacobian() const {
throw std::runtime_error( throw std::runtime_error(