Sparse Matrix는 어디서나 중요한 문제가 된다.
MATLAB/Octave
우선 MATLAB에서다음과 같은 sparse matrix format을 사용할 수 있다. 세 컬럼으로 이루어진 텍스트 파일이다. row index, col index, value로 구성한다. 예를 들어, 다음과 같다.
1 1 1 2 2 2 3 3 3 4 4 4 2 3 5 4 3 6 4 5 7 5 2 8 5 5 0이 텍스트 파일을
mat.mtl
라는 이름으로 저장했다고하자. load
를 이용해 파일을 읽고 spconvert()
를 이용해 sparse matrix로 바꾼다.octave-3.4.0:38> load mat.mtl; octave-3.4.0:39> x = spconvert(mat);이렇게 만들어진 sparse matrix는 다음과 같다.
octave-3.4.0:40> x x = Compressed Column Sparse (rows = 5, cols = 5, nnz = 8 [32%]) (1, 1) -> 1 (2, 2) -> 2 (5, 2) -> 8 (2, 3) -> 5 (3, 3) -> 3 (4, 3) -> 6 (4, 4) -> 4 (4, 5) -> 7일반적인 형렬 형태로 보면 다음과 같다.
octave-3.4.0:41> full(x) ans = 1 0 0 0 0 0 2 5 0 0 0 0 3 0 0 0 0 6 4 7 0 8 0 0 0
댓글 없음:
댓글 쓰기