Skip to content

Commit 1731076

Browse files
committed
Use Matrix initializer_list constructor instead of comma initializers
1 parent de5e38e commit 1731076

File tree

146 files changed

+1797
-1846
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+1797
-1846
lines changed

gtsam/base/Matrix.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ GTSAM_EXPORT Matrix vector_scale(const Matrix& A, const Vector& v, bool inf_mask
300300
*/
301301

302302
inline Matrix3 skewSymmetric(double wx, double wy, double wz) {
303-
return (Matrix3() << 0.0, -wz, +wy, +wz, 0.0, -wx, -wy, +wx, 0.0).finished();
303+
return Matrix3{{0.0, -wz, +wy}, {+wz, 0.0, -wx}, {-wy, +wx, 0.0}};
304304
}
305305

306306
template <class Derived>

gtsam/base/tests/testMatrix.cpp

Lines changed: 79 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -195,19 +195,22 @@ TEST(Matrix, stack )
195195
/* ************************************************************************* */
196196
TEST(Matrix, column )
197197
{
198-
Matrix A = (Matrix(4, 7) << -1., 0., 1., 0., 0., 0., -0.2, 0., -1., 0., 1.,
199-
0., 0., 0.3, 1., 0., 0., 0., -1., 0., 0.2, 0., 1., 0., 0., 0., -1.,
200-
-0.1).finished();
198+
Matrix A{
199+
{-1., 0., 1., 0., 0., 0., -0.2},
200+
{ 0., -1., 0., 1., 0., 0., 0.3},
201+
{ 1., 0., 0., 0., -1., 0., 0.2},
202+
{ 0., 1., 0., 0., 0., -1., -0.1}
203+
};
201204
Vector a1 = column(A, 0);
202-
Vector exp1 = (Vector(4) << -1., 0., 1., 0.).finished();
205+
Vector exp1{{-1., 0., 1., 0.}};
203206
EXPECT(assert_equal(a1, exp1));
204207

205208
Vector a2 = column(A, 3);
206-
Vector exp2 = (Vector(4) << 0., 1., 0., 0.).finished();
209+
Vector exp2{{0., 1., 0., 0.}};
207210
EXPECT(assert_equal(a2, exp2));
208211

209212
Vector a3 = column(A, 6);
210-
Vector exp3 = (Vector(4) << -0.2, 0.3, 0.2, -0.1).finished();
213+
Vector exp3{{-0.2, 0.3, 0.2, -0.1}};
211214
EXPECT(assert_equal(a3, exp3));
212215
}
213216

@@ -219,9 +222,11 @@ TEST(Matrix, insert_sub )
219222

220223
insertSub(big, small, 1, 2);
221224

222-
Matrix expected = (Matrix(5, 6) << 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
223-
1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0,
224-
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0).finished();
225+
Matrix expected{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
226+
{0.0, 0.0, 1.0, 1.0, 1.0, 0.0},
227+
{0.0, 0.0, 1.0, 1.0, 1.0, 0.0},
228+
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
229+
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
225230

226231
EXPECT(assert_equal(expected, big));
227232
}
@@ -236,16 +241,15 @@ TEST(Matrix, diagMatrices )
236241

237242
Matrix actual = diag(Hs);
238243

239-
Matrix expected = (Matrix(9, 9) <<
240-
1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
241-
1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
242-
1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
243-
0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0,
244-
0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0,
245-
0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0,
246-
0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0,
247-
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0,
248-
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0).finished();
244+
Matrix expected{{1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
245+
{1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
246+
{1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
247+
{0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0},
248+
{0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0},
249+
{0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0},
250+
{0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0},
251+
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0},
252+
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0}};
249253

250254
EXPECT(assert_equal(expected, actual));
251255
}
@@ -287,7 +291,7 @@ TEST(Matrix, scale_columns )
287291
A(2, 2) = 1.;
288292
A(2, 3) = 1.;
289293

290-
Vector v = (Vector(4) << 2., 3., 4., 5.).finished();
294+
Vector v{{2., 3., 4., 5.}};
291295

292296
Matrix actual = vector_scale(A, v);
293297

@@ -363,7 +367,7 @@ TEST(Matrix, scale_rows_mask )
363367
A(2, 2) = 1.;
364368
A(2, 3) = 1.;
365369

366-
Vector v = (Vector(3) << 2., std::numeric_limits<double>::infinity(), 4.).finished();
370+
Vector v{{2., std::numeric_limits<double>::infinity(), 4.}};
367371

368372
Matrix actual = vector_scale(v, A, true);
369373

@@ -811,14 +815,14 @@ TEST(Matrix, weighted_elimination )
811815
// create a matrix to eliminate
812816
Matrix A = (Matrix(4, 6) << -1., 0., 1., 0., 0., 0., 0., -1., 0., 1., 0., 0.,
813817
1., 0., 0., 0., -1., 0., 0., 1., 0., 0., 0., -1.).finished();
814-
Vector b = (Vector(4) << -0.2, 0.3, 0.2, -0.1).finished();
815-
Vector sigmas = (Vector(4) << 0.2, 0.2, 0.1, 0.1).finished();
818+
Vector b{{-0.2, 0.3, 0.2, -0.1}};
819+
Vector sigmas{{0.2, 0.2, 0.1, 0.1}};
816820

817821
// expected values
818822
Matrix expectedR = (Matrix(4, 6) << 1., 0., -0.2, 0., -0.8, 0., 0., 1., 0.,
819823
-0.2, 0., -0.8, 0., 0., 1., 0., -1., 0., 0., 0., 0., 1., 0., -1.).finished();
820-
Vector d = (Vector(4) << 0.2, -0.14, 0.0, 0.2).finished();
821-
Vector newSigmas = (Vector(4) << 0.0894427, 0.0894427, 0.223607, 0.223607).finished();
824+
Vector d{{0.2, -0.14, 0.0, 0.2}};
825+
Vector newSigmas{{0.0894427, 0.0894427, 0.223607, 0.223607}};
822826

823827
// perform elimination
824828
Matrix A1 = A;
@@ -876,19 +880,22 @@ TEST(Matrix, inverse_square_root )
876880
// M was generated as the covariance of a set of random numbers. L that
877881
// we are checking against was generated via chol(M)' on octave
878882
namespace cholesky {
879-
Matrix M = (Matrix(5, 5) << 0.0874197, -0.0030860, 0.0116969, 0.0081463,
880-
0.0048741, -0.0030860, 0.0872727, 0.0183073, 0.0125325, -0.0037363,
881-
0.0116969, 0.0183073, 0.0966217, 0.0103894, -0.0021113, 0.0081463,
882-
0.0125325, 0.0103894, 0.0747324, 0.0036415, 0.0048741, -0.0037363,
883-
-0.0021113, 0.0036415, 0.0909464).finished();
884-
885-
Matrix expected = (Matrix(5, 5) <<
886-
0.295668226226627, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000,
887-
-0.010437374483502, 0.295235094820875, 0.000000000000000, 0.000000000000000, 0.000000000000000,
888-
0.039560896175007, 0.063407813693827, 0.301721866387571, 0.000000000000000, 0.000000000000000,
889-
0.027552165831157, 0.043423266737274, 0.021695600982708, 0.267613525371710, 0.000000000000000,
890-
0.016485031422565, -0.012072546984405, -0.006621889326331, 0.014405837566082, 0.300462176944247).finished();
891-
}
883+
Matrix M{
884+
{ 0.0874197, -0.0030860, 0.0116969, 0.0081463, 0.0048741},
885+
{-0.0030860, 0.0872727, 0.0183073, 0.0125325, -0.0037363},
886+
{ 0.0116969, 0.0183073, 0.0966217, 0.0103894, -0.0021113},
887+
{ 0.0081463, 0.0125325, 0.0103894, 0.0747324, 0.0036415},
888+
{ 0.0048741, -0.0037363, -0.0021113, 0.0036415, 0.0909464}
889+
};
890+
891+
// clang-format off
892+
Matrix expected{{0.295668226226627, 0.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000},
893+
{-0.010437374483502, 0.295235094820875, 0.000000000000000, 0.000000000000000, 0.000000000000000},
894+
{0.039560896175007, 0.063407813693827, 0.301721866387571, 0.000000000000000, 0.000000000000000},
895+
{0.027552165831157, 0.043423266737274, 0.021695600982708, 0.267613525371710, 0.000000000000000},
896+
{0.016485031422565, -0.012072546984405, -0.006621889326331, 0.014405837566082, 0.300462176944247}};
897+
// clang-format on
898+
} // namespace cholesky
892899
TEST(Matrix, LLt )
893900
{
894901
EQUALITY(cholesky::expected, LLt(cholesky::M));
@@ -906,24 +913,24 @@ TEST(Matrix, cholesky_inverse )
906913
/* ************************************************************************* */
907914
TEST(Matrix, linear_dependent )
908915
{
909-
Matrix A = (Matrix(2, 3) << 1.0, 2.0, 3.0, 4.0, 5.0, 6.0).finished();
910-
Matrix B = (Matrix(2, 3) << -1.0, -2.0, -3.0, 8.0, 10.0, 12.0).finished();
916+
Matrix A{{1.0, 2.0, 3.0}, {4.0, 5.0, 6.0}};
917+
Matrix B{{-1.0, -2.0, -3.0}, {8.0, 10.0, 12.0}};
911918
EXPECT(linear_dependent(A, B));
912919
}
913920

914921
/* ************************************************************************* */
915922
TEST(Matrix, linear_dependent2 )
916923
{
917-
Matrix A = (Matrix(2, 3) << 0.0, 2.0, 3.0, 4.0, 5.0, 6.0).finished();
918-
Matrix B = (Matrix(2, 3) << 0.0, -2.0, -3.0, 8.0, 10.0, 12.0).finished();
924+
Matrix A{{0.0, 2.0, 3.0}, {4.0, 5.0, 6.0}};
925+
Matrix B{{0.0, -2.0, -3.0}, {8.0, 10.0, 12.0}};
919926
EXPECT(linear_dependent(A, B));
920927
}
921928

922929
/* ************************************************************************* */
923930
TEST(Matrix, linear_dependent3 )
924931
{
925-
Matrix A = (Matrix(2, 3) << 0.0, 2.0, 3.0, 4.0, 5.0, 6.0).finished();
926-
Matrix B = (Matrix(2, 3) << 0.0, -2.0, -3.0, 8.1, 10.0, 12.0).finished();
932+
Matrix A{{0.0, 2.0, 3.0}, {4.0, 5.0, 6.0}};
933+
Matrix B{{0.0, -2.0, -3.0}, {8.1, 10.0, 12.0}};
927934
EXPECT(linear_independent(A, B));
928935
}
929936

@@ -943,7 +950,7 @@ TEST(Matrix, svd1 )
943950

944951
/* ************************************************************************* */
945952
/// Sample A matrix for SVD
946-
static Matrix sampleA = (Matrix(3, 2) << 0.,-2., 0., 0., 3., 0.).finished();
953+
static Matrix sampleA{{0., -2.}, {0., 0.}, {3., 0.}};
947954
static Matrix sampleAt = trans(sampleA);
948955

949956
/* ************************************************************************* */
@@ -952,9 +959,9 @@ TEST(Matrix, svd2 )
952959
Matrix U, V;
953960
Vector s;
954961

955-
Matrix expectedU = (Matrix(3, 2) << 0.,-1.,0.,0.,1.,0.).finished();
962+
Matrix expectedU{{0., -1.}, {0., 0.}, {1., 0.}};
956963
Vector expected_s = Vector2(3.,2.);
957-
Matrix expectedV = (Matrix(2, 2) << 1.,0.,0.,1.).finished();
964+
Matrix expectedV{{1., 0.}, {0., 1.}};
958965

959966
svd(sampleA, U, s, V);
960967

@@ -975,9 +982,9 @@ TEST(Matrix, svd3 )
975982
Matrix U, V;
976983
Vector s;
977984

978-
Matrix expectedU = (Matrix(2, 2) << -1.,0.,0.,-1.).finished();
985+
Matrix expectedU{{-1., 0.}, {0., -1.}};
979986
Vector expected_s = Vector2(3.0, 2.0);
980-
Matrix expectedV = (Matrix(3, 2) << 0.,1.,0.,0.,-1.,0.).finished();
987+
Matrix expectedV{{0., 1.}, {0., 0.}, {-1., 0.}};
981988

982989
svd(sampleAt, U, s, V);
983990

@@ -1003,21 +1010,21 @@ TEST(Matrix, svd4 )
10031010
Matrix U, V;
10041011
Vector s;
10051012

1006-
Matrix A = (Matrix(3, 2) <<
1007-
0.8147, 0.9134,
1008-
0.9058, 0.6324,
1009-
0.1270, 0.0975).finished();
1013+
Matrix A{//
1014+
{0.8147, 0.9134},
1015+
{0.9058, 0.6324},
1016+
{0.1270, 0.0975}};
10101017

1011-
Matrix expectedU = (Matrix(3, 2) <<
1012-
0.7397, 0.6724,
1013-
0.6659, -0.7370,
1014-
0.0970, -0.0689).finished();
1018+
Matrix expectedU{//
1019+
{0.7397, 0.6724},
1020+
{0.6659, -0.7370},
1021+
{0.0970, -0.0689}};
10151022

10161023
Vector expected_s = Vector2(1.6455, 0.1910);
10171024

1018-
Matrix expectedV = (Matrix(2, 2) <<
1019-
0.7403, -0.6723,
1020-
0.6723, 0.7403).finished();
1025+
Matrix expectedV{//
1026+
{0.7403, -0.6723},
1027+
{0.6723, 0.7403}};
10211028

10221029
svd(A, U, s, V);
10231030

@@ -1042,18 +1049,19 @@ TEST(Matrix, svd4 )
10421049
/* ************************************************************************* */
10431050
TEST(Matrix, DLT )
10441051
{
1045-
Matrix A = (Matrix(8, 9) <<
1046-
0.21, -0.42, -10.71, 0.18, -0.36, -9.18, -0.61, 1.22, 31.11,
1047-
0.44, -0.66, -15.84, 0.34, -0.51, -12.24, -1.64, 2.46, 59.04,
1048-
0.69, -8.28, -12.19, -0.48, 5.76, 8.48, -1.89, 22.68, 33.39,
1049-
0.96, -8.4, -17.76, -0.6, 5.25, 11.1, -3.36, 29.4, 62.16,
1050-
1.25, 0.3, 2.75, -3.5, -0.84, -7.7, 16.25, 3.9, 35.75,
1051-
1.56, 0.42, 4.56, -3.38, -0.91, -9.88, 22.36, 6.02, 65.36,
1052-
1.89, 2.24, 3.99, 3.24, 3.84, 6.84, 18.09, 21.44, 38.19,
1053-
2.24, 2.48, 6.24, 3.08, 3.41, 8.58, 24.64, 27.28, 68.64
1054-
).finished();
1052+
Matrix A{
1053+
{0.21, -0.42, -10.71, 0.18, -0.36, -9.18, -0.61, 1.22, 31.11},
1054+
{0.44, -0.66, -15.84, 0.34, -0.51, -12.24, -1.64, 2.46, 59.04},
1055+
{0.69, -8.28, -12.19, -0.48, 5.76, 8.48, -1.89, 22.68, 33.39},
1056+
{0.96, -8.4, -17.76, -0.6, 5.25, 11.1, -3.36, 29.4, 62.16},
1057+
{1.25, 0.3, 2.75, -3.5, -0.84, -7.7, 16.25, 3.9, 35.75},
1058+
{1.56, 0.42, 4.56, -3.38, -0.91, -9.88, 22.36, 6.02, 65.36},
1059+
{1.89, 2.24, 3.99, 3.24, 3.84, 6.84, 18.09, 21.44, 38.19},
1060+
{2.24, 2.48, 6.24, 3.08, 3.41, 8.58, 24.64, 27.28, 68.64}
1061+
};
10551062
const auto [rank,error,actual] = DLT(A);
1056-
Vector expected = (Vector(9) << -0.0, 0.2357, 0.4714, -0.2357, 0.0, - 0.4714,-0.4714, 0.4714, 0.0).finished();
1063+
Vector expected{
1064+
{-0.0, 0.2357, 0.4714, -0.2357, 0.0, -0.4714, -0.4714, 0.4714, 0.0}};
10571065
EXPECT_LONGS_EQUAL(8,rank);
10581066
EXPECT_DOUBLES_EQUAL(0,error,1e-8);
10591067
EXPECT(assert_equal(expected, actual, 1e-4));

0 commit comments

Comments
 (0)