Matrix Template Library

from Wikipedia, the free encyclopedia
Matrix Template Library
Basic data

operating system Linux , Unix , Mac OS X , Windows
programming language C ++
category Scientific program library
License Boost software license
http://www.mtl4.org

The Matrix Template Library (MTL) is a linear algebra library for C ++ .

The MTL uses template programming , which significantly shortens the code length. All matrices and vectors are in the classical numerical formats float, double, complex<float>or complex<double>available. The generic programming it allows, the use of any type that have the necessary operations. Any integer formats (e.g. unsigned short), types for interval arithmetic (e.g. boost :: interval from the Boost library collection ), quaternions (e.g. boost :: quaternion), types of higher precision (e.g. GNU Multiple Precision Arithmetic Library ) and appropriate custom types. The MTL supports several implementations of full and sparse matrices. MTL2 was developed by Jeremy Siek and Andrew Lumsdaine.

The final version, MTL4, is being developed by Peter Gottschling and Andrew Lumsdaine. It contains most of the MTL2 functionality and expands it with new optimization techniques, such as meta-tuning, which among other things allows the roll-up parameters to be specified in the function call for operations on vectors and matrices with dynamic size . Platform-independent scalability of the performance is achieved through recursive data structures and algorithms. Generic applications can be written in natural notation, e.g. E.g. v += A*q - w;, where the library selects the appropriate algorithms at compile time . For example, a distinction is made x*ybetween matrix-vector product , matrix multiplication , multiplication of a vector by a scalar value and many others. The aim is to encapsulate performance-relevant technical details in the library and to offer researchers an intuitive interface so that they can concentrate on scientific algorithms and models.

credentials

  1. Jeremy G. Siek, Andrew Lumsdaine: The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra. ( Memento of the original from May 12, 2008 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF; 70 kB) ISCOPE, 1998. @1@ 2Template: Webachiv / IABot / www.osl.iu.edu
  2. ^ Peter Gottschling, David S. Wise, Michael D. Adams: Representation-transparent matrix algorithms with scalable performance. ( Memento of the original from July 20, 2008 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF; 284 kB) In: Proc. 21st Annual Int. Conf. on supercomputing. ACM Press, New York 2007, pp. 116-125. @1@ 2Template: Webachiv / IABot / www.osl.iu.edu

Web links