Template Numerical Toolkit
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 — Рольдан Посо.