26 using namespace gtsam;
33 4.0375, 3.4584, 3.5735, 2.4815, 2.1471, 2.7400, 2.2063,
34 0., 4.7267, 3.8423, 2.3624, 2.8091, 2.9579, 2.5914,
35 0., 0., 5.1600, 2.0797, 3.4690, 3.2419, 2.9992,
36 0., 0., 0., 1.8786, 1.0535, 1.4250, 1.3347,
37 0., 0., 0., 0., 3.0788, 2.6283, 2.3791,
38 0., 0., 0., 0., 0., 2.9227, 2.4056,
39 0., 0., 0., 0., 0., 0., 2.5776).finished();
42 ABC.topLeftCorner<7,7>() = top;
43 cout << setprecision(3);
46 for (
size_t nFrontal = 1; nFrontal <= 7; nFrontal++) {
47 auto timeLog = clock();
48 for (
size_t i = 0;
i <
n;
i++) {
52 auto timeLog2 = clock();
53 auto seconds = (double)(timeLog2 - timeLog) / CLOCKS_PER_SEC;
54 cout <<
"partialCholesky " << nFrontal <<
": ";
55 auto ms = ((double)seconds * 1000000 / n);
56 cout <<
ms <<
" ms, " <<
ms/nFrontal <<
" ms/dim" << endl;
bool choleskyPartial(Matrix &ABC, size_t nFrontal, size_t topleft)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Matrix
Efficient incomplete Cholesky on rank-deficient matrices, todo: constrained Cholesky.