Matrix Template Library
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 La más reciente versión se denomina MTL4 y ha sido desarrollada por Andrew Lumsdaine y. 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ón natural, v.g. Se puede clarificar la idea anterior del encapsulamiento usando el siguiente esquema gráfico de MTL4: Como se puede apreciar en la parte izquierda del esquema, usando la biblioteca MTL4, ese código se hace transparente al programador, ya que podrá usar una sintaxis más natural, como lo que se ve en la parte derecha. MTL4En la Matrix Template Library 4 s trató de conseguir una notación matemática natural (ver esquema superior) sin sacrificar desempeño, pudiendos escribir una expresión como por ejemplo Se desarrollaron nuevas técnicas que hacen posible: * Utilización de datos de tamaño dinámico o bien el usuario puede definir los tamaños de bloques y datos; * La combinación de vectores de múltiples tareas en una sola declaración (y más importante realizarlas en un solo loop de código); * Almacenamiento de las matrices de forma recursiva, y también manejar una notación interna, transparente al programador cosa nunca antes realizada; * Realización de operaciones matriciales en forma con y sin recursividad; * Completar matrices dispersas y comprimirlas de manera eficiente, con una notación transparente al programador; PortabilidadMTL 4 fue escrita usando ANSI C++ y puede se compilada usando cualquier plataforma con un complidor de ANSI C++. Como por ejemplo: * Linux o g++ 4.1.3 o g++ 4.2.4 o g++ 4.3.4 o g++ 4.4.3 o g++ 4.5.1 o icc 9.1 o icc 10.0 o icc 10.1 o icc 11.0 o icc 11.1 * Macintosh o g++ desde 4.0.1 (los mismos como su Linux) * Windows o VC 8.0 de Visual Studio 2005 o VC 9.0 de Visual Studio 2008 o VC 10.0 de Visual Studio 2010 Para mayor información se pueden visitar los enlaces externos que están a continuación Enlaces externos
Information related to Matrix Template Library |