Matrix View
Matrix operations

This library implements a class similar to the GNU Scientific Library matrix_view. It points to a section of a C++ vector and interprets that section as a matrix. Matrix manipulations can then be done as usual. The matrices are column-major. See documentation for the available methods. Matrix dimensions are checked when necessary, unless the -DPKG_DEBUG_OFF compiler flag is set.



Interfaces to a subset of BLAS and LAPACK routines is available. People prefer a variety of implementations of these libraries. I have two built-in possibilities:

  • Using the libraries included with R, useful for writing R extensions.
  • Using a stand-alone library, in particular Intel's Math Kernel Library. To use this option, include the -DNO_REXT compilation flag and make sure MKL is visible to the compiler.

Using other libraries is also possible, but you may need to modify the #include statement for BLAS and LAPACK. If you want to use CBLAS, you may also need to modify routine names.


The implementation depends on a set of numerical utilities that I collected in the bayesicUtilities repository. I assume that the utilities are available in a bayesicUtilities directory at the same level as bayesicMatrix. This can be changed by modifying the #include path.