LightMat logo

LightMat C++ - Matrix class library

Location: http://www.ida.liu.se/~pelab/lightmat
Original authors: Dag Fritzson , Anders Gertz, Vadim Engelson, Tommy Persson; Linköping University.
Currently supported by: Vadim Engelson, e-mail: .

What is LightMat ?

LightMat is a portable C++ class library for efficient arithmetic operations and basic mathematical functions on vectors, matrices, 3- and 4-dimensional arrays. The library is specially optimized for vectors and matrices with dimensions 3 and 4 (i.e. 3x3 and 4x4). The library is optimized to minimize or eliminate object creation overhead which are especially important for small objects. Loops are unrolled whenever possible to provide better performance. Data is stored on the stack when possible i.e. small objects, otherwise on the heap. Arrays can be converted to strings and printed out.


What LightMat is not ?

There is currently no specific support for sparse matrices There is no built-in support for complicated linear algebra operations (LU-decompositions, eigenvalues, etc.), but external numerical routines from packages like BLAS and LAPACK can be called to operate directly on LightMat arrays, since LightMat uses the Fortran column-major storage format.


The License

Copyright (c) 2014, Linköping University. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Distribution

When you distribute the software you should follow the license above.

Acknowledment of Linköping University is not necessary.

If you successfully install and use this package in some project, please, send a note to .

Feedback, bug reports and contributions should be sent to .

Applications

LightMat is used in MathCode C++ and in BEAST.

Available platforms:

Non-available platforms: User manual (HTML). Read installation instructions there, examples and other notes.
Download (ZIP)(234K)

Links

TNT - Template Numerical Toolkit (under construction), a tool similar to LightMat, supports sparse matrices and some algebraic operations. Is based on STL, Standard Template Library.

This page created 21/1/1998 by Vadim Engelson, .
Changed 2014-03-04