@@ -195,19 +195,22 @@ TEST(Matrix, stack )
195195/* ************************************************************************* */
196196TEST (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
878882namespace 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
892899TEST (Matrix, LLt )
893900{
894901 EQUALITY (cholesky::expected, LLt (cholesky::M));
@@ -906,24 +913,24 @@ TEST(Matrix, cholesky_inverse )
906913/* ************************************************************************* */
907914TEST (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/* ************************************************************************* */
915922TEST (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/* ************************************************************************* */
923930TEST (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 .}} ;
947954static 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/* ************************************************************************* */
10431050TEST (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