Template Numerical Toolkit

18-10-2023

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

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

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

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

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

См. также

Ссылки

  • Официальная страница

Template Numerical Toolkit.

© 2011–2023 stamp-i-k.ru, Россия, Барнаул, ул. Анатолия 32, +7 (3852) 15-49-47