(Matrix * BiVector) Multiplication Timing Results:
 
Non-optimized builds (SRT_QUAL = default) Optimized builds (SRT_QUAL = maxopt)
5x5 Matrix 6x6 Matrix 5x5 Matrix 6x6 Matrix
LinearAlgebra 
Matrix * Matrix (*)
Matrix not specialized
Matrix not declared symmetric
[tsnmul10]
4.39 5.51 4.3 5.5
LinearAlgebra
Matrix * Matrix (*)
Matrix not specialized
Matrix declared symmetric
[tsnmul10]
6.6 8.28 6.65 8.35
LinearAlgebra
Matrix * Matrix (*)
Matrix specialized
Matrix not declared symmetric
[tsnmul10]
3.26 3.68 3.29 3.67
LinearAlgebra
Matrix * Matrix (*)
Matrix specialized
Matrix declared symmetric
[tsnmul10]
6.72 8.82 6.7 8.82
CLHEP
HepMatrix * HepMatrix (**)
[tsnmul11]
3.67 4.61 3.45 4.54
CLHEP
HepSymMatrix * HepMatrix (**)
[tsnmul12]
5.6 7.15 5.53 7.2
CovMatrices (***)
CovMatrixX * BiVectorX
[tsnmul13]
0.52 0.67 0.48 0.66

All timings are based on 1,000,000 multiplications.
The number is the time for 1 multiplication in microseconds (µsecs)
(also, since we have a total of 1,000,000 multiplications, the same number is the total multiplication time in seconds).
The string in the bracket is the name of the test module build for the particular test.
When the results say "Non-Optimized builds," then all the libraries and the test module were build with the "SRT_QUAL" variable having the "default" value.
When the results say "Optimized builds," then all the libraries and the test module were build with the "SRT_QUAL" variable having the "maxopt" value.

(*) Since LinearAlgebra hasn't implemented BiVectors, instead of Matrix * BiVector we did Matrix * Nx2 Matrix
(**) Since CLHEP hasn't implemented BiVectors, instead of HepMatrix * BiVector we did HepMatrix * Nx2 HepMatrix
(***) Covariant Matrices are inherently symmetric
 

Matrices and Vectors used in the tests:

LinearAlgebra:
5x5 matrix
     1e+03                    4                    6                    8                  10
             4         1.1e+03                  16                  18                  20
             6                  16         1.2e+03                  28                  30
             8                  18                  28         1.3e+03                  40
           10                  20                  30                  40         1.4e+03
10-element "bivector":
         2               4
         4               6
         6               8
         8             10
       10             12
6x6 matrix:
     1e+03                    4                    6                    8                  10                  12
             4         1.1e+03                  18                  20                  22                  24
             6                  18         1.2e+03                  32                  34                  36
             8                  20                 32         1.3e+03                  46                  48
           10                  22                  34                  46         1.4e+03                  60
           12                  24                  36                  48                  60         1.5e+03
12-element "bivector":
          2                4
          4                6
          6                8
          8              10
        10              12
        12              14

CLHEP:
5x5 matrix:
         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
10-element "bivector":
          2                4
          4                6
          6                8
          8              10
        10              12
6x6 matrix:
         1000                4                6                8              10              12
               4          1100              18              20              22              24
               6              18          1200              32              34              36
               8              20              32          1300              46              48
             10              22              34              46          1400              60
             12              24              36              48              60          1500
12-element "bivector":
          2                4
          4                6
          6                8
          8              10
        10              12
        12              14

CovMatrices:
5x5 matrix:
 +1.0000000000e+03
  +4.0000000000e+00   +1.1000000000e+03
  +6.0000000000e+00   +1.6000000000e+01   +1.2000000000e+03
  +8.0000000000e+00   +1.8000000000e+01   +2.8000000000e+01   +1.3000000000e+03
  +1.0000000000e+01   +2.0000000000e+01   +3.0000000000e+01   +4.0000000000e+01   +1.4000000000e+03
10-element bivector:
  +2.0000000000e+00   +4.0000000000e+00   +6.0000000000e+00   +8.0000000000e+00   +1.0000000000e+01
  +2.0000000000e+00   +4.0000000000e+00   +6.0000000000e+00   +8.0000000000e+00   +1.0000000000e+01
6x6 matrix:
+1.0000000000e+03
  +4.0000000000e+00   +1.1000000000e+03
  +6.0000000000e+00   +1.8000000000e+01   +1.2000000000e+03
  +8.0000000000e+00   +2.0000000000e+01   +3.2000000000e+01   +1.3000000000e+03
  +1.0000000000e+01   +2.2000000000e+01   +3.4000000000e+01   +4.6000000000e+01   +1.4000000000e+03
  +1.2000000000e+01   +2.4000000000e+01   +3.6000000000e+01   +4.8000000000e+01   +6.0000000000e+01   +1.5000000000e+03
12-element bivector:
  +2.0000000000e+00   +4.0000000000e+00   +6.0000000000e+00   +8.0000000000e+00   +1.0000000000e+01   +1.2000000000e+01
  +2.0000000000e+00   +4.0000000000e+00   +6.0000000000e+00   +8.0000000000e+00   +1.0000000000e+01   +1.2000000000e+01
 

Testing system specs:

CPU: 500 MHz PentiumIII (Katmai)
Memory: 128MB SDRAM
Cache: 512KB
Hard Disk: IBM 13677MB
Video Card: 16MB Diamond Viper TNT 1.95E

OS: Fermi Linux Release 6.1.1 (Strange)
Kernel: 2.2.16-3 on an i686
X-Server: XFree86 Version 11.0 Release 3360

Tests were compiled and build using GCC 3.0.1

Nick Macks