JAMA ( — библиотека матриц на языке Java) — библиотека функций линейной алгебры. Библиотека создана в NIST и является общественным достоянием.
Особенности Библиотека существует в двух версиях: на языке Java (собственно JAMA) и библиотека шаблонов на языке C++ (JAMA/C++). Версия на C++ использует Template Numerical Toolkit, разработанный там же. Версия на Java выполняет низкоуровневые операции сама.
Основные операции, выполняемые библиотекой: LU-разложение обращение матриц вычисление определителей вычисление собственных значений и собственных векторов QR-разложение разложение Холецкого сингулярное разложение
Поскольку JAMA не содержит ничего, кроме заголовочных файлов с шаблонами, библиотека не требует компиляции. Поскольку все классы используют шаблоны, одинаково легко использовать матрицы и вектора с элементами типа float, double или описанных пользователем типов.
История развития Первый выпуск библиотеки был представлен .
С 2000 года библиотека почти не развивается, производится только нерегулярное исправление замеченных ошибок.
Альтернативы Еще одним проектом NIST, а также, альтернативой JAMA, является библиотека Jampack, более гибкая в плане расширения функциональности.Описание библиотеки JAMA на сайте ГАИШ
Примеры использования Сингулярное разложение: SingularValueDecomposition s = matA.svd();
Matrix U = s.getU(); Matrix S = s.getS(); Matrix V = s.getV();
Умножение матриц: Matrix result = A.times(B);
Примечания
Ссылки Официальная страница Java-версии JAMA/C++
Категория:Библиотеки C++ Категория:Библиотеки Java Категория:Линейная алгебра Категория:Свободные библиотеки программ Категория:Программное обеспечение в общественном достоянии