User:Zumradka

Матричная библиотека шаблонов (MTL)- это библиотека линейной алгебры для С++ программ.

MTL использует шаблоны С++, которые значительно сокращают код программы. Все матрицы и векторы допустимы во всех классических числовых форматах : float,double, complex or complex.

Более того, обобщённое программирование допускает использование произвольных типов до тех пор пока они производят  необходимые  операции. Например, можно  использовать произвольные числовые форматы (например, unsigned short),типы для интервальной арифметики (например ,boost: интервал из Boost библиотеки, кватернионы (например ,boost:кватернион), типы высокой точности (например , GNU Multi-Precision Library) и соответствующие определённые пользователем типы.

MTL поддерживает различные реализации плотной матрицы и разряжённой матрицы. MTL2 была разработана Jeremy Siek и Andrew Lumsdaine.

Последняя версия ,MTL4, была разработана Peter Gottschling и Andrew Lumsdaine. Она содержит большинство функций MTL2 ,а также дополнена новыми техниками оптимизации ,такими как метанастройка ,например, раскрутка цикла динамически разеренных контейнеров может быть определена в вызове функции. Платформо независимая масштабируемость производительности достигнута рекурсивной структурой данных и рекурсивными алгоритмами.

Универсальные приложения могут быть написаны в натуральной нотации (кодировке), например, v+= A*q - w; тогда как библиотеа диспетчеризует к соответствующим алгоритмам: matrix vector products vs. matrix products vs. vector scalar products и т.д. Целью является скрыть реализационные вопросы внутри библиотеки и предоставить пользователю наглядный интерфейс. MTL4 исользуется в различных пакетах ,таких как метод конечных элементов и метод конечных объёмов ,например ,FEniCS Project.

См. также

 * Boost uBLAS, альтернативная библиотека линейной алгебры для С++

Внешние ссылки

 * MTL домашняя страница
 * MTL4 домашняя страница

Matrix Template Library Matrix Template Library Matrix Template Library Matrix Template Library