Matriks rongga

Dalam analisis numerik dan komputasi, **matriks** **rongga** adalah matriks yang sebagian besar elemennya bernilai nol. Sebaliknya, jika sebagian besar elemennya bukan nol, maka matriks tersebut dianggap *padat*. Tidak ada definisi pasti berapa banyak elemen nol yang diperlukan untuk matriks dianggap *rongga*, tetapi kriteria yang sering digunakan adalah banyaknya elemen yang tidak nol kurang lebih sama dengan banyaknya kolom atau baris pada matriks. *Sparsity* dari matriks didefinisikan sebagai rasio banyaknya elemen yang bernilai nol dengan banyakn semua elemen matriks (contoh, m × n untuk matriks berukuran m × n).

Secara konseptual, sparsity berhubungan dengan sistem dengan sedikit interaksi berpasangan. Sebagai contoh, pertimbangkan bola-bola yang disusun berbaris dan dihubungkan oleh pegas dari satu ke yang berikutnya: ini adalah contoh sistem rongga karena hanya bola-bola yang saling bersebelahan saja yang digabungkan. Sebaliknya, jika setiap bola memiliki pegas-pegas yang dihubungkan ke banyak bola lainnya, sistem tersebut berkorespondensi dengan matriks padat. Konsep sparsity berguna dalam kombinatorika, dan memiliki penerapan pada bidang seperti teori jaringan dan analisis numerik; yang umumnya berurusan dengan sistem dengan kepadatan data atau koneksi yang rendah. Matriks rongga besar sering muncul dalam aplikasi ilmiah atau rekayasa ketika memecahkan persamaan diferensial parsial.

Ketika menyimpan dan memanipulasi matriks rongga di komputer, cukup bermanfaat dan sering kali diperlukan untuk menggunakan algoritme khusus dan struktur data yang menggunakan keuntungan dari struktur matriks rongga. Komputer yang terspesialisasi telah dibuat untuk berurusan dengan matriks rongga, karena mereka sering ditemui dalam bidang pemelajaran mesin. Operasi yang menggunakan struktur matriks biasa dan algoritma yang standar akan lebih lambat dan tidak efisien, bila diterapkan pada matriks rongga karena pemrosesan dan memori terbuang sia-sia. Data yang secara alami bersifat rongga lebih mudah dikompresi dan karenanya membutuhkan penyimpanan yang jauh lebih sedikit. Beberapa matriks rongga yang berukuran sangat besar tidak dapat dimanipulasi dengan menggunakan algoritma matriks padat yang umum.

## Contoh
Berikut adalah contoh matriks rongga, yang hanya mengandung 9 elemen tidak bernilai nol, dan 26 elemen bernilai nol. Nilai *sparsity*-nya adalah 74%, dan kepadatannya 26%.

:\left(\begin{matrix}
11 & 22 & 0 & 0 & 0 & 0 & 0 \\
0 & 33 & 44 & 0 & 0 & 0 & 0 \\
0 & 0 & 55 & 66 & 77 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 88 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 99 \\
\end{matrix}\right)

## Struktur khusus

### Pita
Bentuk khusus matriks rongga yang penting adalah matriks pita, yang didefinisikan sebagai berikut. Lebar pita bawah dari matriks A adalah bilangan  terkecil sehingga elemen a_{ij}=0 jika . Serupa dengan itu, lebar pita atas adalah bilangan  terkecil sehingga elemen a_{ij}=0 jika  . Sebagai contoh, matriks tridiagonal memiliki lebar pita bawah 1 dan lebar pita atas 1. Contoh lain, matriks rongga berikut memiliki lebar pita bawah dan atas bernilai 3. Elemen bernilai nol ditandai oleh simbol titik untuk memperjelas maksud.

: 
\left(
\begin{smallmatrix}
  X   &   X   &   X   & \cdot & \cdot & \cdot & \cdot & \\
  X   &   X   & \cdot &   X   &   X   & \cdot & \cdot & \\
  X   & \cdot &   X   & \cdot &   X   & \cdot & \cdot & \\
\cdot &   X   & \cdot &   X   & \cdot &   X   & \cdot & \\
\cdot &   X   &   X   & \cdot &   X   &   X   &   X   & \\
\cdot & \cdot & \cdot &   X   &   X   &   X   & \cdot & \\      
\cdot & \cdot & \cdot & \cdot &   X   & \cdot &   X   & \\              
\end{smallmatrix}
\right)


Matriks dengan lebar pita yang cukup kecil sering kali memiliki algoritma yang lebih sederhana ketimbang matriks rongga secara umum; atau seseorang dapat menerapkan algoritma matriks padat dan meningkatkan efisiensi cukup dengan membatasi iterasi indeks yang dilakukan.

Matrices with reasonably small upper and lower bandwidth are known as band matrices and often lend themselves to simpler algorithms than general sparse matrices; or one can sometimes apply dense matrix algorithms and gain efficiency simply by looping over a reduced number of indices.

Dengan menyusun ulang baris dan kolom dari matriks A, dimungkinkan untuk mendapatkan matriks A' dengan lebar pita yang lebih kecil. Beberapa algoritma dikembangkan untuk minimalisasi lebar pita.

### Diagonal
Matriks diagonal merupakan kasus ekstrem dari matriks pita, dan memiliki struktur penyimpanan yang sangat efisien. Hal ini dilakukan cukup menyimpan elemen-elemen pada diagonal utama sebagai sebuah larik satu dimensi, sehingga diagonal dari matriks berukuran  cukup memerlukan  elemen.

### Simetris
Matriks simetris rongga muncul sebagai matriks ketetanggaan dari graf tak berarah; dan dapat disimpan secara efisien sebagai daftar ketetanggaan.

### Diagonal balok
Matriks diagonal balok terdiri dari sub-submatriks sepanjang diagonal utamanya. Matrik diagonal balok A memiliki bentuk

: A = \begin{bmatrix} 
  A_1 & 0             & \cdots & 0            \\
  0            & A_2  & \cdots & 0            \\
  \vdots       & \vdots        & \ddots & \vdots       \\
  0            & 0             & \cdots & A_n
\end{bmatrix},

dengan A_k adalah matriks persegi, untuk *k* = 1, ..., *n*.

## Referensi