Further optimization
parent
e8111a129d
commit
f2a7864fb6
|
@ -558,9 +558,15 @@ void JacobianFactor::hessianDiagonalAdd(VectorValues& d) const {
|
||||||
Vector& dj = result.first->second;
|
Vector& dj = result.first->second;
|
||||||
|
|
||||||
for (size_t k = 0; k < nj; ++k) {
|
for (size_t k = 0; k < nj; ++k) {
|
||||||
Vector column_k = Ab_(pos).col(k);
|
Eigen::Ref<const Vector> column_k = Ab_(pos).col(k);
|
||||||
if (model_)
|
if (model_) {
|
||||||
model_->whitenInPlace(column_k);
|
Vector column_k_copy = column_k;
|
||||||
|
model_->whitenInPlace(column_k_copy);
|
||||||
|
if(!result.second)
|
||||||
|
dj(k) += dot(column_k_copy, column_k_copy);
|
||||||
|
else
|
||||||
|
dj(k) = dot(column_k_copy, column_k_copy);
|
||||||
|
} else {
|
||||||
if (!result.second)
|
if (!result.second)
|
||||||
dj(k) += dot(column_k, column_k);
|
dj(k) += dot(column_k, column_k);
|
||||||
else
|
else
|
||||||
|
@ -568,6 +574,7 @@ void JacobianFactor::hessianDiagonalAdd(VectorValues& d) const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
// Raw memory access version should be called in Regular Factors only currently
|
// Raw memory access version should be called in Regular Factors only currently
|
||||||
|
|
Loading…
Reference in New Issue