# Matrice bande

En mathématiques, une matrice bande ou une matrice à bande est une matrice creuse dont les coefficients non nuls sont restreints à une bande diagonale, comprenant la diagonale principale et éventuellement une ou plusieurs diagonales de chaque côté.

## Matrice bande
### Largeur de bande

Formellement, on considère une matrice carrée n × n A =(a$_{i,j}$). Si tous les éléments de la matrice sont nuls en dehors d'une bande diagonale dont la plage est déterminée par les constantes k$_1$ et k$_2$ :
    $a_{i,j}=0\quad {\mbox{si}}\quad j<i-k_{1}\quad {\mbox{ ou }}\quad j>i+k_{2};\quad k_{1},k_{2}\geq 0.\,$
alors les quantités k $_1$ et k $_2$ sont appelées les largeurs de bande inférieure et largeur de bande supérieure respectivement. La largeur de bande de la matrice est le maximum de k$_1$ et k$_2$ ; autrement dit, c'est le nombre k tel que $a_{i,j}=0$ si $|i-j|>k$.

## Exemples

* Une matrice bande avec k$_1$ = k$_2$ = 0 est une matrice diagonale
* Une matrice bande avec k$_1$ = k$_2$ = 1 est une matrice tridiagonale
* Pour k$_1$ = k$_2$ = 2 on a une matrice pentadiagonale et ainsi de suite.
* les Matrices triangulaires
** Pour k$_1$ = 0, k$_2$ = n − 1, on obtient la définition d'une matrice triangulaire supérieure
** de même, pour k$_1$ = n − 1, k$_2$ = 0 on obtient une matrice triangulaire inférieure.
* les matrices de Hessenberg supérieure et inférieure
* les matrices de Toeplitz lorsque la bande passante est limitée.
* les matrices diagonales par blocs
* les matrices de déplacement et de cisaillement
* les matrices sous forme normale de Jordan
* Une matrice d'horizon, également appelée "matrice de bande variable" — une généralisation de la matrice bande
* Les inverses des matrices de Lehmer sont des matrices tridiagonales constantes, et sont donc des matrices bandes.

## Applications

En analyse numérique, les matrices des problèmes d'éléments finis ou de différences finies sont souvent à bande. Ces matrices peuvent être considérées comme des descriptions du couplage entre les variables du problème ; le fait que la matrice soit une matrice bande correspond au fait que les variables ne sont pas couplées sur des distances arbitrairement grandes. De telles matrices peuvent être encore divisées – par exemple, il existe des matrices en bandes où chaque élément de la bande est différent de zéro. Ceux-ci surviennent souvent lors de la discrétisation de problèmes unidimensionnels.
Les problèmes dans les dimensions supérieures conduisent également à des matrices bandes, auquel cas la bande elle-même a également tendance à être creuse. Par exemple, une équation aux dérivées partielles sur un domaine carré (utilisant des différences centrales) donnera une matrice avec une largeur de bande égale à la racine carrée de la dimension de la matrice, mais à l'intérieur de la bande, seules 5 diagonales sont non nulles. Malheureusement, l'application du pivot de Gauss (ou de manière équivalente une décomposition LU ou de Cholesky) à une telle matrice entraîne le remplissage de la bande par de nombreux éléments non nuls.

## Stockage de bande

Les matrices bandes sont généralement stockées en stockant les diagonales dans la bande ; le reste est implicitement nul.
Par exemple, une matrice tridiagonale a une largeur de bande de 1. La matrice 6 par 6
    ${\begin{bmatrix}B_{11}&B_{12}&0&\cdots &\cdots &0\\B_{21}&B_{22}&B_{23}&\ddots &\ddots &\vdots \\0&B_{32}&B_{33}&B_{34}&\ddots &\vdots \\\vdots &\ddots &B_{43}&B_{44}&B_{45}&0\\\vdots &\ddots &\ddots &B_{54}&B_{55}&B_{56}\\0&\cdots &\cdots &0&B_{65}&B_{66}\end{bmatrix}}$
est stockée dans un matrice 6 par 3
    ${\begin{bmatrix}0&B_{11}&B_{12}\\B_{21}&B_{22}&B_{23}\\B_{32}&B_{33}&B_{34}\\B_{43}&B_{44}&B_{45}\\B_{54}&B_{55}&B_{56}\\B_{65}&B_{66}&0\end{bmatrix}}.$
Une économie supplémentaire est possible lorsque la matrice est symétrique. Par exemple, on considère une matrice symétrique 6 par 6 avec une bande passante supérieure de 2 :
    ${\begin{bmatrix}A_{11}&A_{12}&A_{13}&0&\cdots &0\\&A_{22}&A_{23}&A_{24}&\ddots &\vdots \\&&A_{33}&A_{34}&A_{35}&0\\&&&A_{44}&A_{45}&A_{46}\\&\mathrm {sym} &&&A_{55}&A_{56}\\&&&&&A_{66}\end{bmatrix}}.$
Cette matrice est stockée en tant que matrice 6 par 3 :
    ${\begin{bmatrix}A_{11}&A_{12}&A_{13}\\A_{22}&A_{23}&A_{24}\\A_{33}&A_{34}&A_{35}\\A_{44}&A_{45}&A_{46}\\A_{55}&A_{56}&0\\A_{66}&0&0\end{bmatrix}}.$

## Forme bandée des matrices creuses

D'un point de vue informatique, travailler avec des matrices bandes est toujours préférable à travailler avec des matrices carrées de même dimension. Une matrice bande peut être assimilée en complexité à une matrice rectangulaire dont le nombre de lignes est égale à la largeur de bande de la matrice bande. Ainsi, le travail nécessaire pour effectuer des opérations telles que la multiplication diminue considérablement, ce qui entraîne souvent d'énormes économies en termes de temps de calcul et de complexité.
Comme les matrices creuses se prêtent à un calcul plus efficace que les matrices denses, ainsi qu'à une utilisation plus efficace du stockage informatique, de nombreuses recherches se sont concentrées sur la recherche de moyens de minimiser la largeur de la bande (ou de minimiser directement le remplissage) en appliquant des permutations à la matrice, ou à d'autres transformations d'équivalence ou de similarité.
L'algorithme de Cuthill-McKee (en) peut être utilisé pour réduire la largeur de bande d'une matrice symétrique creuse. Il existe cependant des matrices pour lesquelles l'algorithme inverse de Cuthill-McKee fonctionne mieux. De nombreuses autres méthodes sont utilisées.
Le problème de trouver une représentation d'une matrice avec une bande minimale au moyen de permutations de lignes et de colonnes est NP-difficile.