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 Категория:Линейная алгебра Категория:Свободные библиотеки программ Категория:Программное обеспечение в общественном достоянии