컴퓨터

C++ 라이브러리 Armadillo

안데스초콜릿 2024. 10. 22. 01:44

Armadillo는 C++ 선형 대수 라이브러리로, 개발 친화적이면서도 빠른 연산 속도를 목표로 한다.

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

 

참고 사이트

 

https://arma.sourceforge.net/

 

Armadillo: C++ library for linear algebra & scientific computing

 

arma.sourceforge.net

 

설명서

https://arma.sourceforge.net/docs.html

 

Armadillo: C++ library for linear algebra & scientific computing - API Documentation

contiguous views for cube Q: Q.slice( slice_number ) Q.slices( first_slice, last_slice ) Q.row( row_number ) Q.rows( first_row, last_row ) Q.col( col_number ) Q.cols( first_col, last_col ) Q.subcube( first_row, first_col, first_slice, last_row

arma.sourceforge.net

 

'컴퓨터' 카테고리의 다른 글

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