선형 대수 라이브러리 비교
Comparison of linear algebra libraries다음 표는 유의한 선형 대수 적용 범위를 가진 전문 라이브러리 또는 범용 라이브러리 중 하나의 선형 대수 소프트웨어 라이브러리를 비교한 것입니다.
조밀한 선형 대수
일반 정보
| 크리에이터 | 언어 | 최초 공개 | 최신 안정판 | 소스 코드 가용성 | 면허증. | 메모들 | |
|---|---|---|---|---|---|---|---|
| 알러지[1] | ALGLIB 프로젝트 | C++, C#, FreePascal, VBA | 2006 | 3.12.0 / 08.2017 | 공짜 | GPL/상용 | C++ 및 C# 인터페이스를 갖춘 범용 수치 분석 라이브러리. |
| 아르마딜로[2][3] | NICTA | C++ | 2009 | 9.200 / 10.2018 | 공짜 | Apache 라이센스 2.0 | 선형 대수용 C++ 템플릿 라이브러리. 다양한 분해 및 인수분해를 포함합니다. 구문(API)은 MATLAB와 유사합니다. |
| 지도책 | 클린트 웨일리 외 | C | 2001 | 3.10.3 / 07.2016 | 공짜 | BSD | BLAS의 자동 조정 실장.LU 및 Cholesky 분해도 포함됩니다. |
| 블레이즈[4] | K. 이글버거 외 | C++ | 2012 | 3.8 / 08.2020 | 공짜 | BSD | Blaze는 고밀도 및 희박한 산술용 오픈 소스 고성능 C++ 연산 라이브러리입니다. |
| 블릿츠++ | 토드 벨드하이젠 | C++ | ? | 1.0.2 / 10.2019 | 공짜 | GPL | Blitz++는 과학 컴퓨팅용 고성능 다차원 어레이 컨테이너를 제공하는 C++ 템플릿 클래스 라이브러리입니다. |
| uBLAS의 부스트 | J. 월터, M. 코흐 | C++ | 2000 | 1.70.0 / 04.2019 | 공짜 | 소프트웨어 라이선스 활성화 | uBLAS는 고밀도, 패킹 및 스파스 매트릭스에 BLAS 레벨 1, 2, 3 기능을 제공하는 C++ 템플릿클래스 라이브러리입니다. |
| Dlib | 데이비스 E. 킹 | C++ | 2006 | 19.7 / 09/2017 | 공짜 | 부스트 | C++ 템플릿 라이브러리, 인텔 MKL 등의 최적화된 BLAS에 바인드.매트릭스 분해, 비선형 솔버, 머신 러닝 툴 포함 |
| 고유 | 베노 야콥 | C++ | 2008 | 3.4.0 / 08.2021 | 공짜 | MPL2 | 고유은 선형 대수(행렬, 벡터, 수치 솔버 및 관련 알고리즘)를 위한 C++ 템플릿 라이브러리입니다. |
| 패스트[5] | R. 포야, A. J. 길, R.오르티고사 | C++ | 2016 | 0.6.3 / 06.2020 | 공짜 | MIT 라이선스 | Fastor는 현대 C++용 고성능 텐서(고정 다차원 배열) 라이브러리입니다. |
| GNU 과학 라이브러리[6] | GNU 프로젝트 | C, C++ | 1996 | 2.5 / 06.2018 | 공짜 | GPL | 범용 수치 분석 라이브러리입니다.선형 대수에 대한 일부 지원을 포함합니다. |
| IMSL 수치 라이브러리 | 부정 Wave 소프트웨어 | C, Java, C#, Fortran, Python | 1970 | 많은 컴포넌트 | 무료가 아닌 | 독자 사양 | 범용 수치 분석 라이브러리입니다. |
| 랩[7][8] | 포트란 | 1992 | 3.9.0 / 11.2019 | 공짜 | 3절 BSD | 오랜 역사를 가진 수치 선형 대수 라이브러리 | |
| 라이브러리 | 미셸 마르톤 | C, Fortran, M4 | 2011 | 1.2 / 2016년 9월 | 공짜 | GPL | 대규모 스파스 매트릭스를 위한 고성능 멀티 스레드 프리미티브.반복 솔버 지원 작업: 곱셈, 삼각 해결, 스케일링, 행렬 I/O, 행렬 렌더링.대칭, 은둔, 복합, 4배 정밀도 등 다양한 변형이 있습니다. |
| 1 MKL | 인텔(R) | C++, Fortran | 2003 | 2022.0 업데이트 1 / 01.120 | 무료가 아닌 | 인텔(R) 간이 소프트웨어 라이선스 | 인텔 CPU용으로 최적화된 수치 분석 라이브러리 |
| Math.NET 수치 | C. Rüegg, M. Cuda 등 | C# | 2009 | 3.20 / 07.2017 | 공짜 | MIT 라이선스 | 선형대수를 지원하는 C# 수치해석 라이브러리 |
| 매트릭스 템플릿 라이브러리 | Jeremy Sik, Peter Gottschling, Andrew Lumsdaine 등 | C++ | 1998 | 4.0 / 2018 | 공짜 | 소프트웨어 라이선스 활성화 | 범용 프로그래밍 기반의 고성능 C++ 선형 대수 라이브러리 |
| NAG 수치 라이브러리 | 수치 알고리즘 그룹 | C, 포트란 | 1971 | 많은 컴포넌트 | 무료가 아닌 | 독자 사양 | 범용 수치 분석 라이브러리입니다. |
| NMath | CenterSpace 소프트웨어 | C# | 2003 | 7.1 / 2019년 12월 | 무료가 아닌 | 독자 사양 | 의 연산 및 통계 라이브러리.NET 프레임워크 |
| SciPy[9][10][11] | 인트호트 | 파이썬 | 2001 | 1.0.0 / 10.2017 | 공짜 | BSD | Python 기반 |
| Xtensor[12] | S. 콜레이, W. 볼프레히트, J. 마빌레 등 | C++ | 2016 | 0.21.10 / 11.2020 | 공짜 | 3절 BSD | Xtensor는 다차원 어레이 표현, 브로드캐스트 및 느린 컴퓨팅을 사용한 수치 분석용 C++ 라이브러리입니다. |
매트릭스 유형 및 연산
행렬 유형(양각/삼각과 같은 특수 유형은 나열되지 않음):
- Real – 일반 (비대칭) Real
- 복잡성 – 일반(비대칭) 복잡성
- SPD – 대칭 양의 유한(실제)
- HPD – Hermitian positive perminal (복잡)
- SY – 대칭(실제)
- HE – 에르미트어(복합)
- BND – 밴드
조작:
- TF – 삼각형 인수분해(LU, Cholesky
- OF – 직교 인수분해(QR, QL, 일반화 인수분해)
- EVP – 고유값 문제
- SVD – 특이값 분해
- GEVP – 일반 EVP
- GSVD – 일반 SVD
| 진짜 | 복잡한 | SPD | HPD | 시스템 | 그 | BND | TF | 의 | EVP | SVD | GEVP | GSVD | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 알러지 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 네. | 네. | 네. | 네. | 아니요. |
| 지도책 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. |
| Dlib | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 네. | 네. | 네. | 네. | 아니요. | 아니요. |
| GNU 과학 라이브러리 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 네. | 네. | 네. | 네. | 네. |
| IL Numerics.그물 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 네. | 네. | 네. | 아니요. | 아니요. |
| IMSL 수치 라이브러리 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 네. | 네. | 아니요. | 네. | 네. | 네. | 아니요. |
| 랩 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. |
| MKL | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. |
| NAG 수치 라이브러리 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. |
| NMath | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 아니요. |
| SciPy (Python 패키지) | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 네. | 네. | 네. | 아니요. | 아니요. |
| 고유 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. |
| 아르마딜로 | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 네. | 네. | 네. | 네. | 네. | 아니요. |
레퍼런스
- ^ 보치카노프, S. & Bystritsky, V. (2011년)ALGLIB - 크로스 플랫폼 수치 분석 및 데이터 처리 라이브러리.ALGLIB 프로젝트노브고로드, 러시아
- ^ 샌더슨, C. & Curtin, R. (2016).Armadillo: 선형 대수용 템플릿 기반 C++ 라이브러리.오픈 소스 소프트웨어 저널, 1(2), 26.
- ^ 샌더슨, C. (2010)아르마딜로:빠른 프로토타이핑 및 계산 집약적인 실험을 위한 오픈 소스 C++ 선형 대수 라이브러리(84페이지).기술 보고서, NICTA.
- ^ "Bitbucket".
- ^ Poya, Roman and Gil, Antonio J. and Ortigosa, Rogelio (2017). "A high performance data parallel tensor contraction framework: Application to coupled electro-mechanics". Computer Physics Communications. 216: 35–52. Bibcode:2017CoPhC.216...35P. doi:10.1016/j.cpc.2017.02.016.
{{cite journal}}: CS1 maint: 여러 이름: 작성자 목록(링크) - ^ Gough, B. (2009)GNU 과학 라이브러리 참조 매뉴얼.Network Theory Ltd..
- ^ Anderson, E., Bai, Z., Bischof, C., Blackford, S., Dongara, J., Du Croz, J., ... & Sorensen, D.(1999년).LAPACK 사용자 가이드SIAM.
- ^ Anderson, E., Bai, Z., Dongara, J., Greenbaum, A., McKenney, A., Du Croz, J., ... & Sorensen, D.(1990, 11월).LAPACK: 고성능 컴퓨터를 위한 휴대용 선형 대수 라이브러리입니다.슈퍼컴퓨팅에 관한 1990년 ACM/IEEE 회의의 진행(p. 2-11)IEEE Computer Society 프레스.
- ^ Jones, E., Oliphant, T. & Peterson, P. (2001)SciPy: Python용 오픈 소스 과학 도구입니다.
- ^ 브레서트, E. (2012)SciPy와 NumPy: 개발자를 위한 개요.오라일리 미디어
- ^ 블랑코 실바, F. J. (2013)수치 컴퓨팅과 과학 컴퓨팅을 위한 SciPy 학습.팩트 출판사
- ^ "Xtensor-stack/Xtensor". GitHub. 13 February 2022.