Descomposición QR

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Matrix decomposition

En álgebra lineal, una descomposición QR, también conocida como factorización QR o factorización QU, es la descomposición de una matriz A en un producto A = QR de una matriz ortonormal Q y una matriz triangular superior R. La descomposición QR se usa a menudo para resolver el problema de los mínimos cuadrados lineales y es la base de un algoritmo de valor propio particular, el algoritmo QR.

Casos y definiciones

Matriz cuadrada

Cualquier matriz cuadrada real A se puede descomponer como

A=QR,{displaystyle A=QR,}

Donde Q es una matriz ortogonal (sus columnas son vectores de unidad ortogonal que significan QT=Q− − 1{displaystyle Q^{textsf {T}=Q^{-1}) y R es una matriz triangular superior (también llamada matriz triangular derecha). Si A es invertible, entonces la factorización es única si necesitamos los elementos diagonales de R para ser positivo.

Si no A es una matriz cuadrada compleja, entonces hay una descomposición A = QR Donde Q es una matriz unitaria (so Q† † =Q− − 1{displaystyle Q^{dagger }=Q^{-1}).

Si A tiene n columnas linealmente independientes, entonces las primeras n columnas de Q forman una base ortonormal para el espacio columna de A. De manera más general, las primeras k columnas de Q forman una base ortonormal para el tramo de las primeras k columnas de A para cualquier 1 ≤ kn. El hecho de que cualquier columna k de A solo dependa de las primeras k columnas de Q corresponde a la forma triangular de R.

Matriz rectangular

Más generalmente, podemos factorizar una matriz compleja m×n A, con mn, como el producto de una matriz unitaria m×m Q y una matriz triangular superior m×n R. Como las filas inferiores (mn) de una matriz triangular superior m×n consisten enteramente en ceros, a menudo es útil dividir R, o tanto R como Q:

A=QR=Q[R10]=[Q1Q2][R10]=Q1R1,{displaystyle A=QR=Q{begin{bmatrix}R_{1}end{bmatrix}={begin{bmatrix}Q_{1} {2}end{bmatrix}{begin{bmatrix}R_{1}end{bmatrix}=Q_{1}R_0}

donde R1 es una matriz triangular superior n×n, 0 es una (mnn matriz cero, Q 1 es m×n, Q2 es m×(mn) y Q1 y Q2 ambos tienen columnas ortogonales.

Golub & Van Loan (1996, §5.2) llama a Q1R1 la factorización QR delgada de A; Trefethen y Bau llaman a esto la factorización QR reducida. Si A es de rango completo n y requerimos que los elementos diagonales de R1 sean positivos entonces R1 y Q1 son únicos, pero en general Q2 no lo es. R1 es entonces igual al factor triangular superior de la descomposición de Cholesky de A* A (= ATA si A es real).

Descomposiciones QL, RQ y LQ

De manera análoga, podemos definir las descomposiciones QL, RQ y LQ, siendo L una matriz triangular inferior.

Cálculo de la descomposición QR

Existen varios métodos para calcular realmente la descomposición QR, como por medio del proceso de Gram-Schmidt, las transformaciones de Householder o las rotaciones de Givens. Cada uno tiene una serie de ventajas y desventajas.

Uso del proceso de Gram-Schmidt

Considere el proceso Gram-Schmidt aplicado a las columnas de la matriz de rango de columna completa A=[a1⋯ ⋯ an]{displaystyle A={begin{bmatrix}mathbf {a} {1} {cdots > ¿Qué?, con producto interior .. v,w.. =vTw{displaystyle langle mathbf {v}mathbf {w} rangle =mathbf {v} ^{textsf {T}mathbf {w} (o .. v,w.. =v† † w{displaystyle langle mathbf {v}mathbf {w} rangle =mathbf {v} ^{dagger }mathbf {w} para el caso complejo).

Defina la proyección:

proju⁡ ⁡ a=.u,a..u,u.u{displaystyle operatorname {proj} _{mathbf {u} Mathbf {a} ={frac {leftlangle mathbf {u}mathbf {a} rightrangle }{leftlangle mathbf {u}mathbf {u} {u}{rangle }{mathbf {u}}}}}}} {}}}} {

entonces:

u1=a1,e1=u1.. u1.. u2=a2− − proju1⁡ ⁡ a2,e2=u2.. u2.. u3=a3− − proju1⁡ ⁡ a3− − proju2⁡ ⁡ a3,e3=u3.. u3.. ⋮ ⋮ ⋮ ⋮ uk=ak− − .. j=1k− − 1projuj⁡ ⁡ ak,ek=uk.. uk.. {displaystyle {begin{aligned}mathbf {u} ¿Qué? - Hola. ¿Por qué? ¿Qué? ################################################################################################################################################################################################################################################################ {fnK} ¿Qué? ¿Qué? - ¿Qué? {fnMitbf} - Hola. "Mathbf" ¿Qué? ################################################################################################################################################################################################################################################################ {fnK} ¿Qué? ################################################################################################################################################################################################################################################################ ¿Qué? ¿Qué? - ¿Qué? - Hola. ¿Qué?. - Sí. ################################################################################################################################################################################################################################################################ {fnK} ¿Qué? ¿Por qué? - Hola.

Ahora podemos expresar ai{displaystyle mathbf {a} ¿Qué?s sobre nuestra base ortonormal recién computada:

a1=.e1,a1.e1a2=.e1,a2.e1+.e2,a2.e2a3=.e1,a3.e1+.e2,a3.e2+.e3,a3.e3⋮ ⋮ ak=.. j=1k.ej,ak.ej{displaystyle {begin{aligned}mathbf {a} _{1}=leftlangle mathbf {e} _{1},mathbf {a} ¿Por qué? _{2}=leftlangle mathbf {e} _{1},mathbf {a} ¿Qué? _{1}+leftlangle mathbf {e} _{2},mathbf {a} ¿Por qué? _{1},mathbf {a} ¿Qué? _{1}+leftlangle mathbf {e} _{2},mathbf {a} ¿Qué? _{2}+leftlangle mathbf {e} _{3},mathbf {a} ################################################################################################################################################################################################################################################################ - ¿Qué? ¿Por qué? ¿Por qué?

Donde .ei,ai.=.ui.{displaystyle leftlangle mathbf {e} ¿Qué? ¿Qué? = 'izquierda' ¿Por qué?. Esto se puede escribir en forma de matriz:

A=QR{displaystyle A=QR}

donde:

Q=[e1⋯ ⋯ en]{displaystyle Q={begin{bmatrix}mathbf {e} _{1}cdots > ¿Qué?

y

R=[.. e1,a1.. .. e1,a2.. .. e1,a3.. ⋯ ⋯ .. e1,an.. 0.. e2,a2.. .. e2,a3.. ⋯ ⋯ .. e2,an.. 00.. e3,a3.. ⋯ ⋯ .. e3,an.. ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱ ⋱ ⋮ ⋮ 000⋯ ⋯ .. en,an.. ].{displaystyle R={begin{bmatrix}langle mathbf {e} _{1},mathbf {a} _{1}rangle &langle mathbf {e} _{1},mathbf {a} _{2}rangle >langle mathbf {e} _{1},mathbf {} {3}rangle >cdots > mathbf {e} _{1},mathbf {a} ¿Por qué? {3}rangle >cdots > mathbf {e} _{2},mathbf {a} ¿Por qué? _{3}rangle &cdots > mathbf {e} _{3},mathbf {a} _{n}rangle \vdots &vdots &vdots &ddots &vdots \0 limit0 limitecdots > mathbf {e} ¿Qué? ¿Qué?

Ejemplo

Considere la descomposición de

A=[12− − 5146167− − 68− − 424− − 41].{displaystyle A={begin{bmatrix}12 tarde-51 diez46 coincid167 consecutivo-68\-4 consecutivo24 consecutivo-41end{bmatrix}}}

Recuerda que una matriz ortonormal Q{displaystyle Q} tiene la propiedad QTQ=I{displaystyle Q^{textsf {T}Q=I}.

Entonces, podemos calcular Q{displaystyle Q} por medio de Gram-Schmidt como sigue:

U=[u1u2u3]=[12− − 69− − 58/561586/5− − 430− − 33];Q=[u1.. u1.. u2.. u2.. u3.. u3.. ]=[6/7− − 69/175− − 58/1753/7158/1756/175− − 2/76/35− − 33/35].{displaystyle {begin{aligned}U={begin{bmatrix}mathbf {u} _{1} {mathbf {u} ¿Qué? ¿Por qué? {fnMitbf} - Hola. - ¿Qué? ¿Por qué? - Hola. _{3}end{bmatrix}} {begin{bmatrix}6/7iéndose-69/1753/7 consecutivo158/1753/7 implica158/175\2/7 implica6/35end{bmatrix}}}}end{aligned}}}}}}}

Por lo tanto, tenemos

QTA=QTQR=R;R=QTA=[1421− − 140175− − 700035].{displaystyle {begin{aligned}Q^{textsf {T}A presentarse=Q^{textsf {T}Q,R=R;\\fnMicrosoft Sans {T}A={begin{bmatrix}14 tendría 21 años y 14 diez175 sensible-70 diezmado0 3end{bmatrix}}}end{aligned}}}

Relación con la descomposición RQ

La descomposición RQ transforma una matriz A en el producto de una matriz triangular superior R (también conocida como triangular derecha) y una matriz ortogonal Q. La única diferencia con la descomposición QR es el orden de estas matrices.

La descomposición QR es la ortogonalización de Gram-Schmidt de las columnas de A, a partir de la primera columna.

La descomposición RQ es la ortogonalización Gram-Schmidt de las filas de A, comenzando desde la última fila.

Ventajas y desventajas

El proceso Gram-Schmidt es intrínsecamente numéricamente inestable. Si bien la aplicación de las proyecciones tiene una atractiva analogía geométrica con la ortogonalización, la ortogonalización en sí es propensa a errores numéricos. Una ventaja significativa es la facilidad de implementación.

Uso de reflejos de cabeza de familia

Reflexión de los accionistas para la descomposición QR: El objetivo es encontrar una transformación lineal que cambie el vector x{displaystyle mathbf {x} en un vector de la misma longitud que es collinear a e1{displaystyle mathbf {e} ¿Qué?. Podríamos usar una proyección ortogonal (Gram-Schmidt) pero esto será numéricamente inestable si los vectores x{displaystyle mathbf {x} y e1{displaystyle mathbf {e} ¿Qué? están cerca de la ortogonal. En su lugar, la reflexión del titular de la casa refleja a través de la línea punteada (elegido para bisectar el ángulo entre x{displaystyle mathbf {x} y e1{displaystyle mathbf {e} ¿Qué?). El ángulo máximo con este transformado es de 45 grados.

Una reflexión de los propietarios (o Transformación de los propietarios) es una transformación que toma un vector y lo refleja sobre algún plano o hiperplano. Podemos utilizar esta operación para calcular la QR factorización de una m-por-n matriz A{displaystyle A} con mn.

Q se puede usar para reflejar un vector de tal manera que desaparezcan todas las coordenadas excepto una.

Vamos x{displaystyle mathbf {x} ser un verdadero arbitrario m-dimensional vector de columna A{displaystyle A} tales que .. x.. =Silencioα α Silencio{displaystylefnMitbf {x} "Principalmente" para un escalar α. Si el algoritmo se implementa usando aritmética de punto flotante, entonces α debe conseguir el signo opuesto como el k-la coordenadas x{displaystyle mathbf {x}, Donde xk{displaystyle x_{k} es ser la coordinación pivote después de la cual todas las entradas son 0 en matriz A's final superior triangular form, to avoid loss of significance. En el caso complejo, establecido

α α =− − eiarg⁡ ⁡ xk.. x.. {displaystyle alpha - ¿Qué?

y sustituya la transposición por transposición conjugada en la construcción de Q a continuación.

Entonces, ¿dónde? e1{displaystyle mathbf {e} ¿Qué? es el vector [1 0 ⋯ 0]T, Silencioso· La vida eterna es la norma euclidiana I{displaystyle Yo... es un m×m matriz de identidad, conjunto

u=x− − α α e1,v=u.. u.. ,Q=I− − 2vvT.{fnMicrosoft} - 'alpha mathbf {e} _{1}, 'Mathbf {v} ¿Qué? }{fnMitbf {u} {v} mathbf {v} ^{textsf {T}.end{aligned}}

O, si A{displaystyle A} es complejo

Q=I− − 2vv† † .{displaystyle Q=I-2mathbf {v}

Q{displaystyle Q} es un m-por-m Matriz de accionistas, que es simétrica y ortogonal (Hermitiano y unitario en el caso complejo), y

Qx=[α α 0⋮ ⋮ 0].{displaystyle Qmathbf {x} ={begin{bmatrix}alpha \0\vdots \0end{bmatrix}}}

Esto se puede usar para transformar gradualmente una matriz m-por-n A a una forma triangular superior. Primero, multiplicamos A con la matriz de jefe de hogar Q1 que obtenemos cuando elegimos la primera columna de matriz para x. Esto da como resultado una matriz Q1A con ceros en la columna de la izquierda (excepto en la primera fila).

Q1A=[α α 1⋆ ⋆ ⋯ ⋯ ⋆ ⋆ 0⋮ ⋮ A.0]{displaystyle Q_{1}A={begin{bmatrix}alpha - ¿Qué?

Esto se puede repetir para A′ (obtenido de Q1A eliminando la primera fila y primera columna), lo que da como resultado una matriz de cabeza de familia Q2. Tenga en cuenta que Q2 es menor que Q1. Ya que queremos que realmente opere en Q1A en lugar de A′, necesitamos expandirlo al arriba a la izquierda, rellenando con un 1, o en general:

Qk=[Ik− − 100Qk.].{displaystyle ¿Qué?

Después t{displaystyle t} iteraciones de este proceso, t=min()m− − 1,n){displaystyle t=min(m-1,n)},

R=Qt⋯ ⋯ Q2Q1A{displaystyle R=Q_{t}cdots Q_{2}Q_{1}A}

es una matriz triangular superior. Entonces, con

QT=Qt⋯ ⋯ Q2Q1,Q=Q1TQ2T⋯ ⋯ QtT,=Q1Q2⋯ ⋯ Qt,{displaystyle {begin{aligned}Q^{textsf {T}} {T}} {T}} Q_{2}Q_{1},Q3=Q_{1}{textsf {T}Q_{2} {textosf {T}cdots Q_{t}{textsf {T},\\fnMicrosoft Sans Serif} Q_{t},end{aligned}}

A=QR{displaystyle A=QR} es una descomposición de QR A{displaystyle A}.

Este método tiene mayor estabilidad numérica que el método de Gram-Schmidt anterior.

La siguiente tabla da el número de operaciones en el k-ésimo paso de la descomposición QR por la transformación de Jefe de Hogar, asumiendo una matriz cuadrada con tamaño n.

Operación Número de operaciones en el k- el paso
Multiplicaciones 2()n− − k+1)2{displaystyle 2(n-k+1)}{2}
Adiciones ()n− − k+1)2+()n− − k+1)()n− − k)+2{displaystyle (n-k+1)^{2}+(n-k+1)(n-k)+2}
División 1{displaystyle 1}
Base cuadrada 1{displaystyle 1}

Al sumar estos números en los pasos n − 1 (para una matriz cuadrada de tamaño n), la complejidad del algoritmo (en términos de multiplicaciones de coma flotante) está dada por

23n3+n2+13n− − 2=O()n3).{displaystyle {frac {2}n^{3}+n^{2}+{frac} {1} {3}n-2=Oleft(n^{3}right).}

Ejemplo

Calculemos la descomposición de

A=[12− − 5146167− − 68− − 424− − 41].{displaystyle A={begin{bmatrix}12 tarde-51 diez46 coincid167 consecutivo-68\-4 consecutivo24 consecutivo-41end{bmatrix}}}

Primero, necesitamos encontrar un reflejo que transforme la primera columna de matriz A, vector a1=[126− − 4]T{displaystyle mathbf {a} ¿Por qué? {T}}, en .a1.e1=[α α 00]T{displaystyleleftfnMitbf} _{1}rightfnMitbf {e} {1}={begin{bmatrix}alpha {fnMicrosoft Sans Serif} {T}}.

Ahora,

u=x− − α α e1,{displaystyle mathbf {u} = 'mathbf {x} - 'alpha mathbf {e} _{1},}

y

v=u.. u.. .{displaystyle mathbf {v} ={frac {mathbf {u} }{fnMitbf {u} {fnMicrosoft Sans Serif}

Aquí,

α α =14{displaystyle alpha =14} y x=a1=[126− − 4]T{displaystyle mathbf {x} # Mathbf {a} ¿Por qué? {T}}

Por lo tanto

u=[− − 26− − 4]T=2[− − 13− − 2]T{displaystyle mathbf {u}={begin{bmatrix}-2 implica6 simultáneamente-4end{bmatrix}}{textsf {T}=2{begin{bmatrix}-1 {T}} y v=114[− − 13− − 2]T{displaystyle mathbf {v} ={frac {1}{sqrt {14}{begin{bmatrix}-1 Pulsado 2end{bmatrix}{textsf {T}, y luego
Q1=I− − 21414[− − 13− − 2][− − 13− − 2]=I− − 17[1− − 32− − 39− − 62− − 64]=[6/73/7− − 2/73/7− − 2/76/7− − 2/76/73/7].{displaystyle {begin{aligned}Q_{1}={} {fnMicroc} {2}{sqrt {14}} {begin{bmatrix}-1332end{bmatrix}}{begin{bmatrix}-1 ventaja3 limitada-2end{bmatrix}={} {={}{} {sqrt {}}}} {sq}} {sq}}} {sq}} {sq}}}}}}}}} {}} {sq}}}}} {sq}} {sq}}}}}} {sq} {sq} {sq}}}}}}}}}}}} {sqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsqsq}}}} {}}}} {sqs {1}{7}}{begin{bmatrix}1 ventaja 32 3 reducida9 implica-62 punto 6end{bmatrix}\={}={begin{bmatrix}6/7 consecutivo3/73/73/73/73ign-2/7\2/7\2/72/7,7} {3\}{}{bmatrix}}}{}}}{}}}{}}}}{7}}}{}}}}{7}{}}}}}}{}}{7}}}}}}}}}}{7}}}}}}}}}{7}}{7}}}{}}}}}}}}{7}}{}}}}}}{}{}}}}}}}}}}{}}}}}}{}}}}}{}}{}}}}}}}}}}}}}}}{}}}}}}}}}

