En matemáticas , particularmente en teoría de matrices , una matriz de bandas o matriz de bandas es una matriz dispersa cuyas entradas distintas de cero están confinadas a una banda diagonal , que comprende la diagonal principal y cero o más diagonales en cada lado.
Formalmente, considere una matriz n × n A = ( a i,j ). Si todos los elementos de la matriz son cero fuera de una banda delimitada diagonalmente cuyo rango está determinado por las constantes k 1 y k 2 :
entonces las cantidades k 1 y k 2 se llamanmenor ancho de banda yancho de banda superior , respectivamente.[1]ElEl ancho de banda de la matriz es el máximo dek1yk2; en otras palabras, es el númeroktal quesi.[2]
En el análisis numérico , las matrices de los problemas de elementos finitos o de diferencias finitas suelen estar en bandas. Estas matrices pueden considerarse como descripciones del acoplamiento entre las variables del problema; la propiedad de bandas corresponde al hecho de que las variables no están acopladas en distancias arbitrariamente grandes. Estas matrices pueden dividirse aún más; por ejemplo, existen matrices en bandas en las que cada elemento de la banda es distinto de cero.
Los problemas en dimensiones superiores también dan lugar a matrices con bandas, en cuyo caso la banda en sí también tiende a ser dispersa. Por ejemplo, una ecuación diferencial parcial en un dominio cuadrado (utilizando diferencias centrales) producirá una matriz con un ancho de banda igual a la raíz cuadrada de la dimensión de la matriz, pero dentro de la banda solo 5 diagonales son distintas de cero. Desafortunadamente, la aplicación de la eliminación gaussiana (o equivalentemente una descomposición LU ) a una matriz de este tipo da como resultado que la banda se rellene con muchos elementos distintos de cero.
Las matrices de bandas generalmente se almacenan almacenando las diagonales en la banda; el resto es implícitamente cero.
Por ejemplo, una matriz tridiagonal tiene un ancho de banda de 1. La matriz de 6 por 6
se almacena como la matriz de 6 por 3
Se puede lograr un ahorro adicional cuando la matriz es simétrica. Por ejemplo, considere una matriz simétrica de 6 por 6 con un ancho de banda superior de 2:
Esta matriz se almacena como la matriz de 6 por 3:
Desde un punto de vista computacional, trabajar con matrices de bandas es siempre preferible a trabajar con matrices cuadradas de dimensiones similares . Una matriz de bandas puede compararse en complejidad con una matriz rectangular cuya dimensión de fila es igual al ancho de banda de la matriz de bandas. Por lo tanto, el trabajo involucrado en la realización de operaciones como la multiplicación se reduce significativamente, lo que a menudo conduce a un gran ahorro en términos de tiempo de cálculo y complejidad .
Como las matrices dispersas se prestan a un cálculo más eficiente que las matrices densas, así como a una utilización más eficiente del almacenamiento de la computadora, ha habido mucha investigación enfocada en encontrar formas de minimizar el ancho de banda (o minimizar directamente el relleno) aplicando permutaciones a la matriz u otras transformaciones de equivalencia o similitud similares. [3]
El algoritmo Cuthill–McKee se puede utilizar para reducir el ancho de banda de una matriz simétrica dispersa . Sin embargo, existen matrices para las que el algoritmo Cuthill–McKee inverso funciona mejor. Existen muchos otros métodos en uso.
El problema de encontrar una representación de una matriz con un ancho de banda mínimo mediante permutaciones de filas y columnas es NP-hard . [4]