22 using namespace gtsam;
31 ABC << 4.0375, 3.4584, 3.5735,
44 4.0375, 3.4584, 3.5735, 2.4815, 2.1471, 2.7400, 2.2063,
45 0., 4.7267, 3.8423, 2.3624, 2.8091, 2.9579, 2.5914,
46 0., 0., 5.1600, 2.0797, 3.4690, 3.2419, 2.9992,
47 0., 0., 0., 1.8786, 1.0535, 1.4250, 1.3347,
48 0., 0., 0., 0., 3.0788, 2.6283, 2.3791,
49 0., 0., 0., 0., 0., 2.9227, 2.4056,
50 0., 0., 0., 0., 0., 0., 2.5776).finished();
59 R1.block(3, 3, 4, 4).setIdentity();
61 R2.block(3, 3, 4, 4) = R2.block(3, 3, 4, 4).selfadjointView<
Eigen::Upper>();
78 double expectedSqrtCondition = 1
e-40;
79 double actualSqrtCondition =
R(0,0) /
R(1,1);
88 0.0, 1
e-40).finished();
94 double expectedCondition = 1e40;
95 double actualCondition =
S(0) /
S(1);
104 1.11177808157954, 1.06204809504665, 0.507342638873381, 1.34953401829486, 1, 0,
105 0.155864888199928, 1.10933048588373, 0.501255576961674, 1, 0, 0,
106 1.12108665967793, 1.01584408366945, 1, 0, 0, 0,
107 0.776164062474843, 0.117617236580373, -0.0236628691347294, 0.814118199972143, 0.694309975328922, 1,
108 0.1197220685104, 1, 0, 0, 0, 0;
110 0.814723686393179, 0, 0, 0, 0, 0,
111 0, 0.811780089277421, 0, 0, 0, 0,
112 0, 0, 1.82596950680844, 0, 0, 0,
113 0, 0, 0, 0.240287537694585, 0, 0,
114 0, 0, 0, 0, 1.34342584865901, 0,
115 0, 0, 0, 0, 0, 1
e-12;
117 0.814723686393179, 0, 0, 0, 0, 0,
118 0, 0.811780089277421, 0, 0, 0, 0,
119 0, 0, 1.82596950680844, 0, 0, 0,
120 0, 0, 0, 0.240287537694585, 0, 0,
124 0.814723686393179, 0, 0, 0, 0, 0,
125 0, 0.811780089277421, 0, 0, 0, 0,
126 0, 0, 1.82596950680844, 0, 0, 0,
127 0, 0, 0, 0.240287537694585, 0, 0,
132 Matrix A2 = L * D2 * L.transpose();
133 Matrix A3 = L * D3 * L.transpose();
static int runAllTests(TestResult &result)
#define DOUBLES_EQUAL(expected, actual, threshold)
bool assert_equal(const Matrix &expected, const Matrix &actual, double tol)
Rot2 R(Rot2::fromAngle(0.1))
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
#define EXPECT(condition)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void svd(const Matrix &A, Matrix &U, Vector &S, Matrix &V)
#define LONGS_EQUAL(expected, actual)
bool choleskyPartial(Matrix &ABC, size_t nFrontal, size_t topleft)
TEST(SmartFactorBase, Pinhole)
Efficient incomplete Cholesky on rank-deficient matrices, todo: constrained Cholesky.