En álgebra lineal , una transformación de Householder (también conocida como reflexión de Householder o reflector elemental ) es una transformación lineal que describe una reflexión sobre un plano o hiperplano que contiene el origen. La transformación de Householder fue utilizada en un artículo de 1958 de Alston Scott Householder . [1]
El hiperplano de reflexión se puede definir por su vector normal , un vector unitario (un vector con longitud ) que es ortogonal al hiperplano. La reflexión de un punto respecto de este hiperplano es la transformación lineal :
Una matriz Householder tiene valores propios . Para ver esto, observe que si es ortogonal al vector que se utilizó para crear el reflector, entonces , es decir, es un valor propio de multiplicidad , ya que hay vectores independientes ortogonales a . Además, observe que , y por lo tanto es un valor propio con multiplicidad .
El determinante de un reflector Householder es , ya que el determinante de una matriz es el producto de sus valores propios, en este caso uno de los cuales es siendo el resto (como en el punto anterior).
Las reflexiones de Householder se pueden utilizar para calcular descomposiciones QR reflejando primero una columna de una matriz en un múltiplo de un vector base estándar, calculando la matriz de transformación, multiplicándola por la matriz original y luego recurriendo hacia abajo a los menores de ese producto. Para lograr esto, se busca una matriz unitaria hermítica Q que tome un vector complejo x en un múltiplo complejo de un vector complejo e . Para la descomposición QR, e será un vector de coordenadas unitario, digamos para la coordenada kth. Una matriz compleja Q que tiene la forma Q = I - uu * con u * u = 2 tiene la propiedad deseada de ser unitaria hermítica. Aquí * denota la transpuesta conjugada. Dado que los únicos dos vectores involucrados son x y e , el vector u debe tener la forma u = a x + b e , donde a y b son coeficientes complejos a determinar. Dado que un factor de fase general para u no importa, el coeficiente a puede elegirse para que sea real positivo. Ahora Q x = x (1 – a ( u * x )) - e (b ( u * x )). Para que el coeficiente del vector x sea cero, los dos términos en u * x deben tener la misma fase dentro de un múltiplo de 180 grados, por lo que debemos tener arg(b) = arg( e * x ) dentro de un múltiplo de 180 grados. Hay dos soluciones según se elija un múltiplo par o impar de 180 grados. Entonces, para que el coeficiente complejo del vector x sea cero, se deben resolver dos ecuaciones lineales en los módulos de a y b. Las fases de a y b ya se han determinado. Supóngase que e es el késimo vector de coordenadas unitario de modo que e * e = 1 y x k = e * x y sea | x |= sqrt( x * x ). Entonces, a y b pueden expresarse simplemente como a = 1/sqrt (| x | (| x |+ |x k |)) y b = a | x | exp(i*arg(x k )) o como a =1/sqrt (| x | (| x |- |x k|)) y b = - a | x | exp(i*arg(x k )). El multiplicador de e es -b/a para ambas soluciones. La primera solución es mejor porque el denominador no puede estar cerca de cero en comparación con | x |.
Tridiagonalización
Este procedimiento se presenta en Análisis numérico de Burden y Faires. Utiliza una función ligeramente modificada con . [4]
En el primer paso, para formar la matriz Householder en cada paso necesitamos determinar y , que son:
A partir de y , construya el vector :
donde , , y
Para cada uno
Luego calcula:
Una vez encontrado y calculado el proceso se repite de la siguiente manera:
Continuando de esta manera se forma la matriz tridiagonal y simétrica.
Ejemplos
En este ejemplo, también de Burden y Faires, [4] la matriz dada se transforma en la matriz tridiagonal similar A 3 utilizando el método Householder.
Siguiendo estos pasos del método Householder, tenemos:
La primera matriz de jefes de hogar:
Se utiliza para formar
Como podemos observar, el resultado final es una matriz simétrica tridiagonal similar a la original. El proceso finaliza en dos pasos.
Relación computacional y teórica con otras transformaciones unitarias
La transformación de Householder es una reflexión sobre un hiperplano con un vector normal unitario , como se dijo anteriormente. Una transformación unitaria -por- satisface . Tomando el determinante ( la -ésima potencia de la media geométrica) y la traza (proporcional a la media aritmética) de una matriz unitaria se revela que sus valores propios tienen módulo unitario. Esto se puede ver de manera directa y rápida:
Para el caso de matrices unitarias de valor real obtenemos matrices ortogonales , . Se deduce con bastante facilidad (ver matriz ortogonal ) que cualquier matriz ortogonal se puede descomponer en un producto de rotaciones de 2 por 2, llamadas Rotaciones de Givens y Reflexiones de Householder. Esto es atractivo intuitivamente ya que la multiplicación de un vector por una matriz ortogonal preserva la longitud de ese vector, y las rotaciones y reflexiones agotan el conjunto de operaciones geométricas (de valor real) que hacen invariante la longitud de un vector.
Se ha demostrado que la transformación de Householder tiene una relación uno a uno con la descomposición de clases laterales canónicas de matrices unitarias definidas en la teoría de grupos, que se puede utilizar para parametrizar operadores unitarios de una manera muy eficiente. [5]
Finalmente, observamos que una única transformación de Householder, a diferencia de una transformación de Givens solitaria, puede actuar sobre todas las columnas de una matriz y, como tal, presenta el menor costo computacional para la descomposición QR y la tridiagonalización. La desventaja de esta "optimización computacional" es, por supuesto, que las operaciones de Householder no pueden paralelizarse de manera tan profunda o eficiente. Como tal, Householder es preferible para matrices densas en máquinas secuenciales, mientras que Givens es preferible para matrices dispersas y/o máquinas paralelas.
^ Householder, AS (1958). "Triangularización unitaria de una matriz no simétrica" (PDF) . Revista de la ACM . 5 (4): 339–342. doi :10.1145/320941.320947. MR 0111128. S2CID 9858625.
^ Taboga, Marco. "Matriz de hogares, Lecciones sobre álgebra matricial".
^ Schabauer, Hannes; Pacher, Christoph; Sunderland, Andrew G.; Gansterer, Wilfried N. (1 de mayo de 2010). "Hacia un solucionador paralelo para problemas de valores propios simétricos complejos generalizados". Procedia Computer Science . 1 (1): 437–445. doi : 10.1016/j.procs.2010.04.047 .
^ Renan Cabrera; Traci Strohecker; Herschel Rabitz (2010). "La descomposición en clases laterales canónicas de matrices unitarias mediante transformaciones de Householder". Journal of Mathematical Physics . 51 (8): 082101. arXiv : 1008.2477 . Bibcode :2010JMP....51h2101C. doi :10.1063/1.3466798. S2CID 119641896.
Referencias
LaBudde, CD (1963). "La reducción de una matriz cuadrada real arbitraria a la forma tridiagonal utilizando transformaciones de similitud". Matemáticas de la computación . 17 (84). Sociedad matemática estadounidense: 433–437. doi :10.2307/2004005. JSTOR 2004005. MR 0156455.
Morrison, DD (1960). "Observaciones sobre la triangularización unitaria de una matriz no simétrica". Revista de la ACM . 7 (2): 185–186. doi : 10.1145/321021.321030 . MR 0114291. S2CID 23361868.
Cipra, Barry A. (2000). "Lo mejor del siglo XX: los editores nombran los 10 mejores algoritmos". SIAM News . 33 (4): 1.(Aquí se cita Householder Transformation como uno de los 10 mejores algoritmos de este siglo)
Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Sección 11.3.2. Método Householder". Recetas numéricas: el arte de la computación científica (3.ª ed.). Nueva York: Cambridge University Press. ISBN978-0-521-88068-8Archivado desde el original el 11-08-2011 . Consultado el 13-08-2011 .