This is a set of vector and matrix classes, as well as some supporting tools and math functions, and a set of simple random number generation classes. This software is designed for scientific programming, and as such, I have tried to build in as much functionality as possible, without sacrificing any more performance than necessary. This is accomplished in part by using a view-based model, to prevent unnecessary copying of data.
This software is not intended as a linear algebra package. It only supports very basic linear algebra operations like matrix multiplication, dot products, and matrix-vector multiplication, and these routines are highly optimized, but only as much as is possible without using inline assembly language. This is also not intended as a numerical toolkit. On the contrary, it is designed to be compatible with other software that serves those purposes, such as the Numerical Recipes in C++ software, and the FFTW fast Fourier transform C libraries.
This software is free to use for any purposes. If you use this software, I only ask that you acknowledge its use. Likewise, if you distribute a modified version of it, please acknowledge its origin, and note that it has been modified. No warranty of any kind is provided. Use at your own risk.