희소 행렬

희소 행렬 (Sparse Matrices)

GNU Octave는 대부분의 원소가 0인 **희소 행렬(sparse matrix)**을 특별한 방식으로 다룰 수 있어요. 크고 드문 행렬을 저장할 때 메모리를 크게 아낄 수 있고, 선형대수 연산도 훨씬 빠르게 처리할 수 있답니다. Octave 매뉴얼의 22장에서 희소 행렬을 제대로 다루는 방법을 설명하고 있어요.

출처: Sparse Matrices

본문

Octave의 희소 행렬 챕터는 크게 네 가지 주제로 나뉘어요.

  • 희소 행렬의 생성과 조작 (Creation and Manipulation of Sparse Matrices) — 희소 행렬을 어떻게 만들고 원하는 형태로 조작할지.
  • 희소 행렬의 선형대수 (Linear Algebra on Sparse Matrices) — 희소 행렬에서 방정식을 푸는 다양한 솔버의 동작 방식.
  • 희소 행렬에 적용되는 반복 기법 (Iterative Techniques Applied to Sparse Matrices) — 반복적으로 근사해를 찾는 기법.
  • 희소 행렬을 활용한 실제 예제 (Real Life Example using Sparse Matrices) — 실제 문제에 희소 행렬을 적용한 사례.

흔히 행렬을 그대로 저장하면 0이 수두룩한 빈자리를 모두 차지하게 되지만, 희소 행렬은 0이 아닌 원소의 위치와 값만 따로 보관해요. 그래서 대규모 데이터를 다루는 과학 계산에서 특히 유용합니다.

더 알아보기

  • octave-creating-sparse-matrices — 희소 행렬을 만드는 다양한 방법과 함수들
  • octave-storage-of-sparse-matrices — Octave가 희소 행렬을 저장하는 압축 열(column) 방식
  • octave-sparse-linear-algebra — 희소 행렬에서 방정식을 푸는 솔버 체계