Ahora observa:

Q1A=[1421− − 140− − 49− − 140168− − 77],{displaystyle ¿Qué?

así que ya tenemos casi una matriz triangular. Solo necesitamos poner a cero la entrada (3, 2).

Tome el (1, 1) menor y luego aplique el proceso nuevamente a

A.=M11=[− − 49− − 14168− − 77].{displaystyle A'=M_{11}={begin{bmatrix}-49 limit-14168 pulsa-77end{bmatrix}}

Por el mismo método que el anterior, obtenemos la matriz de la transformación del jefe de hogar

Q2=[1000− − 7/2524/25024/257/25]{displaystyle ¿Qué?

después de realizar una suma directa con 1 para asegurarse de que el siguiente paso del proceso funcione correctamente.

Ahora, encontramos

Q=Q1TQ2T=[6/7− − 69/17558/1753/7158/175− − 6/175− − 2/76/3533/35].{displaystyle Q=Q_{1}^{textsf {T}Q_{2} {textosf {T}={begin{bmatrix}6/7 implica-69/175 sensible58/1753/7 consecutivo158/175 sensible-6/175-2/7 implica6/35 implica33/35end{bmatrix}}}

O, con cuatro dígitos decimales,

Q=Q1TQ2T=[0.8571− − 0,9430.33140.42860.9029− − 0,0343− − 0,28570.17140.9429]R=Q2Q1A=QTA=[1421− − 140175− − 7000− − 35].{displaystyle {begin{aligned}Q=Q_{1}{textsf {T}Q_{2} {textosf {T}={begin{bmatrix}0.8571 implica-0.3943 reducida0.3314\0.4286 limitada0.9029 implica-0.0343\-0.2857 incapacitado0.9429end{bmatrix}\\R simultáneamente=Q_{2}Q_{1}A=Q^{textsf} {T}A={begin{bmatrix}14 tendrían una relación de 21 a 14 unos 175 púlpitos-70 púlpitos-35end{bmatrix}}}

La matriz Q es ortogonal y R es triangular superior, entonces A = QR es la descomposición QR requerida.

Ventajas y desventajas

El uso de transformaciones de Householder es intrínsecamente el más simple de los algoritmos de descomposición QR numéricamente estables debido al uso de reflejos como mecanismo para producir ceros en la matriz R. Sin embargo, el algoritmo de reflexión de Householder tiene un gran ancho de banda y no se puede paralelizar, ya que cada reflexión que produce un nuevo elemento cero cambia la totalidad de las matrices Q y R.

Uso de rotaciones de Givens

Las descomposiciones QR también se pueden calcular con una serie de rotaciones de Givens. Cada rotación pone a cero un elemento en la subdiagonal de la matriz, formando la matriz R. La concatenación de todas las rotaciones de Givens forma la matriz ortogonal Q.

En la práctica, las rotaciones de Givens no se realizan construyendo una matriz completa y haciendo una multiplicación de matrices. En su lugar, se utiliza un procedimiento de rotación de Givens que hace el equivalente de la multiplicación de matrices dispersas de Givens, sin el trabajo adicional de manejar los elementos dispersos. El procedimiento de rotación de Givens es útil en situaciones en las que solo es necesario poner a cero relativamente pocos elementos fuera de la diagonal, y es más fácil de paralelizar que las transformaciones de Householder.

Ejemplo

Calculemos la descomposición de

A=[12− − 5146167− − 68− − 424− − 41].{displaystyle A={begin{bmatrix}12 tarde-51 diez46 coincid167 consecutivo-68\-4 consecutivo24 consecutivo-41end{bmatrix}}}

Primero, necesitamos formar una matriz de rotación que cero el elemento izquierdo más bajo, a31=− − 4{displaystyle A_{31}=-4}. Formamos esta matriz usando el método de rotación de Givens, y llamamos la matriz G1{displaystyle G_{1}. Primero giraremos el vector [12− − 4]{displaystyle {begin{bmatrix}12 implica-4end{bmatrix}}, para apuntar a lo largo de X Axis. Este vector tiene un ángulo Silencio Silencio =arctan⁡ ⁡ ()− − ()− − 4)12){textstyle theta =arctan left({frac {-(-4)}{12}right)}. Creamos la matriz de rotación de Givens ortogonal, G1{displaystyle G_{1}:

G1=[#⁡ ⁡ ()Silencio Silencio )0− − pecado⁡ ⁡ ()Silencio Silencio )010pecado⁡ ⁡ ()Silencio Silencio )0#⁡ ⁡ ()Silencio Silencio )].. [0.948680− − 0.316220100.3162200.94868]{beginstyle {begin{aligned}G_{1} limit={begin{bmatrix}cos(theta) {Theta) {}Theta)}}}\\\begin{bmatrix}}\}\\beginbegin{begin}begin{beginstyle {begin}begin{begin}begin{begin}begin{begin{begin{begin{begin{begin{begin{2}begin{bmatrix}begin{begin{bmatrix}begin {begin{begin{bmatrix}begin}begin{begin{c]}begin{bmatrix}c]}bncip]}c]}bn}c]}c]}bncip]}b {begin{bmatrix}0.94868 unos pocos-0.31622}}}}

Y el resultado de G1A{displaystyle G_{1}A} ahora tiene un cero en el a31{displaystyle a_{31} elemento.

G1A.. [12.64911− − 55.9723116.760076167− − 6806.64078− − 37.6311]{displaystyle G_{1}Aapprox {begin{bmatrix}12.64911 limit-55.97231 respectivamente16.76007\6 simultáneamente167 limit-68 simultáneamente6.64078 prófugos-37.6311end{bmatrix}}

Podemos formarnos de forma similar G2{displaystyle G_{2} y G3{displaystyle G_{3}, que cero los elementos subdiagonales a21{displaystyle a_{21} y a32{displaystyle a_{32}, formando una matriz triangular R{displaystyle R.. La matriz ortogonal QT{displaystyle Q^{textsf}} se forma del producto de todas las matrices Givens QT=G3G2G1{displaystyle Q^{textsf {T}=G_{3}G_{2}G_{1}. Así, tenemos G3G2G1A=QTA=R{displaystyle G_{3}G_{2}G_{1}A=Q^{textsf {T}A=R}, y el QR descomposición es A=QR{displaystyle A=QR}.

Ventajas y desventajas

La descomposición QR a través de las rotaciones de Givens es la más implicada para implementar, ya que el orden de las filas requeridas para explotar completamente el algoritmo no es trivial para determinar. Sin embargo, tiene una ventaja significativa en que cada nuevo elemento cero aij{displaystyle a_{ij} afecta sólo la fila con el elemento a ser cero (i) y una fila arriba (j). Esto hace que el algoritmo de rotación de Givens sea más eficiente y paralelizable que la técnica de reflexión de Householder.

Conexión a un determinante o producto de valores propios

Podemos utilizar la descomposición QR para encontrar el determinante de una matriz cuadrada. Supongamos que una matriz está descompuesta como A=QR{displaystyle A=QR}. Entonces tenemos

DetA=DetQDetR.{displaystyle det A=det Qdet R.}

Q{displaystyle Q} puede ser elegido tal DetQ=1{displaystyle det Q=1}. Así,

DetA=DetR=∏ ∏ irii{displaystyle det A=det R=prod ¿Qué?

Donde rii{displaystyle r_{ii} son las entradas en la diagonal de R{displaystyle R.. Además, porque el determinante es igual al producto de los eigenvalues, tenemos

∏ ∏ irii=∏ ∏ iλ λ i{displaystyle prod _{i}r_{ii}=prod ¿Qué? ¿Qué?

Donde λ λ i{displaystyle lambda _{i} son eigenvalues de A{displaystyle A}.

Podemos extender las propiedades anteriores a una matriz compleja no cuadrada A{displaystyle A} introduciendo la definición de descomposición QR para matrices complejas no cuadradas y reemplazando eigenvalues con valores singulares.

Comience con una descomposición QR para una matriz no cuadrada A:

A=Q[R0],Q† † Q=I{displaystyle A=Q{begin{bmatrix}Rend{bmatrix}qquad Q^{dagger }Q=I}

Donde 0{displaystyle 0} denota la matriz cero y Q{displaystyle Q} es una matriz unitaria.

De las propiedades de la SVD y del determinante de una matriz, tenemos

Silencio∏ ∏ iriiSilencio=∏ ∏ iσ σ i,{displaystyle {fnMicrosoft Sans Serif} Grandes vidas _{i},}

Donde σ σ i{displaystyle sigma _{i} son los valores singulares A{displaystyle A}.

Note que los valores singulares A{displaystyle A} y R{displaystyle R. son idénticos, aunque sus complejos eigenvalues pueden ser diferentes. Sin embargo, si A es cuadrado, entonces

∏ ∏ iσ σ i=Silencio∏ ∏ iλ λ iSilencio.{displaystyle {prod _{i}sigma ¿Qué? Grandes vidas ¿Qué? Grandes vidas.

De ello se deduce que la descomposición QR se puede utilizar para calcular eficientemente el producto de los valores propios o valores singulares de una matriz.

Columna pivotante

El QR pivotado se diferencia del Gram-Schmidt ordinario en que toma la columna restante más grande al comienzo de cada nuevo paso (columna pivotante) y, por lo tanto, introduce una matriz de permutación P:

AP=QR⟺ ⟺ A=QRPT{displaystyle AP=QRquad iff quad A=QRP^{textsf {T}}

El pivote de columna es útil cuando A es (casi) deficiente de rango, o se sospecha que es así. También puede mejorar la precisión numérica. P es generalmente elegido para que los elementos diagonales de R no están aumentando: Silencior11Silencio≥ ≥ Silencior22Silencio≥ ≥ ⋯ ⋯ ≥ ≥ SilenciornnSilencio{displaystyle left WordPressr_{11}right WordPressgeqleft endurer_{22}right sometidageq cdots geq left imperr_{nn}right sometida}. Esto se puede utilizar para encontrar el rango (numerical) A a menor costo computacional que una descomposición de valor singular, formando la base de los llamados algoritmos QR que revelan rango.

Uso para solución de problemas lineales inversos

En comparación con la matriz inversa directa, las soluciones inversas que utilizan la descomposición QR son más estables numéricamente, como lo demuestran sus números de condición reducidos.

Para resolver los indeterminados ()<math alttext="{displaystyle mm.n{displaystyle m won}<img alt="m) problema lineal Ax=b{displaystyle Amathbf {x} =mathbf {b} donde la matriz A{displaystyle A} dimensiones m× × n{displaystyle mtimes n} y rango m{displaystyle m}, primero encontrar la factorización QR de la transposición A{displaystyle A}: AT=QR{displaystyle A^{textsf {T}=QR}, Donde Q es una matriz ortogonal (es decir, QT=Q− − 1{displaystyle Q^{textsf {T}=Q^{-1}), y R tiene una forma especial: R=[R10]{displaystyle R=left[{begin{smallmatrix}R_{1}end{smallmatrix}right]. Aquí. R1{displaystyle R_{1} es un cuadrado m× × m{displaystyle mtimes m} matriz triangular derecha, y la matriz cero tiene dimensión ()n− − m)× × m{displaystyle (n-m)times m}. Después de un álgebra, se puede demostrar que una solución al problema inverso se puede expresar como: x=Q[()R1T)− − 1b0]{displaystyle mathbf {x} =Qleft[{begin{smallmatrix}left(R_{1}^{textsf {T}right)}mathbf {b}end{smallmatrix}right] donde uno puede encontrar R1− − 1{displaystyle R_{1} {-1} por eliminación o computación de Gauss ()R1T)− − 1b{displaystyle left(R_{1}{textsf {T}right)} {fnMitbf} directamente por sustitución. Esta última técnica goza de mayor precisión numérica y de menor computación.

Para encontrar una solución x^ ^ {displaystyle {hat {mathbf {x}}} a los ()m≥ ≥ n{displaystyle mgeq n}) problema Ax=b{displaystyle Amathbf {x} =mathbf {b} que minimiza la norma .Ax^ ^ − − b.{displaystyle leftfndia {fnh}-Mathbf {b} "Derecho", primero encontrar la factorización QR A{displaystyle A}: A=QR{displaystyle A=QR}. La solución puede entonces expresarse como x^ ^ =R1− − 1()Q1Tb){displaystyle {hat {mathbf {x} }=R_{1} {-1}left(Q_{1}{textsf {T}mathbf {b} right)}, Donde Q1{displaystyle Q_{1} es un m× × n{displaystyle mtimes n} matriz que contiene la primera n{displaystyle n} columnas de la base ortonormal completa Q{displaystyle Q} y dónde R1{displaystyle R_{1} es como antes. Equivalente al caso subdeterminado, la sustitución posterior se puede utilizar para encontrar de forma rápida y precisa x^ ^ {displaystyle {hat {mathbf {x}}} sin invertir explícitamente R1{displaystyle R_{1}. ()Q1{displaystyle Q_{1} y R1{displaystyle R_{1} a menudo son proporcionados por bibliotecas numéricas como una descomposición QR "económica".)

Generalizaciones

Did you mean:

Iwasawa decomposition generalized QR decomposition to semisimple Lie groups.

Contenido relacionado

RP (complejidad)

En la teoría de la complejidad computacional, el tiempo polinómico aleatorio es la clase de problemas de complejidad para los que existe una máquina de...

Variedad simpléctica

En geometría diferencial, un tema de matemáticas, a andmplectic manifold es un andamio suave, M{displaystyle M}, equipado con un diferencial nondegenerado...

Cuantos

Quanta es el plural de...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save