Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Matrix Template Library
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Ficha de software |nombre = Matrix Template Librery 4 |logo = [[Archivo:Mtl4 Logo Transparent.png|250px]] |captura = |pie = |autor = |desarrollador = [[SimuNova]] |lanzamiento = |última_versión = |fecha_última_versión = |última_versión_prueba = |fecha_última_versión_prueba = <!-- {{fecha de lanzamiento|DD|MM|AAAA}} --> |lenguaje_programación = [[C++]] |sistema_operativo = [[Linux]], [[Unix]], [[Mac OS X]], [[Microsoft Windows|Windows]] |plataforma = [[x86]]/[[AMD64]] |tamaño = |género = Software Científico |licencia = [https://www.boost.org/LICENSE_1_0.txt Boost Software License] |estado = |idiomas = Inglés, Alemán |español = |sitio_web = http://www.simunova.com/mtl4 |versiones = }} La '''Matrix Template Library''' (MTL) es una [[biblioteca (informática)|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 <code>float</code>, <code>double</code>, <code>complex<float></code> y <code>complex<double></code>. 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 [https://web.archive.org/web/20100613131343/http://www.osl.iu.edu/~lums/ 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. <code>v += A*q - w;</code>, 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. Se puede clarificar la idea anterior del encapsulamiento usando el siguiente esquema gráfico de MTL4: [[Archivo:MTL4 EN.png|center|700px|Esquema de encapsulamiento]] Como se puede apreciar en la parte izquierda del esquema, usando la [[biblioteca (informática) | 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. == MTL4 == En 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 <code>x = y * z </code>y la biblioteca llevará a cabo automáticamente la operación. Algunas operaciones, como el uso del producto matriz está realizado mediante el uso de otras bibliotecas por ejemplo [https://www.netlib.org/blas/index.html Blas]. En paralelo, todas las operaciones que se describen se realizaron también en C++, para que de esta forma la biblioteca MTL4 puede ser utilizado sin BLAS y no limitando su uso. Para abreviar las aplicaciones, en general se combina con el máximo rendimiento disponible. 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; == Portabilidad == MTL 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 == * [http://www.osl.iu.edu/research/mtl/ MTL] {{Wayback|url=http://www.osl.iu.edu/research/mtl/ |date=20090227040502 }} Página Principal * [http://www.mtl4.org MTL4] {{Wayback|url=http://www.mtl4.org/ |date=20101108135451 }} Página Principal * [http://www.simunova.com SimuNova] Productor de MTL4 {{Control de autoridades}} [[Categoría:Bibliotecas de C++]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Matrix Template Library
»
Añadir idiomas
Añadir tema