Got rid of SchurComplementAndRearrangeBlocks_3_12_6
parent
0c622294d2
commit
2b3709ec73
|
@ -286,19 +286,6 @@ public:
|
||||||
return augmentedHessianUniqueKeys;
|
return augmentedHessianUniqueKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* non-templated version of function above
|
|
||||||
*/
|
|
||||||
static SymmetricBlockMatrix SchurComplementAndRearrangeBlocks_3_12_6(
|
|
||||||
const std::vector<Eigen::Matrix<double,ZDim, 12>,
|
|
||||||
Eigen::aligned_allocator<Eigen::Matrix<double,ZDim,12> > >& Fs,
|
|
||||||
const Matrix& E, const Eigen::Matrix<double,3,3>& P, const Vector& b,
|
|
||||||
const KeyVector jacobianKeys, const KeyVector hessianKeys) {
|
|
||||||
return SchurComplementAndRearrangeBlocks<3,12,6>(Fs, E, P, b,
|
|
||||||
jacobianKeys,
|
|
||||||
hessianKeys);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do Schur complement, given Jacobian as Fs,E,P, return SymmetricBlockMatrix
|
* Do Schur complement, given Jacobian as Fs,E,P, return SymmetricBlockMatrix
|
||||||
* G = F' * F - F' * E * P * E' * F
|
* G = F' * F - F' * E * P * E' * F
|
||||||
|
|
|
@ -185,9 +185,8 @@ TEST(CameraSet, SchurComplementAndRearrangeBlocks) {
|
||||||
|
|
||||||
// Actual
|
// Actual
|
||||||
SymmetricBlockMatrix augmentedHessianBM =
|
SymmetricBlockMatrix augmentedHessianBM =
|
||||||
Set::SchurComplementAndRearrangeBlocks_3_12_6(Fs, E, P, b,
|
Set::SchurComplementAndRearrangeBlocks<3, 12, 6>(
|
||||||
nonuniqueKeys,
|
Fs, E, P, b, nonuniqueKeys, uniqueKeys);
|
||||||
uniqueKeys);
|
|
||||||
Matrix actualAugmentedHessian = augmentedHessianBM.selfadjointView();
|
Matrix actualAugmentedHessian = augmentedHessianBM.selfadjointView();
|
||||||
|
|
||||||
// Expected
|
// Expected
|
||||||
|
|
|
@ -363,7 +363,7 @@ class SmartProjectionPoseFactorRollingShutter : public SmartProjectionFactor<CAM
|
||||||
// Build augmented Hessian (with last row/column being the information vector)
|
// Build augmented Hessian (with last row/column being the information vector)
|
||||||
// Note: we need to get the augumented hessian wrt the unique keys in key_
|
// Note: we need to get the augumented hessian wrt the unique keys in key_
|
||||||
SymmetricBlockMatrix augmentedHessianUniqueKeys =
|
SymmetricBlockMatrix augmentedHessianUniqueKeys =
|
||||||
Base::Cameras::SchurComplementAndRearrangeBlocks_3_12_6(
|
Base::Cameras::template SchurComplementAndRearrangeBlocks<3, 12, 6>(
|
||||||
Fs, E, P, b, nonuniqueKeys, this->keys_);
|
Fs, E, P, b, nonuniqueKeys, this->keys_);
|
||||||
|
|
||||||
return boost::make_shared < RegularHessianFactor<DimPose>
|
return boost::make_shared < RegularHessianFactor<DimPose>
|
||||||
|
|
Loading…
Reference in New Issue