The Matrix Template Library (MTL) is a linear algebra library for C++ programs. 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.

PropertyValue
dbpedia-owl:Work/genre
dbpedia-owl:Work/language
dbpedia-owl:genre
dbpedia-owl:language
dbpprop:abstract
  • The Matrix Template Library (MTL) is a linear algebra library for C++ programs. 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, quaternions, types of higher precision 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. 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. 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.
  • Die Matrix Template Library (MTL) ist eine lineare Algebra-Bibliothek für C++. Die MTL benutzt Template Programmierung, die die Codelänge erheblich verkürzt. Alle Matrizen und Vektoren sind in den klassischen numerischen Formaten float, double, complex<float> oder complex<double> verfügbar. Die generische Programmierung erlaubt darüber hinaus die Verwendung beliebiger Typen, die über die notwendigen Operationen verfügen. Es können auch beliebige Integerformate (z. B. unsigned short), Typen für Intervallarithmetik, Quaternionen, Typen höherer Präzision und geeignete nutzerdefinierte Typen verwendet werden. Die MTL unterstützt mehrere Implementierungen voll und schwach besetzter Matrizen. MTL2 wurde von Jeremy Siek und Andrew Lumsdaine entwickelt. Die letzte Version, MTL4, wird von Peter Gottschling und Andrew Lumsdaine entwickelt. Sie enthält den größten Teil der MTL2-Funktionalität und erweitert diese um neue Optimierungstechniken, wie beispielsweise das Meta-Tuning, welches es unter anderem erlaubt, für Operationen auf Vektoren und Matrizen mit dynamischer Größe die Aufrollparameter im Funktionsaufruf festzulegen. Plattformunabhängige Skalierbarkeit der Performanz wird durch rekursive Datenstrukturen und Algorithmen erreicht. Generische Anwendungen können in einer natürlichen Notation geschrieben werden, z. B. : v += A*q - w;, wobei die Bibliothek die geeigneten Algorithmen zur Compilezeit auswählt. Beispielsweise wird bei x*y zwischen Matrixvektorprodukt, Matrixmultiplikation, Multiplikation eines Vektors mit einem Skalarwert und vielen anderen unterschieden. Das Ziel ist, performanzrelevante technische Details in der Bibliothek zu kapseln und Forschern ein intuitives Interface anzubieten, so dass diese sich auf wissenschaftliche Algorithmen und Modelle konzentrieren können.
  • La Matrix Template Library (MTL) es una biblioteca de álgebra lineal para programas en C++. La MTL usa programación con plantillas, lo cual reduce considerablemente la extensión del código. Todas las matrices están disponibles para los tipos float, double, complex<float> y complex<double>. La MTL soporta diversas implementaciones de matrices densas y dispersas. MTL2 fue desarrollada por Jeremy Siek y Andrew Lumsdaine. La más reciente versión se denomina MTL4 y ha sido desarrollada por Peter Gottschling y Andrew Lumsdaine. MTL4 contiene la mayor parte de las funcionalidades de MTL2, e incluye nuevas técnicas de optimización tales como el "meta-tuning" (es posible especificar los detalles del "loop unrolling" para matrices y vectores de dimensión dinámica arbitraria en la llamada de la función). Las aplicaciones genéricas pueden ser introducidas en notaci´on natural, v.g. v += A*q - w;, de forma que la biblioteca selecciona por sí misma el algoritmo apropiado: multiplicación matriz-vector, producto de matrices, producto escalar de vectores, etc. El objetivo es ofrecer una interfaz científica intuitiva, mientras que los detalles técnicos quedan encapsulados dentro de la biblioteca.
  • La Matrix Template Library (MTL) est une bibliothèque d'algèbre linéaire pour les programmes C++. La MTL utilise la programmation générique, qui réduit considérablement la longueur des codes. Toutes les matrices et vecteurs sont disponibles dans les formats numériques classiques: float, double, complex<float> et complex<double>. La programmation générique permit aussi l'utilisation de tous les types qui disposent les opérations nécessaires. En conséquence, on peut utiliser tous les formats des nombres entiers (p. ex. unsigned short), des types pour l'arithmétique d'intervalles, des quaternions, des types de précision supérieur et des nouveaux types appropriés. La MTL soutient plusieurs implémentations de matrices denses et de matrices creuses. La MTL2 a été développée dans l'université de l'Indiana par Jeremy Siek et Andrew Lumsdaine. La dernière version nommée MTL4, est actuellement développée par Peter Gottschling et Andrew Lumsdaine. Elle contient la majorité des fonctionnalités de MTL2 et ajoute des nouvelles techniques d'optimisation comme le meta-tuning, par exemple le déroulement des boucles dans les opérations de matrices/vecteurs de taille dynamique ce qui peut être spécifié dans l'appel de fonction. D'une part, les applications génériques peuvent être écrites en notation naturelle, par exemple v += A*q - w;, d'autre part, la bibliothèque sélectionne les algorithmes appropriés : produits des matrices et vecteurs, ou produits matriciels ou multiplications des vecteurs par des scalaires etc.. Le but est d'encapsuler les détails techniques reliés à la performance dans la bibliothèque et de fournir aux scientifiques une interface intuitive.
dbpprop:genre
  • Scientific software library
dbpprop:hasPhotoCollection
dbpprop:language
dbpprop:license
dbpprop:name
  • Matrix Template Library
dbpprop:operatingSystem
dbpprop:reference
dbpprop:website
dbpprop:wikiPageUsesTemplate
rdf:type
rdfs:comment
  • The Matrix Template Library (MTL) is a linear algebra library for C++ programs. 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.
  • Die Matrix Template Library (MTL) ist eine lineare Algebra-Bibliothek für C++. Die MTL benutzt Template Programmierung, die die Codelänge erheblich verkürzt. Alle Matrizen und Vektoren sind in den klassischen numerischen Formaten float, double, complex<float> oder complex<double> verfügbar. Die generische Programmierung erlaubt darüber hinaus die Verwendung beliebiger Typen, die über die notwendigen Operationen verfügen. Es können auch beliebige Integerformate (z. B.
  • La Matrix Template Library (MTL) es una biblioteca de álgebra lineal para programas en C++. La MTL usa programación con plantillas, lo cual reduce considerablemente la extensión del código. Todas las matrices están disponibles para los tipos float, double, complex<float> y complex<double>. La MTL soporta diversas implementaciones de matrices densas y dispersas. MTL2 fue desarrollada por Jeremy Siek y Andrew Lumsdaine.
  • La Matrix Template Library (MTL) est une bibliothèque d'algèbre linéaire pour les programmes C++. La MTL utilise la programmation générique, qui réduit considérablement la longueur des codes. Toutes les matrices et vecteurs sont disponibles dans les formats numériques classiques: float, double, complex<float> et complex<double>. La programmation générique permit aussi l'utilisation de tous les types qui disposent les opérations nécessaires.
rdfs:label
  • Matrix Template Library
  • Matrix Template Library
  • Matrix Template Library
  • Matrix Template Library
owl:sameAs
skos:subject
foaf:homepage
foaf:name
  • Matrix Template Library
foaf:page
is owl:sameAs of