숫자 라이브러리 목록
List of numerical libraries이것은 수치 계산을 수행하기 위한 소프트웨어 개발에 사용되는 라이브러리인 수치 라이브러리 목록입니다.이 목록은 완전한 목록은 아니지만 거의 예외 없이 위키피디아에 대한 문서가 포함된 숫자 라이브러리 목록입니다.
일반적인 라이브러리의 선택은 원하는 기능(대차원 선형 대수, 병렬 계산, 편미분 방정식), 상용/운영 소스 특성, API의 가독성, 휴대성 또는 플랫폼/컴파일러 의존성(예:Linux, Windows, Visual C++, GCC), 속도, 사용 편의성, 개발자로부터의 계속적인 지원, 표준 컴플라이언스, 특정 애플리케이션 시나리오 또는 설치하는 코드 베이스의 사이즈에 대한 특수한 최적화.
포괄적인 조사는 거의 이용할 수 없기 때문에, (적어도 초기에는) 가능한 많은 도서관 중에서 거의 항상 어려운 선택이 있다.적절한 정보가 부족하기 때문에 사용자의 취향과 쾌적함에 따라 사용자의 재량에 맡기는 경우가 많습니다.
다국어
- ALGLIB는 C++, C#, FreePascal, Delphi, VBA에서 사용할 수 있는 오픈 소스 수치 분석 라이브러리입니다.
- Array Fire는 사용하기 쉬운 API를 갖춘 병렬 컴퓨팅용 고성능 오픈 소스 소프트웨어 라이브러리입니다.
- IMSL 수치 라이브러리는 C, Java, C# 등의 표준 프로그래밍 언어로 구현된 수치 분석 기능의 라이브러리입니다.NET, Fortran 및 Python.
- NAG 라이브러리는 여러 프로그래밍 언어(C, C++, Fortran, Visual Basic, Java, Python 및 C#) 및 패키지(MATLAB, Excel, R, LabVIEW)의 수학 및 통계 루틴 모음입니다.
- GNU 옥타브는 Maple, MATLAB, Mathematica 등의 상업적인 대안과 유사한 명령줄 인터페이스와 GUI를 포함한 오픈 소스 고급 프로그래밍 언어 및 라이브러리입니다. API, 함수 및 라이브러리는 많은 경우 함수가 심리스하게 존재하는 고급 엔지니어링 프로그램을 포함하여 많은 플랫폼에서 호출할 수 있습니다.MATLAB과 유사한 방식으로 해석 및 통합됩니다.배치 방향으로도 사용할 수 있습니다.
- librsb는 고성능 스파스 매트릭스 계산을 위한 오픈 소스 라이브러리이며, 멀티 스레드 프리미티브를 제공하여 반복 솔버를 구축합니다(Sparse BLAS 표준도 구현).C, C++, Fortran 및 전용 GNU 옥타브 패키지에서 사용할 수 있습니다.
C
- BLOPEX(Block Local Optimal Preconditioned Igenue Xolvers)는 고유값 문제의 확장 가능한(병렬) 솔루션을 위한 오픈 소스 라이브러리입니다.
- FFTW(서부에서 가장 빠른 푸리에 변환)는 푸리에 및 관련 변환을 계산하기 위한 소프트웨어 라이브러리입니다.
- GNU Scientific Library는 C에서 구현된 인기 있는 무료 수치 분석 라이브러리입니다.
- GNU Multi-Precision Library는 임의 정밀도 계산을 위한 라이브러리입니다.
- 하이 퍼포먼스 프리컨디셔너(High Performance Preconditioners)는 선형 시스템 및 프리컨디셔닝의 확장 가능한(병렬) 솔루션을 위한 루틴의 오픈 소스 라이브러리입니다.
- Lab Windows/CVI는 원시 측정 데이터, 신호 생성, 윈도우잉, 필터 기능, 신호 처리, 선형 대수, 어레이 및 복잡한 연산, 곡선 피팅 및 통계 분석을 위한 내장 라이브러리를 포함하는 ANSI C IDE입니다.
- Lis는 반복 방법을 사용하여 선형 방정식과 고유값 문제를 해결하기 위한 확장 가능한 병렬 라이브러리입니다.
- 인텔 MKL, 인텔 매스 커널 라이브러리(C).과학, 엔지니어링, 재무 어플리케이션에 최적화된 연산 루틴 라이브러리.C/C++ 및 Fortran으로 기술되어 있습니다.핵심 산술 함수에는 BLAS, LAPACK, ScaLAPACK, 스파스 솔버, 고속 푸리에 변환 및 벡터 산술이 포함됩니다.
- 인텔 IPP
- OpenBLAS는 BLAS API의 오픈소스 구현으로 특정 프로세서유형에 맞게 수작업으로 최적화되어 있습니다.인텔 프로세서에서 인텔 MKL과 같은 성능을 발휘하며, 그 외의 프로세서에서는 그 이상의 성능을 발휘합니다.
- PETSC(Portable Extensible Toolkit for Scientific Computation)는 편미분 방정식으로 모델링된 과학 애플리케이션의 확장 가능한(병렬) 솔루션을 위한 데이터 구조 및 루틴 모음입니다.
- SLEPc Scalable Library for Eigenvalue Problem Computations는 고유값 문제의 확장 가능한(병렬) 솔루션을 위한 PETSc 기반 오픈 소스 라이브러리입니다.
C++
- Adapt는 자동 차별화 기능과 어레이 라이브러리를 결합한 것입니다.
- Advanced Simulation Library는 OpenCL 기반의 내부 계산 엔진을 갖춘 무료 오픈 소스 하드웨어 가속 멀티 물리 시뮬레이션 소프트웨어입니다.
- ALGLIB는 C++ 버전의 오픈 소스/상용 수치 분석 라이브러리입니다.
- Armadillo는 C++[1] 선형 대수 라이브러리(행렬과 벡터 수학)로 속도와 사용 편의성 사이의 균형을 잘 맞추는 것을 목표로 합니다.템플릿 클래스를 사용하여 BLAS 및 LAPACK에 대한 옵션링크를 제공합니다.구문(API)은 MATLAB과 비슷합니다.
- Blitz++는 C++로 작성된 고성능 벡터 수학 라이브러리입니다.
- 수치 계산을 위한 Boost.uBLAS C++ 라이브러리
- deal.II는 편미분방정식의 모든 유한요소해를 지원하는 라이브러리입니다.
- Dlib은 사용하기 쉬운 선형 대수학과 최적화된 BLAS 및 LAPACK 라이브러리의 장점을 가진 최신 C++ 라이브러리입니다.
- Igen은 인텔의 Math Kernel Library와 동등한 성능을 가진 벡터 수학 라이브러리입니다.
- 에르메스 프로젝트: 시공간 적응형 hp-FEM 솔버의 신속한 프로토타이핑을 위한 C++/Python 라이브러리.
- IML++는 방정식의 선형 시스템을 풀기 위한 C++ 라이브러리이며 조밀, 스파스 및 분산 행렬을 처리할 수 있습니다.
- IT++는 선형 대수(행렬 및 벡터), 신호 처리 및 통신을 위한 C++ 라이브러리입니다.MATLAB 및 Octab과 유사한 기능.
- LAPACK++, LAPACK 및 BLAS용 C++ 래퍼 라이브러리
- MFEM은 유한 요소 방식을 위한 자유롭고 가볍고 확장 가능한 C++ 라이브러리입니다.
- 인텔 MKL, 인텔 매스 커널 라이브러리(C 및 C++).과학, 엔지니어링, 재무 어플리케이션에 최적화된 수학 루틴 라이브러리.C/C++ 및 Fortran으로 기술되어 있습니다.핵심 산술 함수에는 BLAS, LAPACK, ScaLAPACK, 스파스 솔버, 고속 푸리에 변환 및 벡터 산술이 포함됩니다.
- mlpack은 머신 러닝용 오픈 소스 라이브러리입니다.C++ 언어 기능을 이용하여 심플하고 일관된 API를 제공하면서 최대한의 퍼포먼스와 유연성을 제공합니다.
- MTL4는 스퍼스 고밀도 BLAS 기능을 제공하는 범용 C++ 템플릿라이브러리입니다MTL4는 Generic 프로그래밍을 통해 직관적인 인터페이스(MATLAB와 유사)와 광범위한 적용 가능성을 확립합니다.
- NAG 라이브러리에는 C++ API가 있습니다.
- NTL은 숫자 이론을 위한 C++ 라이브러리입니다.
- Trilinos는 알고리즘 개발 및 대규모 복잡한 다중 물리 공학 및 과학적 문제를 해결하기 위한 기술 개발 노력입니다.패키지의 컬렉션입니다.
델파이
- ALGLIB - 오픈 소스 수치 분석 라이브러리입니다.
.NET Framework 언어 C#, F#, VB.NET 및 PowerShell
- Acord.NET은 수치 선형 대수, 최적화, 통계, 인공 신경 네트워크, 기계 학습, 신호 처리 및 컴퓨터 비전을 포함한 과학 컴퓨팅용 라이브러리 모음입니다.LGPLv3, 일부 GPLv3.
- AForge.NET은 컴퓨터 비전 및 인공지능 라이브러리입니다.그것은 대응하는 훈련 알고리즘과 함께 인공 신경망의 여러 아키텍처로 많은 유전자, 퍼지 논리 및 기계 학습 알고리즘을 구현한다.LGPLv3 및 부분 GPLv3.
- ALGLIB는 C# 버전의 오픈소스 수치 분석 라이브러리입니다.듀얼 라이선스: GPLv2+, 상용 라이선스.
- IL Numerics.일반 수학, FFT 및 선형 대수를 위한 순상업 고성능, 타이프세이프 수치 배열 클래스 및 함수의 목적입니다.NET/Mono, 32/64비트, C#의 스크립트형 구문, 2D 및 3D 플롯 제어, 효율적인 메모리 관리.
- IMSL 수치 라이브러리는 C# 버전(상용 라이선스)을 가지고 있습니다.IMSL .Net은 2020년 말에 판매 종료가 발표되었습니다.
- Math.NET Numberics는 과학, 공학 및 일상에서의 수치 계산을 위한 방법과 알고리즘을 제공하는 것을 목표로 합니다.다루는 주제에는 특수 함수, 선형 대수, 확률 모델, 난수, 보간, 적분 변환 등이 포함됩니다.MIT/X11 라이선스의 프리 소프트웨어.
- Measurement Studio는 테스트 및 측정 응용 프로그램 개발에 사용되는 상용 통합 제품군 UI 컨트롤 및 클래스 라이브러리입니다.분석 클래스 라이브러리는 다양한 디지털 신호 처리, 신호 필터링, 신호 생성, 피크 감지 및 기타 일반적인 수학적 기능을 제공합니다.
- ML.NET은 C# 프로그래밍 [2][3]언어용 무료 소프트웨어 머신 러닝 라이브러리입니다.
- NAG 라이브러리에는 C# API가 있습니다.상용 라이선스.
- CenterSpace 소프트웨어별 NMath:의 상용 수치 컴포넌트 라이브러리.신호 처리(FFT) 클래스, 선형 대수(LAPACK & BLAS) 프레임워크 및 통계 패키지를 포함한 NET 플랫폼.
포트란
- BLAS(Basic Linear Algebraza Subprograms)는 벡터 및 행렬 곱셈과 같은 기본 선형 대수 연산을 수행하기 위한 라이브러리를 게시하기 위한 사실상의 애플리케이션 프로그래밍 인터페이스 표준입니다.
- CERNLIB는 FORTRAN 77 라이브러리 및 모듈의 모음입니다.
- EISPACK은 [4]FORTRAN으로 작성된 행렬의 고유값 및 고유 벡터의 수치 계산을 위한 소프트웨어 라이브러리입니다.복잡한 일반, 복잡한 에르미트, 실일반, 실대칭, 실대칭 밴드, 실대칭 삼각형, 특수 실삼각형, 일반화 실대칭 매티스의 9개 클래스의 고유값을 계산하기 위한 서브루틴을 포함한다.
- IMSL 수치 라이브러리는 사용자 응용 프로그램에 포함될 수 있는 수학 및 통계 함수의 포괄적인 집합을 포함하는 교차 플랫폼 라이브러리입니다.
- Harwell Subroutine Library는 수치 분석의 핵심 문제를 해결하는 Fortran 77 및 95 코드 모음입니다.
- LAPACK,[5][6] 선형 대수 패키지(Linear Algemal PACKage)는 원래 FORTRAN 77에서 작성되었으며 현재는 FORTRAN 90에서 작성되는 수치 계산을 위한 소프트웨어 라이브러리입니다.
- LINPACK은 디지털 [7][8][9]컴퓨터에서 수치 선형 대수를 수행하기 위한 소프트웨어 라이브러리입니다.Jack Dongara, Jim Bunch, Cleve Moler 및 Pete Stewart에 의해 Fortran으로 작성되었으며 1970년대와 1980년대 초에 슈퍼컴퓨터에 사용하기 위해 고안되었습니다.LAPACK으로 대체되어 현대 아키텍처에서 보다 효율적으로 실행됩니다.
- Lis는 반복 방법을 사용하여 선형 방정식과 고유값 문제를 해결하기 위한 확장 가능한 병렬 라이브러리입니다.
- MINPACK은 비선형 방정식 시스템 또는 선형 또는 비선형 방정식 세트의 잔차 최소 제곱을 풀기 위한 FORTRAN 서브루틴 라이브러리입니다.
- NAG Fortran 라이브러리는 Fortran을 위한 수학 및 통계 루틴 모음입니다.
- NOVAS는 측성 관련 수치 계산을 위한 소프트웨어 라이브러리이다.Fortran 버전과 C 버전 모두 사용할 수 있습니다.
- Netlib는 BLAS, EISPACK, LAPACK 등을 포함한 다수의 개별 프로그램과 라이브러리를 포함하는 과학 컴퓨팅 소프트웨어의 저장소입니다.
- PA는 CERN에서 개발한 무료 데이터 분석 패키지입니다.
- PETSC(Portable Extensible Toolkit for Scientific Computation)는 편미분 방정식으로 모델링된 과학 애플리케이션의 확장 가능한(병렬) 솔루션을 위한 데이터 구조 및 루틴 모음입니다.
- QUADPACK은 1차원 함수의 수치 통합을 위한 FORTRAN 77 라이브러리입니다.
- SLATEC는 1400개가 넘는 범용 수학 및 통계 루틴으로 구성된 FORTRAN 77 라이브러리입니다.
- SOFA는 천문학 계산을 위한 공식 IAU 알고리즘을 구현하는 서브루틴 집합입니다.Fortran 버전과 C 버전 모두 사용할 수 있습니다.
- ARPACK은 대규모 고유값 문제를 해결하기 위해 설계된 Fortran77 서브루틴의 집합입니다.
자바
- Apache Commons는 재사용 가능한 Java 구성 요소를 만들기 위한 오픈 소스입니다.선형 대수와 비선형 최적화를 위한 숫자 패키지가 있습니다.
- Colt는 하이 퍼포먼스 과학 및 기술 컴퓨팅용 오픈 소스 라이브러리 세트를 제공합니다.
- Efficient Java Matrix Library(EJML)는 조밀한 행렬을 조작하기 위한 오픈 소스 선형 대수 라이브러리입니다.
- Java 프로그래밍 언어를 위한 수치 선형 대수 도구 모음인 JAMA.2005년 이후 어떠한 활발한 개발도 이루어지지 않았지만, 여전히 Java에서 가장 인기 있는 선형 대수 패키지 중 하나이다.
- Jblas: Linear Algebra for Java는 BLAS와 LAPACK을 둘러싼 사용하기 쉬운 선형 대수 라이브러리입니다.
- Parallel Colt는 과학적 컴퓨팅을 위한 오픈 소스 라이브러리입니다.콜트의 병렬 확장입니다.
- Matrix Toolkit Java는 BLAS 및 LAPACK에 기반한 선형 대수 라이브러리입니다.
- ojAlgo는 수학, 선형 대수 및 최적화를 위한 오픈 소스 Java 라이브러리입니다.
- exp4j는 수학식을 평가하기 위한 작은 Java 라이브러리입니다.
펄
- Perl Data Language는 표준 Perl에 대규모 N차원 데이터 [10]어레이를 콤팩트하게 저장하고 신속하게 조작할 수 있는 기능을 제공합니다.복잡한 연산과 매트릭스 연산을 수행할 수 있으며 GNU Scientific Library, LINPACK, PROJ (2021년 7월 현재 버전 4만)를 위한 인터페이스와 PGPLOT를 통한 플로팅이 가능합니다.CPAN에는 선형 대수 라이브러리 LAPACK,[11] 푸리에 변환 라이브러리 FFTW [12]및 gnuplot을 사용한 플롯 [13][14]및 PLplot에 대한 지원을 추가하는 라이브러리가 있습니다.
파이썬
- NumPy는 대규모 다차원 배열 및 매트릭스 조작을 지원하는 BSD 라이센스 라이브러리입니다.또, 고도의 수학 함수 집합도 다수 포함되어 있습니다.NumPy는 많은 다른 수치 라이브러리, 특히 SciPy의 백본 역할을 합니다.Python의 매트릭스/텐서 연산을 위한 사실상의 표준입니다.
- Panda는 데이터 조작과 분석을 위한 라이브러리입니다.
- SageMath는 거의 100개의 자유 소프트웨어 프로젝트의 작업을 통합하고 선형 대수, 조합론, 수치 수학, 미적분 [15]등을 지원하는 대형 수학 소프트웨어 애플리케이션입니다.
- SciPy는 [16][17][18]BSD 라이선스를 취득한 대형 과학 도구 라이브러리입니다.Python의 과학적 계산을 위한 사실상의 표준입니다.
- Scientific Python, 다른 과학적 도구 세트가 있는 라이브러리
- SymPy는 심볼 연산을 위한 New BSD 라이선스를 기반으로 하는 라이브러리입니다.Sympy의 특징은 기본적인 기호 산술에서 미적분, 대수학, 이산 수학, 양자 물리학에 이르기까지 다양합니다.
다른이들
- XNUMBERS - Microsoft Excel용 다중 정밀 부동 소수점 계산 및 수치 메서드.
- INTLAB : MATLAB의 [19][20][21][22]인터벌 연산 라이브러리.
「 」를 참조해 주세요.
레퍼런스
- ^ 샌더슨, C. & Curtin, R. (2016).Armadillo: 선형 대수용 템플릿 기반 C++ 라이브러리.오픈 소스 소프트웨어 저널, 1(2), 26.
- ^ David Ramel (2018-05-08). "Open Source, Cross-Platform ML.NET Simplifies Machine Learning -- Visual Studio Magazine". Visual Studio Magazine. Retrieved 2018-05-10.
- ^ Kareem Anderson (2017-05-09). "Microsoft debuts ML.NET cross-platform machine learning framework". On MSFT. Retrieved 2018-05-10.
- ^ Smith, B. T., Boyle, Boyle, Garbow, B. S., Ikebe, Y., Klema, V. C. 및 Moler, C. (2013).매트릭스 eigensystem 루틴-EISPACK 가이드(Vol. 6).스프링거.
- ^ Anderson, E., Bai, Z., Bischof, C., Blackford, S., Dongara, J., Du Croz, J., ... & Sorensen, D.(1999년).LAPACK 사용자 가이드(Vol. 9).SIAM.
- ^ Demmel, J.(1989년, 12월)LAPACK: 슈퍼컴퓨터용 휴대용 선형 대수 라이브러리.IEEE 제어 시스템 학회 컴퓨터 지원 제어 시스템 설계에 관한 워크숍(1-7페이지).IEEE.
- ^ 동가라, J.J., 몰러, C.B., 번치, J.R. 및 스튜어트, G.W.(1979년).LINPACK 유저즈 가이드.산업 응용 수학 학회
- ^ Dongara, J. J., Luszeczek, P. & Petitet, A. (2003)LINPACK 벤치마크: 과거, 현재, 미래.동시성과 계산: 연습과 경험, 15(9), 803-820.
- ^ 동가라, J. J.(1987년 6월).LINPACK 벤치마크: 설명.슈퍼컴퓨팅에 관한 국제회의 (p. 456-474).스프링거, 베를린, 하이델베르크
- ^ "Perl Data Language - metacpan.org". July 26, 2021.
- ^ "PDL::LinearAlgebra - Linear Algebra utils for PDL - metacpan.org". July 26, 2021.
- ^ "PDL::FFTW3 - PDL interface to the Fastest Fourier Transform in the West - metacpan.org". July 26, 2021.
- ^ "PDL::Graphics::Gnuplot - Gnuplot-based plotting for PDL - metacpan.org". July 26, 2021.
- ^ "PDL::Graphics::PLplot - Object-oriented interface from perl/PDL to the PLPLOT plotting library - metacpan.org". July 26, 2021.
- ^ Zimmermann, P., Casamayou, A., Cohen, N., Connan, G., Dumont, T., Fouse, L., ... & Bray, E. (2018).SageMath를 사용한 계산 수학.SIAM.
- ^ Jones, E., Oliphant, T. & Peterson, P. (2001)SciPy: Python용 오픈 소스 과학 도구입니다.
- ^ 브레서트, E. (2012)SciPy와 NumPy: 개발자를 위한 개요.오라일리 미디어
- ^ 블랑코 실바, F. J. (2013)수치 컴퓨팅과 과학 컴퓨팅을 위한 SciPy 학습.팩트 출판사
- ^ SM Rump: INTLAB – INTerval LABoratory.Tibor Csendes, Developments in Reliable Computing 편집자, 77~104페이지.클루어 학술 출판사, 도르트레흐트, 1999.
- ^ Moore, R. E., Kearfott, R. B., & Cloud, M. J. (2009)Interval Analysis의 개요.산업 응용 수학 학회
- ^ Rump, S. M. (2010년)검증방법 : 부동소수점 연산을 사용한 엄밀한 결과.액타 수치아, 19, 287~449.
- ^ 하그리브스, G. I. (2002)MATLAB에서의 구간 분석.수치 알고리즘, (2009.1).