Armadillo는 C++ 선형 대수 라이브러리로, 개발 친화적이면서도 빠른 연산 속도를 목표로 한다.
- MATLAB과 유사한 고급 구문과 기능을 제공한다.
- C++에서 알고리즘 개발에 유용하며, 연구 코드를 신속하게 상용 환경으로 변환하는 데 적합하다.
- 벡터, 행렬, 큐브를 위한 효율적인 클래스를 제공하며, 조밀한(dense) 행렬과 희소(sparse) 행렬을 지원한다.
- 정수, 부동 소수점 및 복소수 숫자를 지원한다.
- 정교한 표현 평가기(템플릿 메타 프로그래밍 기반)가 여러 연산을 자동으로 결합하여 속도와 효율성을 증가시킨다.
- 동적 평가가 탐지된 행렬 구조에 따라 최적의 코드 경로를 자동으로 선택한다.
- 고유값 분해(eigen), 특이값 분해(SVD), 콜레스키 분해(Cholesky) 등의 행렬 분해가 LAPACK 또는 그 고성능 대체 라이브러리(예: MKL 또는 OpenBLAS)와 통합되어 제공된다.
- 계산적으로 비용이 많이 드는 연산을 가속화하기 위해 OpenMP 다중 스레딩(병렬화)을 자동으로 사용할 수 있다.
- 오픈 소스 및 독점(폐쇄 소스) 소프트웨어 모두에 유용한 관대 한 Apache 2.0 라이센스 하에 배포된다.
- 머신 러닝, 패턴 인식, 컴퓨터 비전, 신호 처리, 생물 정보학, 통계, 금융 등 다양한 분야에서 사용할 수 있다.
참고 사이트
설명서
https://arma.sourceforge.net/docs.html
'컴퓨터' 카테고리의 다른 글
C++ 라이브러리 rapidcsv (0) | 2024.10.24 |
---|---|
C++ 라이브러리 OpenMP (0) | 2024.10.24 |
C++ 표준 라이브러리 cmath (0) | 2024.10.22 |
C++ 라이브러리 추가 방법 (1) | 2024.10.21 |
C++ 표준 라이브러리 자료구조 종류 (1) | 2024.10.21 |