Русская Википедия:Template Numerical Toolkit

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

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

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

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

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

См. также

Ссылки

Шаблон:Soft-stub Шаблон:Rq