Template Numerical Toolkit (TNT; рус. Библиотека численных шаблонов) — библиотека шаблонов в языке программирования C++ для манипуляций одномерными, двумерными и трёхмерными массивами. Библиотека создана в Национальном институте стандартов и технологий США (NIST) и является общественным достоянием.

TNT
Тип Библиотека
Разработчик NIST
Написана на C++
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 1.2.6
Лицензия Общественное достояние
Сайт math.nist.gov/tnt/

TNT предоставляет возможность присваивания без копирования с автоматическим подсчётом числа ссылок, поэлементных операций (сложения, вычитания, умножения и деления) и ввода-вывода массивов разной размерности, а также матричного умножения.

Более сложные операции линейной алгебры, в частности LU-разложение, обращение матриц, вычисление определителей, собственных значений и векторов, QR-разложение, разложение Холецкого, сингулярное разложение, предоставляются библиотекой шаблонов JAMA, также разработанной в NIST и использующей TNT. Как и TNT, JAMA является общественным достоянием.

Поскольку TNT не содержит ничего, кроме заголовочных файлов с шаблонами, она не требует компиляции. Матрицы можно сохранять по строкам или по столбцам, для совместимости с Фортраном. Поскольку все классы используют шаблоны, одинаково легко использовать матрицы с элементами типа float, double или описанных пользователем типов. Библиотека предоставляет некоторые возможности работы с разреженными матрицами.

Разработчик TNT — Рольдан Посо.

См. также

править

Ссылки

править