В следующих таблицах представлено сравнение библиотек программного обеспечения линейной алгебры , как специализированных, так и универсальных библиотек со значительным охватом линейной алгебры.
Создатель | Язык | Первый публичный релиз | Последняя стабильная версия | Доступность исходного кода | Лицензия | Примечания | |
---|---|---|---|---|---|---|---|
АЛГЛИБ [1] | Проект ALGLIB | C++, C#, Python, FreePascal | 2006 | 4.00.0 / 05.2023 | Бесплатно | GPL/коммерческая | Универсальная библиотека численного анализа с интерфейсами C++, C#, Python, FreePascal. |
Броненосец [2] [3] | НИКТА | С++ | 2009 | 12.6.6 / 10.2023 | Бесплатно | Лицензия Apache 2.0 | Библиотека шаблонов C++ для линейной алгебры; включает различные разложения и факторизации; синтаксис ( API ) похож на MATLAB . |
АТЛАС | Р. Клинт Уэйли и др. | С | 2001 | 3.10.3 / 07.2016 | Бесплатно | БСД | Автоматически настроенная реализация BLAS. Также включает в себя разложения LU и Холецкого. |
Пламя [4] | К. Иглбергер и др. | С++ | 2012 | 3.8 / 08.2020 | Бесплатно | БСД | Blaze — это высокопроизводительная математическая библиотека C++ с открытым исходным кодом для плотной и разреженной арифметики. |
Блиц++ | Тодд Вельдхейзен | С++ | ? | 1.0.2 / 10.2019 | Бесплатно | GPL | Blitz++ — это библиотека шаблонов классов C++, которая предоставляет высокопроизводительные контейнеры многомерных массивов для научных вычислений. |
Увеличить uBLAS | Дж. Вальтер, М. Кох | С++ | 2000 | 1.84.0 / 12.2023 | Бесплатно | Лицензия на программное обеспечение Boost | uBLAS — это библиотека шаблонных классов C++, которая обеспечивает функциональность BLAS уровня 1, 2, 3 для плотных, упакованных и разреженных матриц. |
Длиб | Дэвис Э. Кинг | С++ | 2006 | 19.24.2 / 05.2023 | Бесплатно | Способствовать росту | Библиотека шаблонов C++; связывается с оптимизированными BLAS, такими как Intel MKL; включает в себя матричные разложения, нелинейные решатели и инструменты машинного обучения |
Эйген | Бенуа Жакоб | С++ | 2008 | 3.4.0 / 08.2021 | Бесплатно | МПЛ2 | Eigen — это библиотека шаблонов C++ для линейной алгебры: матрицы, векторы, численные решатели и связанные алгоритмы. |
Фастор [5] | Р. Пойя, Эй Джей Гил и Р. Ортигоса | С++ | 2016 | 0.6.4 / 06.2023 | Бесплатно | Лицензия Массачусетского технологического института | Fastor — высокопроизводительная тензорная (фиксированная многомерная массивная) библиотека для современного C++. |
Научная библиотека GNU [6] | Проект GNU | С, С++ | 1996 | 2.7.1 / 11.2021 | Бесплатно | GPL | Библиотека численного анализа общего назначения. Включает некоторую поддержку линейной алгебры. |
Числовые библиотеки IMSL | Программное обеспечение Rogue Wave | С, Java, C#, Фортран, Питон | 1970 | много компонентов | Несвободный | Запатентованный | Библиотека численного анализа общего назначения. |
ЛАПАК [7] [8] | Фортран | 1992 | 3.12.0 / 11.2023 | Бесплатно | 3-пунктный BSD | Библиотека числовой линейной алгебры с долгой историей | |
librsb | Мишель Мартоне | С, Фортран, М4 | 2011 | 1.2.0 / 09.2016 | Бесплатно | GPL | Высокопроизводительные многопоточные примитивы для больших разреженных матриц. Поддержка операций для итеративных решателей: умножение, решение треугольников, масштабирование, матричный ввод-вывод, рендеринг матриц. Множество вариантов: например: симметричный, эрмитовый, комплексный, учетверенной точности. |
oneMKL | Интел | С, С++, Фортран | 2003 | 2023.1 / 03.2023 | Несвободный | Упрощенная лицензия на программное обеспечение Intel | Библиотека численного анализа, оптимизированная для процессоров и графических процессоров Intel. Реализация эталонного API на основе C++ SYCL доступна в исходном коде бесплатно. |
Math.NET Числа | К. Рюэгг, М. Куда и др. | С# | 2009 | 5.0.0 / 04.2022 | Бесплатно | Лицензия Массачусетского технологического института | Библиотека численного анализа C# с поддержкой линейной алгебры |
Библиотека шаблонов матриц | Джереми Сик, Питер Готтшлинг, Эндрю Ламсдейн и др. | С++ | 1998 | 4.0 / 2018 | Бесплатно | Лицензия на программное обеспечение Boost | Высокопроизводительная библиотека линейной алгебры C++ на основе Generic Programming |
Числовая библиотека NAG | Группа численных алгоритмов | С, Фортран | 1971 | много компонентов | Несвободный | Запатентованный | Библиотека численного анализа общего назначения. |
НМатематика | Программное обеспечение CenterSpace | С# | 2003 | 7.1 / 12.2019 | Несвободный | Запатентованный | Математические и статистические библиотеки для .NET Framework |
SciPy [9] [10] [11] | Задумался | Питон | 2001 | 1.11.1 / 6.2023 | Бесплатно | БСД | На основе Python |
Экстензор [12] | С. Корлей, В. Фоллпрехт, Дж. Мабилль и др. | С++ | 2016 | 0.21.10 / 11.2020 | Бесплатно | 3-пунктный BSD | Xtensor — это библиотека C++, предназначенная для численного анализа с использованием выражений многомерных массивов, широковещательной передачи и ленивых вычислений. |
Типы матриц (специальные типы, такие как двухдиагональные/трехдиагональные, не перечислены):
Операции:
Настоящий | Сложный | СПД | HPD | СИ | ОН | БНД | ТФ | ИЗ | Исполнительный вице-президент | СВД | ГЕВП | ГСВД | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
АЛГЛИБ | Да | Да | Да | Да | Нет | Нет | Нет | Да | Да | Да | Да | Да | Нет |
АТЛАС | Да | Да | Да | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет |
Длиб | Да | Да | Да | Да | Да | Да | Нет | Да | Да | Да | Да | Нет | Нет |
Научная библиотека GNU | Да | Да | Да | Да | Нет | Нет | Нет | Да | Да | Да | Да | Да | Да |
ILNumerics.Net | Да | Да | Да | Да | Нет | Нет | Нет | Да | Да | Да | Да | Нет | Нет |
Числовые библиотеки IMSL | Да | Да | Да | Да | Нет | Нет | Да | Да | Нет | Да | Да | Да | Нет |
ЛАПАК | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
oneMKL | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
Числовая библиотека NAG | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
НМатематика | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет | Нет |
SciPy (пакеты Python) | Да | Да | Да | Да | Нет | Нет | Нет | Да | Да | Да | Да | Нет | Нет |
Эйген | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет |
Броненосец | Да | Да | Да | Да | Да | Да | Нет | Да | Да | Да | Да | Да | Нет |
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка )