fbpx
Wikipedia

Matrix Template Library

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

Matrix Template Library
Operating systemLinux, Unix, Mac OS X, Windows
Available inC++
TypeScientific software library
LicenseBoost Software License
Websitehttp://simunova.com/en/mtl4/

The MTL uses template programming, which considerably reduces the code length. All matrices and vectors are available in all classical numerical formats: float, double, complex<float> or complex<double>.

Furthermore, generic programming allows the usage of arbitrary types as long as they provide the necessary operations. For instance one can use arbitrary integer formats (e.g. unsigned short), types for interval arithmetic (e.g. boost::interval) from the Boost C++ Libraries, quaternions (e.g. boost::quaternion), types of higher precision (e.g. GNU Multi-Precision Library) and appropriate user-defined types.

The MTL supports several implementations of dense matrices and sparse matrices. MTL2 has been developed by Jeremy Siek and Andrew Lumsdaine.[1]

The latest version, MTL4, is developed by Peter Gottschling and Andrew Lumsdaine. It contains most of MTL2's functionality and adds new optimization techniques as meta-tuning, e.g. loop unrolling of dynamically sized containers can be specified in the function call. Platform-independent performance scalability is reached by recursive data structures and algorithms.[2]

Generic applications can be written in a natural notation, e.g. v += A*q - w;, while the library dispatches to the appropriate algorithms: matrix vector products vs. matrix products vs. vector scalar products etcetera. The goal is to encapsulate performance issues inside the library and provide scientists an intuitive interface. MTL4 is used in different finite element and finite volume packages, e.g. the FEniCS Project.[3]

See also edit

References edit

  1. ^ J.G. Siek and A. Lumsdaine: The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra. ISCOPE 1998. 2008-05-12 at the Wayback Machine
  2. ^ P. Gottschling, D.S. Wise, and M.D. Adams: Representation-transparent matrix algorithms with scalable performance. ICS '07: Proc. 21st intern. conf. on Supercomputing, pp. 116--125, ACM Press, New York, 2007. 2008-07-20 at the Wayback Machine
  3. ^ Dolfin web page within the FEniCS project. 2009-01-04 at the Wayback Machine

External links edit

  • homepage
  • MTL4 homepage

matrix, template, library, linear, algebra, library, programs, operating, systemlinux, unix, windowsavailable, typescientific, software, librarylicenseboost, software, licensewebsitehttp, simunova, mtl4, uses, template, programming, which, considerably, reduce. The Matrix Template Library MTL is a linear algebra library for C programs Matrix Template LibraryOperating systemLinux Unix Mac OS X WindowsAvailable inC TypeScientific software libraryLicenseBoost Software LicenseWebsitehttp simunova com en mtl4 The MTL uses template programming which considerably reduces the code length All matrices and vectors are available in all classical numerical formats float double complex lt float gt or complex lt double gt Furthermore generic programming allows the usage of arbitrary types as long as they provide the necessary operations For instance one can use arbitrary integer formats e g unsigned short types for interval arithmetic e g boost interval from the Boost C Libraries quaternions e g boost quaternion types of higher precision e g GNU Multi Precision Library and appropriate user defined types The MTL supports several implementations of dense matrices and sparse matrices MTL2 has been developed by Jeremy Siek and Andrew Lumsdaine 1 The latest version MTL4 is developed by Peter Gottschling and Andrew Lumsdaine It contains most of MTL2 s functionality and adds new optimization techniques as meta tuning e g loop unrolling of dynamically sized containers can be specified in the function call Platform independent performance scalability is reached by recursive data structures and algorithms 2 Generic applications can be written in a natural notation e g v A q w while the library dispatches to the appropriate algorithms matrix vector products vs matrix products vs vector scalar products etcetera The goal is to encapsulate performance issues inside the library and provide scientists an intuitive interface MTL4 is used in different finite element and finite volume packages e g the FEniCS Project 3 See also editList of numerical librariesReferences edit J G Siek and A Lumsdaine The Matrix Template Library A Generic Programming Approach to High Performance Numerical Linear Algebra ISCOPE 1998 Archived 2008 05 12 at the Wayback Machine P Gottschling D S Wise and M D Adams Representation transparent matrix algorithms with scalable performance ICS 07 Proc 21st intern conf on Supercomputing pp 116 125 ACM Press New York 2007 Archived 2008 07 20 at the Wayback Machine Dolfin web page within the FEniCS project Archived 2009 01 04 at the Wayback MachineExternal links editMTL homepage MTL4 homepage Retrieved from https en wikipedia org w index php title Matrix Template Library amp oldid 1031378771, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.