Список числовых библиотек - List of numerical libraries
Это список примечательный числовые библиотеки, которые библиотеки используется в разработка программного обеспечения для выполнения числовой расчеты. Это не полный список, а список числовых библиотек со статьями в Википедии, за некоторыми исключениями.
Выбор типичной библиотеки зависит от разнообразного диапазона требований, таких как: желаемые характеристики (например: линейная алгебра больших размеров, параллельные вычисления, уравнения в частных производных), коммерческий / открытый исходный код, удобочитаемость API, переносимость или зависимость от платформы / компилятора ( например: Linux, Windows, Visual C ++, GCC), быстродействие, простота использования, постоянная поддержка со стороны разработчиков, соответствие стандартам, специализированная оптимизация кода для конкретных сценариев приложений или даже размер базы кода. установлены.
Поскольку мы находим комплексные опросы, которые редко доступны, почти всегда (по крайней мере, на начальном этапе) существует трудный выбор среди множества возможных библиотек. Часто это, как правило, остается на усмотрение пользователя, исходя из его собственного вкуса и удобства, только из-за отсутствие надлежащей информации.
Многоязычный
- АЛГЛИБ - это библиотека численного анализа с открытым исходным кодом, которую можно использовать из C ++, C #, FreePascal, Delphi, VBA.
- ArrayFire - это высокопроизводительная программная библиотека с открытым исходным кодом для параллельных вычислений с простым в использовании API.
- Цифровые библиотеки IMSL представляют собой библиотеки функций численного анализа, реализованные на стандартных языках программирования, таких как C, Java, C # .NET, Fortran и Python.
- В Библиотека NAG представляет собой набор математических и статистических процедур для нескольких языков программирования (C, C ++, Fortran, Visual Basic, Java, Python и C #) и пакетов (MATLAB, Excel, R, LabVIEW).
- GNU Octave - это язык программирования высокого уровня и библиотека с открытым исходным кодом, включая интерфейс командной строки и графический интерфейс, аналогичный коммерческим альтернативам, таким как Maple, MATLAB, Mathematica и т. д. API, функции и библиотеки могут быть вызваны со многих платформ, включая инженерные программы высокого уровня , где функции во многих случаях легко интерпретируются и интегрируются аналогично MATLAB. Его также можно использовать с пакетной ориентацией.
- librsb - это библиотека с открытым исходным кодом для высокопроизводительных вычислений разреженных матриц, предоставляющая многопоточные примитивы для построения итеративных решателей (также реализует Sparse BLAS стандарт). Его можно использовать из C, C ++, Fortran и специального GNU Octave упаковка.
C
- BLOPEX (Блокировать локально оптимальные предобусловленные собственные значения Xolvers) является Открытый исходный код библиотека для масштабируемый (параллельно ) решение задач на собственные значения.
- FFTW (Самое быстрое преобразование Фурье на Западе) - это программная библиотека для вычисления преобразований Фурье и связанных с ними преобразований.
- Научная библиотека GNU, популярная бесплатная библиотека численного анализа, реализованная в C.
- Библиотека GNU Multi-Precision это библиотека для выполнения арифметика произвольной точности.
- гипре (High Performance Preconditioners) - это Открытый исходный код библиотека из распорядки за масштабируемый (параллельно ) решение линейных систем и предварительное кондиционирование.
- LabWindows / CVI является ANSI C IDE который включает встроенные библиотеки для анализа необработанных данных измерений, генерации сигналов, работы с окнами, функций фильтрации, обработки сигналов, линейной алгебры, массивов и сложных операций, подбора кривой и статистики.
- Лис масштабируемая параллельная библиотека для решения систем линейных уравнений и задач на собственные значения с использованием итерационных методов.
- Intel MKL, Intel Math Kernel Library (на C), библиотека оптимизированных математических процедур для научных, инженерных и финансовых приложений, написанных на C / C ++ и Fortran. Основные математические функции включают BLAS, LAPACK, ScaLAPACK, разреженные решатели, быстрые преобразования Фурье и векторную математику.
- Intel IPP
- OpenBLAS представляет собой реализацию BLAS API с открытым исходным кодом с множеством вручную созданных оптимизаций для конкретных типов процессоров. Он работает аналогично Intel MKL на процессорах Intel и выше на различных других.
- Портативный расширяемый набор инструментов для научных вычислений (PETSc), представляет собой набор структуры данных и распорядки для масштабируемый (параллельно ) решение научные приложения смоделированный уравнения в частных производных.
- SLEPc Масштабируемая библиотека для вычисления задач на собственные значения это PETSc -основан Открытый исходный код библиотека для масштабируемый (параллельно ) решение задач на собственные значения.
C ++
- Адепт это комбинированный автоматическая дифференциация и множество библиотека.
- Расширенная библиотека моделирования бесплатное ПО с открытым исходным кодом для мультифизического моделирования с аппаратным ускорением и OpenCL -на основе внутреннего вычислительного движка.
- АЛГЛИБ это коммерческая библиотека численного анализа с открытым исходным кодом с версией C ++
- Armadillo - это библиотека линейной алгебры C ++ (матричная и векторная математика), нацеленная на хороший баланс между скоростью и простотой использования[1]. Он использует классы шаблонов и имеет дополнительные ссылки на BLAS и LAPACK. Синтаксис (API ) похоже на MATLAB.
- Blaze - это высокопроизводительная математическая библиотека C ++ с открытым исходным кодом для плотной и разреженной арифметики.
- Блиц ++ - это высокопроизводительная библиотека векторной математики, написанная на C ++.
- Boost.uBLAS Библиотеки C ++ для численных вычислений
- сделка.II библиотека, поддерживающая все решения уравнений в частных производных методом конечных элементов.
- Длиб это современная библиотека C ++ с простой в использовании линейной алгеброй и инструментами оптимизации, в которой используются оптимизированные библиотеки BLAS и LAPACK.
- Эйген библиотека векторной математики с производительностью, сопоставимой с Intel Математическая библиотека ядра
- Гермес Проект: Библиотека C ++ / Python для быстрого прототипирования пространственно-временных адаптивных решателей hp-FEM.
- IML ++ - это библиотека C ++ для решения линейных систем уравнений, способная работать с плотными, разреженными и распределенными матрицами.
- IT ++ это библиотека C ++ для линейной алгебры (матриц и векторов), обработки сигналов и связи. Функциональность аналогична MATLAB и Octave.
- LAPACK ++, библиотека оболочки C ++ для ЛАПАК и BLAS
- MFEM это бесплатная, легкая, масштабируемая библиотека C ++ для методы конечных элементов.
- Intel MKL, Intel Math Kernel Library (на C и C ++), библиотека оптимизированных математических процедур для научных, инженерных и финансовых приложений, написанных на C / C ++ и Fortran. Основные математические функции включают BLAS, LAPACK, ScaLAPACK, разреженные решатели, быстрые преобразования Фурье и векторную математику.
- mlpack - это библиотека с открытым исходным кодом для машинного обучения, использующая функции языка C ++ для обеспечения максимальной производительности и гибкости, предоставляя простой и согласованный API
- MTL4 это общий C ++ библиотека шаблонов, обеспечивающая разреженную и плотную функциональность BLAS. MTL4 устанавливает интуитивно понятный интерфейс (похожий на MATLAB ) и широкая применимость благодаря Общее программирование.
- В Библиотека NAG имеет C ++ API
- NTL это библиотека C ++ для теории чисел.
- Трилинос это попытка разработать алгоритмы и обеспечивающие технологии для решения крупномасштабных, сложных мультифизических инженерных и научных проблем. Это собрание пакеты.
Delphi
- Аналитика и физика: коммерческие библиотеки Delphi для символьных и числовых вычислений (включая символьные производные) и работы с физическими величинами и единицами измерения.
- АЛГЛИБ - библиотека численного анализа с открытым исходным кодом.
Языки .NET Framework C #, F #, VB.NET и PowerShell
- Accord.NET представляет собой набор библиотек для научных вычислений, включая численную линейную алгебру, оптимизацию, статистику, искусственные нейронные сети, машинное обучение, обработку сигналов и компьютерное зрение. LGPLv3, частично GPLv3.
- AForge.NET библиотека компьютерного зрения и искусственного интеллекта. Он реализует ряд генетических алгоритмов, алгоритмов нечеткой логики и машинного обучения с несколькими архитектурами искусственных нейронных сетей с соответствующими алгоритмами обучения. LGPLv3 и частично GPLv3.
- АЛГЛИБ это библиотека численного анализа с открытым исходным кодом с версией C #. Двойная лицензия: GPLv2 +, коммерческая лицензия.
- ILNumerics.Net Коммерческие высокопроизводительные, типизированные классы числовых массивов и функции для общей математики, БПФ и линейной алгебры, нацелены на .NET / моно, 32- и 64-разрядные версии, синтаксис, подобный сценариям в C #, элементы управления графиком 2D и 3D, эффективное управление памятью.
- Цифровые библиотеки IMSL иметь версию C # (под коммерческой лицензией). IMSL .Net объявили об окончании срока службы в конце 2020 года.
- Math.NET Числа стремится предоставить методы и алгоритмы для численных вычислений в науке, технике и повседневном использовании. Охватываемые темы включают специальные функции, линейную алгебру, вероятностные модели, случайные числа, интерполяцию, интегральные преобразования и многое другое. Бесплатное программное обеспечение под лицензией MIT / X11.
- Измерительная студия представляет собой коммерческий интегрированный набор элементов управления пользовательского интерфейса и библиотеки классов для использования при разработке приложений для тестирования и измерения. Библиотеки классов анализа обеспечивают различную цифровую обработку сигналов, фильтрацию сигналов, генерацию сигналов, обнаружение пиков и другие общие математические функции.
- ML.NET это бесплатно программное обеспечение машинное обучение библиотека для C # язык программирования.[2][3]
- В Библиотека NAG имеет C # API. Имеет коммерческую лицензию.
- NMath к Программное обеспечение CenterSpace: Коммерческие библиотеки числовых компонентов для платформы .NET, включая классы обработки сигналов (FFT), структуру линейной алгебры (LAPACK & BLAS) и пакет статистики.
Фортран
- BLAS (Основные подпрограммы линейной алгебры) де-факто интерфейс прикладного программирования стандарт для издательских библиотек для выполнения основных линейная алгебра такие операции, как вектор и матричное умножение.
- ЦЕРНЛИБ это собрание FORTRAN 77 библиотеки и модули.
- EISPACK это библиотека программного обеспечения за числовое вычисление из собственные значения и собственные векторы матриц[4], написано в FORTRAN. Он содержит подпрограммы для вычисления собственных значений девяти классов матрицы: сложный общий, сложный Эрмитский, действительный общий, действительный симметричный, действительный симметричный полосатый, вещественные симметричные трехдиагональные, специальные вещественные трехдиагональные, обобщенные вещественные и обобщенные вещественные симметричные матрицы.
- Цифровые библиотеки IMSL представляют собой кросс-платформенные библиотеки, содержащие полный набор математических и статистических функций, которые могут быть встроены в пользовательское приложение.
- Библиотека подпрограмм Харвелла это собрание Фортран 77 и 95 кодов, решающих основные проблемы численного анализа.
- ЛАПАК[5][6], то Пакет линейной алгебры, это библиотека программного обеспечения за числовые вычисления первоначально написано на FORTRAN 77 и теперь написано в Фортран 90.
- LINPACK это программное обеспечение библиотека для выполнения числовых линейная алгебра на цифровых компьютерах[7][8][9]. Это было написано в Фортран к Джек Донгарра, Джим Банч, Клив Молер, и Пит Стюарт, и предназначался для использования на суперкомпьютеры в 1970-х - начале 1980-х гг. Он был в значительной степени вытеснен ЛАПАК, который будет более эффективно работать на современных архитектурах.
- Лис масштабируемая параллельная библиотека для решения систем линейных уравнений и задач на собственные значения с использованием итерационных методов.
- MINPACK это библиотека FORTRAN подпрограммы для решения систем нелинейных уравнений, или наименьших квадратов минимизация невязки набора линейный или нелинейные уравнения.
- В Библиотека NAG Fortran представляет собой набор математических и статистических процедур для Фортрана.
- NOVAS - это программная библиотека для численных расчетов, связанных с астрометрией. Обе Фортран и C доступны версии.
- Netlib репозиторий программного обеспечения для научных вычислений, который содержит большое количество отдельных программ и библиотек, включая BLAS, EISPACK, ЛАПАК и другие.
- Лапа это бесплатный анализ данных пакет разработан в ЦЕРН.
- Портативный расширяемый набор инструментов для научных вычислений (PETSc), представляет собой набор структуры данных и распорядки для масштабируемый (параллельно ) решение научные приложения смоделированный уравнения в частных производных.
- КВАДПАК это FORTRAN 77 библиотека для численное интегрирование одномерных функций
- SLATEC это FORTRAN 77 библиотека из более чем 1400 математических и статистических процедур общего назначения.
- ДИВАН представляет собой набор подпрограмм, реализующих официальные IAU алгоритмы за астрономический вычисления. Обе Фортран и C доступны версии.
- ARPACK представляет собой набор подпрограмм Fortran77, предназначенных для решения крупномасштабных задач на собственные значения.
Ява
- ND4J является Открытый исходный код библиотека, которая поддерживает n-мерные (ND) массивы, аналогичные NumPy. Он работает на распределенных GPU или межплатформенные процессоры и используют Spark для параллельных вычислений. Он поддерживает глубокое обучение библиотека Deeplearning4j.
- Apache Commons, является Открытый исходный код для создания повторно используемых компонентов Java. Он имеет числовые пакеты для линейной алгебры и нелинейной оптимизации.
- Кольт предоставляет набор библиотек с открытым исходным кодом для высокопроизводительных научных и технических вычислений.
- Эффективная матричная библиотека Java (EJML) это библиотека линейной алгебры с открытым исходным кодом для управления плотными матрицами.
- JAMA числовой линейная алгебра инструментарий для Язык программирования Java. С 2005 года не велось активной разработки, но это все еще один из наиболее популярных пакетов линейной алгебры в Java.
- Jblas: линейная алгебра для Java, библиотека линейной алгебры, которая представляет собой простую в использовании оболочку вокруг BLAS и ЛАПАК.
- jDSP, библиотека инструментов цифровой обработки сигналов, написанная на Java, предназначенная для обеспечения функций, доступных в пакете scipy-signal для Python.
- Параллельный кольт это библиотека с открытым исходным кодом для научных вычислений. Параллельное расширение Кольт.
- Matrix Toolkit Java библиотека линейной алгебры, основанная на BLAS и ЛАПАК.
- ojAlgo это библиотека Java с открытым исходным кодом для математики, линейной алгебры и оптимизации.
- exp4j это маленький Ява библиотека для вычисления математических выражений.
Scala
- ND4S - это научная вычислительная библиотека для Scala, которая включает поддержку n-мерных массивов на JVM.
Perl
- Язык данных Perl дает стандартному Perl возможность компактно хранить и быстро манипулировать большими N-мерные массивы данных.
Python
- NumPy (бывший числовой), библиотека под лицензией BSD, которая добавляет поддержку для работы с большими, многомерными массивами и матрицами; он также включает в себя большой набор математических функций высокого уровня. NumPy служит основой для ряда других числовых библиотек, в частности SciPy. Де-факто стандарт для матричных / тензорных операций в Python.
- Панды библиотека для обработки и анализа данных.
- SageMath это большое математическое программное обеспечение, которое объединяет работу почти 100 бесплатно программное обеспечение проектирует и поддерживает линейную алгебру, комбинаторику, вычислительную математику, исчисление и многое другое[10].
- SciPy[11][12][13], большая библиотека научных инструментов под лицензией BSD. Де-факто стандарт для научных вычислений на Python.
- Научный Питон, библиотека с другим набором научных инструментов
- SymPy, библиотека, основанная на новой лицензии BSD для символьных вычислений. Возможности Sympy варьируются от базовой символьной арифметики до исчисления, алгебры, дискретной математики и квантовой физики.
Другие
- XNUMBERS - Многоточные вычисления с плавающей запятой и численные методы для Майкрософт Эксель.
- ИНТЛАБ — Интервальная арифметика библиотека для MATLAB[14][15][16][17].
Смотрите также
- Сравнение систем компьютерной алгебры
- Сравнение программ численного анализа
- Список графического программного обеспечения
- Список программного обеспечения для численного анализа
- Список программ оптимизации
- Список статистических пакетов
Рекомендации
- ^ Сандерсон, К., и Кертин, Р. (2016). Armadillo: основанная на шаблонах библиотека C ++ для линейной алгебры. Журнал программного обеспечения с открытым исходным кодом, 1 (2), 26.
- ^ Дэвид Рамел (2018-05-08). «Кросс-платформенный ML.NET с открытым исходным кодом упрощает машинное обучение - журнал Visual Studio». Журнал Visual Studio. Получено 2018-05-10.
- ^ Карим Андерсон (2017-05-09). «Microsoft представляет кросс-платформенную платформу машинного обучения ML.NET». На MSFT. Получено 2018-05-10.
- ^ Смит, Б. Т., Бойл, Дж. М., Гарбоу, Б. С., Икебе, Ю., Клема, В. К., & Молер, К. Б. (2013). Матричные подпрограммы собственной системы - руководство EISPACK (Том 6). Springer.
- ^ Андерсон, Э., Бай, З., Бишоф, К., Блэкфорд, С., Донгарра, Дж., Дю Кроз, Дж., ... и Соренсен, Д. (1999). Руководство пользователя LAPACK (Том 9). СИАМ.
- ^ Деммель, Дж. (1989, декабрь). LAPACK: портативная библиотека линейной алгебры для суперкомпьютеров. На семинаре Общества систем управления IEEE по проектированию автоматизированных систем управления (стр. 1-7). IEEE.
- ^ Донгарра, Дж. Дж., Молер, К. Б., Банч, Дж. Р., и Стюарт, Г. У. (1979). Руководство пользователя LINPACK. Общество промышленной и прикладной математики.
- ^ Донгарра, Дж. Дж., Лущек, П., и Петите, А. (2003). Тест LINPACK: прошлое, настоящее и будущее. Параллелизм и вычисления: практика и опыт, 15 (9), 803-820.
- ^ Донгарра, Дж. Дж. (1987, июнь). Тест LINPACK: объяснение. В Международной конференции по суперкомпьютерам (стр. 456-474). Шпрингер, Берлин, Гейдельберг.
- ^ Циммерманн, П., Касамаю, А., Коэн, Н., Коннан, Г., Дюмон, Т., Фусс, Л., ... и Брей, Э. (2018). Вычислительная математика с SageMath. СИАМ.
- ^ Джонс, Э., Олифант, Т., и Петерсон, П. (2001). SciPy: научные инструменты с открытым исходным кодом для Python.
- ^ Брессерт, Э. (2012). SciPy и NumPy: обзор для разработчиков. "O'Reilly Media, Inc.".
- ^ Бланко-Сильва, Ф. Дж. (2013). Изучение SciPy для численных и научных вычислений. Packt Publishing Ltd.
- ^ С.М. Крупа: INTLAB - INTerval LABoratory. Тибор Чендес, редактор журнала «Развитие надежных вычислений», стр. 77–104. Kluwer Academic Publishers, Дордрехт, 1999.
- ^ Мур, Р. Э., Кирфотт, Р. Б., и Клауд, М. Дж. (2009). Введение в интервальный анализ. Общество промышленной и прикладной математики.
- ^ Рэмп, С. М. (2010). Методы проверки: точные результаты с использованием арифметики с плавающей запятой. Acta Numerica, 19, 287–449.
- ^ Харгривз, Г. И. (2002). Интервальный анализ в MATLAB. Численные алгоритмы, (2009.1).
внешняя ссылка
- Математический форум - Математические библиотеки, обширный список математических библиотек с краткими описаниями