매트릭스 템플릿 라이브러리
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]프로젝트와 같은 다양한 유한 요소 및 유한 볼륨 패키지에 사용됩니다.
「 」를 참조해 주세요.
레퍼런스
- ^ J.G. Sik과 A. Lumsdaine: 매트릭스 템플릿 라이브러리: 고성능 수치 선형 대수에 대한 범용 프로그래밍 접근법. ISCOPE 1998.2008년 5월 12일 Wayback Machine에서 아카이브 완료
- ^ P. Gottschling, D.S. Wise 및 M.D. Adams: 확장 가능한 성능을 가진 표현 투과 매트릭스 알고리즘. ICS '07: 21번째 인턴. conf. ACM Press, New York, 2007, 페이지 116-125.2008-07-20 Wayback Machine 아카이브 완료
- ^ FEniCS 프로젝트 내 Dolfin 웹 페이지.2009-01-04 Wayback Machine 아카이브 완료