MV++ is a small, efficient, set of concrete vector and matrix classes specifically designed for high performance numerical computing.

The MV++ package includes interfaces to the computational kernels found in the Basic Linear Algebra Subprograms (BLAS), such as scalar updates, vector sums, and dot products. The idea is to utilize vendor-supplied, or optimized BLAS routines that are fine-tuned for particular platforms.

The various MV++ classes form the building blocks of larger user-level libraries such as SparseLib++[2] and LAPACK++[1]. The MV++ library was put together with the following principles in mind:

- a simple
**numerical**vector and column-oriented dense matrix class. -
**minimal overhead**in constructing, assigning, and copying vectors and matrices -
**performance**competitive with optimized Fortran kernels - data structure
**compatibility**with Fortran libraries and subroutines - concrete classes,
**no complicated inheritance hierarchy**, but - support generic element types through
**templated**paramters - support operations with contiguous
**subvectors**and**submatrices**(e.g. zeroing out a section of a vector.) - optional runtime support for
**array-bounds checking**.

Tue Nov 7 18:40:56 EST 1995