Aller au contenu

Matrix Template Library

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 12 février 2009 à 11:55 et modifiée en dernier par Ludovic89 (discuter | contributions) (wikification (cf. Wikipédia:WikiProject_Check_Wikipedia)). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

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 sont disponibles en, double, complex<float> ou encore complex<double>. 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.

Article connexe

Liens externes