commit
f749528fc6
|
@ -299,17 +299,14 @@ weightedPseudoinverse(const Vector& a, const Vector& weights) {
|
|||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
Vector concatVectors(const std::list<Vector>& vs)
|
||||
{
|
||||
Vector concatVectors(const std::list<Vector>& vs) {
|
||||
size_t dim = 0;
|
||||
for(Vector v: vs)
|
||||
dim += v.size();
|
||||
for (const Vector& v : vs) dim += v.size();
|
||||
|
||||
Vector A(dim);
|
||||
size_t index = 0;
|
||||
for(Vector v: vs) {
|
||||
for(int d = 0; d < v.size(); d++)
|
||||
A(d+index) = v(d);
|
||||
for (const Vector& v : vs) {
|
||||
for (int d = 0; d < v.size(); d++) A(d + index) = v(d);
|
||||
index += v.size();
|
||||
}
|
||||
|
||||
|
|
|
@ -47,8 +47,9 @@ void updateAb(MATRIX& Ab, int j, const Vector& a, const Vector& rd) {
|
|||
|
||||
/* ************************************************************************* */
|
||||
// check *above the diagonal* for non-zero entries
|
||||
boost::optional<Vector> checkIfDiagonal(const Matrix M) {
|
||||
boost::optional<Vector> checkIfDiagonal(const Matrix& M) {
|
||||
size_t m = M.rows(), n = M.cols();
|
||||
assert(m > 0);
|
||||
// check all non-diagonal entries
|
||||
bool full = false;
|
||||
size_t i, j;
|
||||
|
@ -92,7 +93,7 @@ Gaussian::shared_ptr Gaussian::SqrtInformation(const Matrix& R, bool smart) {
|
|||
return Diagonal::Sigmas(diagonal->array().inverse(), true);
|
||||
}
|
||||
// NOTE(frank): only reaches here if !(smart && diagonal)
|
||||
return shared_ptr(new Gaussian(R.rows(), R));
|
||||
return boost::make_shared<Gaussian>(R.rows(), R);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
@ -108,7 +109,7 @@ Gaussian::shared_ptr Gaussian::Information(const Matrix& information, bool smart
|
|||
else {
|
||||
Eigen::LLT<Matrix> llt(information);
|
||||
Matrix R = llt.matrixU();
|
||||
return shared_ptr(new Gaussian(n, R));
|
||||
return boost::make_shared<Gaussian>(n, R);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -732,7 +732,7 @@ namespace gtsam {
|
|||
};
|
||||
|
||||
// Helper function
|
||||
GTSAM_EXPORT boost::optional<Vector> checkIfDiagonal(const Matrix M);
|
||||
GTSAM_EXPORT boost::optional<Vector> checkIfDiagonal(const Matrix& M);
|
||||
|
||||
} // namespace noiseModel
|
||||
|
||||
|
|
|
@ -245,7 +245,7 @@ bool ISAM2Clique::optimizeWildfireNode(const KeySet& replaced, double threshold,
|
|||
|
||||
// Back-substitute
|
||||
fastBackSubstitute(delta);
|
||||
count += conditional_->nrFrontals();
|
||||
*count += conditional_->nrFrontals();
|
||||
|
||||
if (valuesChanged(replaced, originalValues, *delta, threshold)) {
|
||||
markFrontalsAsChanged(changed);
|
||||
|
|
Loading…
Reference in New Issue