선형 대수 라이브러리 비교

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 패키지) 네. 네. 네. 네. 아니요. 아니요. 아니요. 네. 네. 네. 네. 아니요. 아니요.
고유 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 네. 아니요.
아르마딜로 네. 네. 네. 네. 네. 네. 아니요. 네. 네. 네. 네. 네. 아니요.

레퍼런스

  1. ^ 보치카노프, S. & Bystritsky, V. (2011년)ALGLIB - 크로스 플랫폼 수치 분석 및 데이터 처리 라이브러리.ALGLIB 프로젝트노브고로드, 러시아
  2. ^ 샌더슨, C. & Curtin, R. (2016).Armadillo: 선형 대수용 템플릿 기반 C++ 라이브러리.오픈 소스 소프트웨어 저널, 1(2), 26.
  3. ^ 샌더슨, C. (2010)아르마딜로:빠른 프로토타이핑 및 계산 집약적인 실험을 위한 오픈 소스 C++ 선형 대수 라이브러리(84페이지).기술 보고서, NICTA.
  4. ^ "Bitbucket".
  5. ^ 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: 여러 이름: 작성자 목록(링크)
  6. ^ Gough, B. (2009)GNU 과학 라이브러리 참조 매뉴얼.Network Theory Ltd..
  7. ^ Anderson, E., Bai, Z., Bischof, C., Blackford, S., Dongara, J., Du Croz, J., ... & Sorensen, D.(1999년).LAPACK 사용자 가이드SIAM.
  8. ^ 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 프레스.
  9. ^ Jones, E., Oliphant, T. & Peterson, P. (2001)SciPy: Python용 오픈 소스 과학 도구입니다.
  10. ^ 브레서트, E. (2012)SciPy와 NumPy: 개발자를 위한 개요.오라일리 미디어
  11. ^ 블랑코 실바, F. J. (2013)수치 컴퓨팅과 과학 컴퓨팅을 위한 SciPy 학습.팩트 출판사
  12. ^ "Xtensor-stack/Xtensor". GitHub. 13 February 2022.

외부 링크