疎行列
行列は、典型的には2次元の配列に格納される。配列の各要素は、行列の要素ai,jを表し、2つのインデックスiとjを用いてアクセスされる。慣習として、iは上から下に数えた行のインデックスを指し、jは左から右に数えた列のインデックスを指す。m × n行列の場合、このフォーマットで行列を格納するのに必要なメモリ量は、m × nに比例する(忘れられることが多いが、行列の次元も格納する必要がある)。
疎行列の場合、非ゼロ要素のみを保存することで、必要メモリ容量の大幅な削減が実現できる。非ゼロ要素の数と分散によって、異なるデータ構造を利用することで、基本的なアプローチに比べてメモリ量の大幅な節約が可能になる。トレードオフは、各要素へのアクセスがより複雑になり、オリジナルの行列を曖昧さなく復元できるようにするために追加の構造が必要になることである。