Matrix * matrix multiplication correctness tests results

Sample 5x5 matrices:
Matrix 1:
      1000                 4               6                 8              10
            4            1100             16              18              20
            6               16          1200              28              30
            8               18              28          1300              40
           10              20              30              40          1400
Matrix 2:
      1000                  4               6                8              10
            4            1100             16              18              20
            6               16          1200              28              30
            8               18              28          1300              40
           10              20              30              40          1400
 

1. Matrix * Matrix, 1 time

LinearAlgebra

Matrix1 * Matrix2 =
       1e+06        8.84e+03        1.38e+04          1.9e+04        2.46e+04
  8.84e+03        1.21e+06        3.79e+04        4.45e+04        5.12e+04
  1.38e+04        3.79e+04        1.44e+06        7.15e+04        7.95e+04
    1.9e+04        4.45e+04        7.15e+04        1.69e+06        1.09e+05
  2.46e+04        5.12e+04        7.95e+04        1.09e+05        1.96e+06

LinearAlgebra (Symmetric Matrices)

Matrix1 * Matrix2 =
       1e+06        8.84e+03        1.38e+04          1.9e+04        2.46e+04
  8.84e+03        1.21e+06        3.79e+04        4.45e+04        5.12e+04
  1.38e+04        3.79e+04        1.44e+06        7.15e+04        7.95e+04
    1.9e+04        4.45e+04        7.15e+04        1.69e+06        1.09e+05
  2.46e+04        5.12e+04        7.95e+04        1.09e+05        1.96e+06

CLHEP

Matrix1 * Matrix2 =
  1.00022e+06              8840               13788               19040             24580
               8840     1.211e+06               37928               44480             51240
             13788             37928   1.44198e+06               71536             79500
             19040             44480               71536   1.69277e+06           109280
             24580             51240               79500             109280     1.963e+06

CLHEP (Symmetric matrices)

Matrix1 * Matrix2 =
  1.00022e+06              8840               13788               19040             24580
               8840     1.211e+06               37928               44480             51240
             13788             37928   1.44198e+06               71536             79500
             19040             44480               71536   1.69277e+06           109280
             24580             51240               79500             109280     1.963e+06

CovMatrices (inherently symmetric)
(since CovMatrices don't perform Matrix*Matrix, we used the "dot product" method)

Matrix1 * Matrix2 =
  +1.0002160000e+06
  +8.8400000000e+03   +1.2109960000e+06
  +1.3788000000e+04   +3.7928000000e+04   +1.4419760000e+06
  +1.9040000000e+04   +4.4480000000e+04   +7.1536000000e+04   +1.6927720000e+06
  +2.4580000000e+04   +5.1240000000e+04   +7.9500000000e+04   +1.0928000000e+05   +1.9630000000e+06
 

2. Matrix * Matrix, 50 times (the product of the two matrices is stored on the first matrix)

LinearAlgebra

Matrix1 * Matrix2 =
 6.54e+157       1.77e+158       3.62e+158       7.33e+158       1.89e+159
 1.77e+158       4.78e+158       9.79e+158       1.99e+159       5.11e+159
 3.62e+158       9.79e+158       2.01e+159       4.08e+159       1.04e+160
 7.33e+158       1.99e+159       4.08e+159       8.45e+159         2.1e+160
 1.89e+159       5.11e+159       1.04e+160         2.1e+160       5.51e+160

LinearAlgebra (Symmetric Matrices)

Matrix1 * Matrix2 =
 6.54e+157       1.77e+158       3.62e+158       7.33e+158       1.89e+159
 1.77e+158       4.78e+158       9.79e+158       1.99e+159       5.11e+159
 3.62e+158       9.79e+158       2.01e+159       4.08e+159       1.04e+160
 7.33e+158       1.99e+159       4.08e+159       8.45e+159         2.1e+160
 1.89e+159       5.11e+159       1.04e+160         2.1e+160       5.51e+160

CLHEP

Matrix1 * Matrix2 =
 6.54349e+157   1.76885e+158   3.61676e+158   7 33424e+158   1.89348e+159
 1.76885e+158       4.784e+158   9.78595e+158   1.98757e+159   5.11225e+159
 3.61676e+158   9.78595e+158   2.00751e+159   4.07524e+159   1.04337e+160
 7.33424e+158   1.98757e+159   4.07524e+159     8.4479e+159   2.09616e+160
 1.89348e+159   5.11225e+159  1 .04337e+160   2.09616e+160   5.51026e+160

CLHEP (Symmetric matrices)

Matrix1 * Matrix2 =
 6.54349e+157   1.76885e+158   3.61676e+158   7 33424e+158   1.89348e+159
 1.76885e+158       4.784e+158   9.78595e+158   1.98757e+159   5.11225e+159
 3.61676e+158   9.78595e+158   2.00751e+159   4.07524e+159   1.04337e+160
 7.33424e+158   1.98757e+159   4.07524e+159     8.4479e+159   2.09616e+160
 1.89348e+159   5.11225e+159  1 .04337e+160   2.09616e+160   5.51026e+160

CovMatrices (inherently symmetric)
(since CovMatrices don't perform Matrix*Matrix, we used the "dot product" method)

Matrix1 * Matrix2 =
 +6.5434874686e+157
 +1.7688538446e+158   +4.7840031064e+158
 +3.6167596727e+158   +9.7859482073e+158   +2.0075080059e+159
 +7.3342376895e+158   +1.9875696399e+159   +4.0752425498e+159   +8.4478959989e+159
 +1.8934751504e+159   +5.1122496985e+159   +1.0433672118e+160   +2.0961557785e+160   +5.5102585260e+160
 

Tests were compiled and build using GCC 3.0.1

Nick Macks