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