매트릭스 툴킷 Java
Matrix Toolkit Java| 원저작자 | 비욘-오브 하임순드 |
|---|---|
| 초기 릴리즈 | 전( |
| 프리뷰 릴리즈 | 0.9.14 / 2011년 22일 (2011-11-22 |
| 저장소 | github |
| 기입처 | 자바 |
| 유형 | 응용 프로그램프로그래밍 인터페이스(API) |
| 면허증. | LGPL |
Matrix Toolkit Java(MTJ)는 수치 선형 대수를 수행하기 위한 오픈 소스 Java 소프트웨어 라이브러리입니다.라이브러리에는 BLAS 및 LAPACK 코드에 기반한 조밀한 행렬에 대한 표준 선형 대수 연산 집합이 포함되어 있습니다.템플릿 프로젝트를 통해 스파스 작업의 일부 세트가 제공됩니다.라이브러리는 순수 Java 라이브러리로 실행하거나 Java Native Interface를 통해 BLAS 머신에 최적화된 코드를 사용하도록 구성할 수 있습니다.
MTJ는 원래 Björn-Ove Heimsund에 의해 개발되었으며, 그는 다른 약속으로 인해 한발 물러섰다.프로젝트 웹 페이지에는 "(새로운 유지보수는) 라이브러리의 유지보수와 버그 발견 시 수정에 주로 관심이 있다"고 되어 있습니다.향후 릴리즈에 대한 로드맵은 없습니다.[1]
MTJ에 대한 몇 가지 인용문은 과학 문헌에서 찾을 수 있으며, 여기에는 LU 전제조건이 사용된다.MTJ의 퍼포먼스는 Java Matrix Benchmark [3]사이트에서 확인할 수 있는 다른 라이브러리와 비교되고 있습니다.
기능
프로젝트 웹사이트에 기재되어 있는 MTJ의 기능의 개요는 다음과 같습니다.
- 다음 형식의 조밀하고 구조화된 스파스 행렬용 데이터 구조:
- 고밀도 기둥 메이저
- 대각선 몇 개만 저장하는 띠 행렬입니다.
- 채워진 행렬로, 행렬의 절반만 저장합니다(삼각형 또는 대칭 행렬의 경우).
- 삼각행렬과 대칭삼각행렬.
- 대칭 및 삼각 스토리지를 투명하게 지원합니다.
- 다음 형식의 비정형 스파스 매트릭스용 데이터 구조:
- 압축 행 또는 열 저장소(CRS/CCS).
- 확장 가능한 스파스 벡터를 사용하는 유연한 CRS/CCS.
- 압축 대각 스토리지(CDS).
- 조밀하고 구조화된 스파스 매트릭스는 BLAS 및 LAPACK 위에 구축되며 다음과 같은 고유 연산을 포함합니다.
- 행렬/벡터 곱셈.
- 행렬/행렬 곱셈.
- 매트릭스 또는 벡터를 기준으로 업데이트 순위를 지정합니다.
- 다이렉트 매트릭스솔러
- 비구조화 스파스 매트릭스는 직접 솔버가 없다는 점을 제외하고 구조화 매트릭스와 동일한 연산을 지원합니다.그러나 행렬/벡터 곱셈 방법은 반복 솔버에 사용하도록 최적화되어 있습니다.
- 조밀하고 구조화된 희박한 행렬의 행렬 분해:
- 템플릿 프로젝트의 구조화되지 않은 스파스 행렬에 대한 반복 솔버:
- BiConjugate 그라데이션.
- BiConjugate 구배가 안정화되었습니다.
- 켤레 그라데이션.
- 켤레 그라데이션 제곱.
- 체비셰프 반복.
- Generalized Minimal Residual(GMRES; 일반화 최소 잔차)
- 반복 정제(Richardson의 방법).
- 준최소 잔차.
- 대수적 전제 조건의 선택:
- 대각선 프리컨디셔닝
- 대칭적인 연속적인 과완화.
- 불완전한 콜레스키.
- LU가 불완전합니다.
- 임계값 설정을 사용하여 채워진 불완전한 LU입니다.
- 평활 집계에 의한 대수적 다중 그리드.
사용 예
특이치 분해(SVD)의 예:
SVD svd = 신규 SVD(매트.숫자(),매트.컬럼 수()); SVD s = svd.인자(매트); Dense Matrix(밀도 매트릭스) U = s.취득하다(); Dense Matrix(밀도 매트릭스) S = s.얻다(); Dense Matrix(밀도 매트릭스) VT = s.VT를 취득하다(); 행렬 곱셈 예제:
Dense Matrix(밀도 매트릭스) 결과 = 신규 Dense Matrix(밀도 매트릭스)(매트.숫자(),매트 B.컬럼 수()); 매트.멀티(매트 B,결과); 「 」를 참조해 주세요.
레퍼런스
- ^ "MTJ Project Page". MTJ. Retrieved November 30, 2012.
- ^ McMahan, H.B.; Gordon, G.J. (2005). "Fast exact planning in Markov decision processes" (PDF). Proc. of the 15th International Conference on Automated Planning and Scheduling (ICAPS-05).
- ^ "Java Matrix Benchmark". Retrieved December 6, 2012.

