Next: Basic Features
Up: Overview
Previous: Overview
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.
Roldan Pozo
Tue Nov 7 18:40:56 EST 1995