매트릭스 템플릿 라이브러리

Matrix Template Library
매트릭스 템플릿 라이브러리
운영 체제Linux, Unix, Mac OS X, Windows
이용가능기간:C++
유형과학 소프트웨어 라이브러리
면허증.소프트웨어 라이선스 활성화
웹 사이트http://simunova.com/en/mtl4/

매트릭스 템플릿 라이브러리(MTL)는 C++ 프로그램용 선형 대수 라이브러리입니다.

MTL은 템플릿프로그래밍을 사용하여 코드 길이를 대폭 줄입니다.모든 행렬 및 벡터는 모든 고전적인 숫자 형식으로 사용할 수 있습니다.float,double,complex<float>또는complex<double>.

게다가 범용 프로그래밍은, 필요한 조작을 제공하는 한, 임의의 타입의 사용을 허가합니다.예를 들어 임의의 정수 형식을 사용할 수 있습니다(예:unsigned short), Boost C++ 라이브러리의 간격 연산(예: boost:: interval), Quaternion(예: boost:: 쿼터니언), 고정밀 유형(예: GNU Multi-Precision Library), 적절한 사용자 정의 유형.

MTL은 조밀한 행렬과 스파스 행렬의 몇 가지 구현을 지원합니다.MTL2는 Jeremy Sik과 Andrew Lumsdaine에 [1]의해 개발되었습니다.

최신 버전인 MTL4는 Peter Gottschling과 Andrew Lumsdaine에 의해 개발되었습니다.MTL2의 대부분의 기능을 포함하고 메타 튜닝으로 새로운 최적화 기술을 추가합니다. 예를 들어, 동적으로 크기가 지정된 컨테이너의 루프 언롤링을 함수 호출에서 지정할 수 있습니다.플랫폼에 의존하지 않는 퍼포먼스의 scalability는 재귀적인 데이터 구조 및 [2]알고리즘에 의해 실현됩니다.

범용 애플리케이션은, 예를 들면, 자연 표기법으로 기술할 수 있습니다.v += A*q - w;한편 라이브러리는 매트릭스 벡터 곱 대 매트릭스 곱 대 벡터 스칼라 곱 등 적절한 알고리즘으로 디스패치합니다.그 목적은 라이브러리 내의 성능 문제를 캡슐화하고 과학자들에게 직관적인 인터페이스를 제공하는 것입니다.MTL4는 FEniCS [3]프로젝트와 같은 다양한 유한 요소 및 유한 볼륨 패키지에 사용됩니다.

「 」를 참조해 주세요.

레퍼런스

외부 링크