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();
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,
131 Matrix A1 = L * D1 * L.transpose();
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)
Rot2 R(Rot2::fromAngle(0.1))
#define EXPECT(condition)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Q R1(Eigen::AngleAxisd(1, Q_z_axis))
EIGEN_DEVICE_FUNC QuaternionBase & setIdentity()
#define LONGS_EQUAL(expected, actual)
bool choleskyPartial(Matrix &ABC, size_t nFrontal, size_t topleft)
bool assert_equal(const Matrix &expected, const Matrix &actual, double tol)
void svd(const Matrix &A, Matrix &U, Vector &S, Matrix &V)
TEST(LPInitSolver, InfiniteLoopSingleVar)
Q R2(Eigen::AngleAxisd(2, Vector3(0, 1, 0)))
Efficient incomplete Cholesky on rank-deficient matrices, todo: constrained Cholesky.