Further optimization
parent
e8111a129d
commit
f2a7864fb6
|
@ -558,13 +558,20 @@ 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;
|
||||||
if(!result.second)
|
model_->whitenInPlace(column_k_copy);
|
||||||
dj(k) += dot(column_k, column_k);
|
if(!result.second)
|
||||||
else
|
dj(k) += dot(column_k_copy, column_k_copy);
|
||||||
dj(k) = dot(column_k, column_k);
|
else
|
||||||
|
dj(k) = dot(column_k_copy, column_k_copy);
|
||||||
|
} else {
|
||||||
|
if (!result.second)
|
||||||
|
dj(k) += dot(column_k, column_k);
|
||||||
|
else
|
||||||
|
dj(k) = dot(column_k, column_k);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue