Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Descomposicio QR (Mancilla) PDF
Descomposicio QR (Mancilla) PDF
En lo que sigue veremos que toda matriz A ∈ Kn×m (K = R ó C) con rango(A) = m, es decir,
cuyas columnas forman un conjunto linealmente independiente, se puede factorizar como pro-
ducto de dos matrices, una de ellas de n×m tal que sus columnas forman un conjunto ortonormal
y otra de m × m que es triangular superior y con números positivos en la diagonal (y por tanto
inversible). Tal factorización, que se denomina descomposición QR de A, es utilizada por var-
ios algoritmos numéricos para la resolución de ecuaciones lineales y para el cálculo de autovalores.
Demostración. Como el punto 2. es consecuencia directa del punto 1. por lo que ya hemos
visto sobre matrices de proyección, sólo el primero.
Sean u1 , u2 , . . . , um las columnas de Q. Como
H H
u1 u1 uH · · · uH
u1 1 u2 1 um
uH uH u1 uH u2 · · · uH
2 um
2 2 2
QH Q = . [u1 u2 · · · um ] = . ,
. . .. .. ..
. . . . .
uH
m uH H
m u1 um u2
H
· · · um um
y por lo tanto uH H
i uj es el elemento del producto Q Q ubicado en la posición ij, tenemos que
H H 0 si i 6= j
Q Q = I ⇐⇒ ui uj = ⇐⇒ {u1 , u2 , . . . , um } es un conjunto ortonormal.
1 si i = j
Entonces, claramente, {u1 , u2 , . . . , um } es una b.o.n. de col(Q). Si probamos que col(Q) = col(A)
tendremos probado el punto 1.
Para ello usaremos el siguiente resultado: si A, B y C son matrices tales que A = BC
entonces col(A) ⊂ col(B).
La demostración de este resultado es la siguiente: si y ∈ col(A) entonces existe x tal que
y = Ax = BCx. Llamando z = Cx, tenemos que y = Bz, con lo cual y ∈ col(B). Por lo tanto
cada elemento de col(A) es a su vez elemento de col(B), con lo cual col(A) ⊂ col(B).
Luego, dado que A = QR, tenemos que col(A) ⊂ col(Q). Como R es inversible por la
definición de descomposición QR, tenemos que Q = AR−1 , con lo cual col(Q) ⊂ col(A). Por lo
tanto
col(A) ⊂ col(Q) y col(Q) ⊂ col(A) =⇒ col(A) = col(Q).
1
En lo que sigue veremos que toda matriz A de rango completo admite una descomposición
QR.
u1 = v1
u2 = v2 − α12 u1
u3 = v3 − α13 u1 − α23 u2
.. .. .. uH
i vj
. . . con αij = 1 ≤ i < j.
kui k2
uj = vj − α1j u1 − α2j u2 − · · · − α(j−1) j uj−1
.. .. ..
. . .
um = vm − α1m u1 − α2m u2 − · · · − α(m−1) m um−1
v1 = u1
v2 = α12 u1 + u2
v3 = α13 u1 + α23 u2 + u3
.. .. ..
. . . .
vj = α1j u1 + α2j u2 + · · · + α(j−1) j uj−1 + uj
.. .. ..
. . .
vm = α1m u1 + α2m u2 + · · · + α(m−1) m um−1 + um
2
y modificamos R0 de modo tal que su producto con Q siga dando A, para ello multiplicamos cada
fila de R0 por el número por el cual dividimos la correspondiente columna de Q0 obteniendo:
ku1 k α12 ku1 k α13 ku1 k · · · α1m ku1 k
0
ku2 k α23 ku2 k · · · α2m ku2 k
R=
0 0 ku3 k · · · α3m ku3 k
. (1)
.. .. .. .. ..
. . . . .
0 0 0 ··· kum k
De acuerdo con la demostración del teorema anterior, para hallar tal descomposición deberı́amos
aplicar el precedimiento de G-S a las columnas de A y con los vectores obtenidos, previa nor-
malización, construir la matriz Q. La matriz R podrı́a obtenerse directamente mediante (1),
uH
i vj
calculando los αij mediante la fórmula αij = kui k2
. Sin embargo ello no es necesario, pues, una
vez obtenida Q, como A = QR y QH Q = I, tenemos que QH A = QH (QR) = (QH Q)R = R.
Procedemos entonces a aplicar G-S a las columnas de A: llamando vi a la columna i de A
tenemos que
1
u1 = v1 = 1 .
0
1
H 1 1
u1 v2 1 21
u2 = v2 − u1 = 0 −
1 = −2
ku1 k2 2
1 0 1
1 2
0 1 −
uH
1 v3 uH
2 v3 1 1 21 32
u3 = v3 − u1 − u2 = 1 −
1 − −2 = 3 .
ku1 k2 ku2 k2 2 3 2
1 0 1 3
Normalizando los ui obtenidos formamos Q:
√ √ √
2 6
√2 √6
− √33
2
Q= − √66 3
2 √3
6 3
0 3 3
y calculamos R mediante √ √ √
2 2
2 √2 √2
R = QH A = 0 6 6
.
2 √6
2 3
0 0 3
3
empleando una computadora digital para hacer los cálculos, no se emplea el procedimiento de
Gram-Schmidt para calcular Q debido a que los errores de redondeo pueden ser muy grandes.
La descomposición se hace empleando otros métodos que involucran la utilización de las deno-
minadas matrices de Householder (hay una introducción en wikipedia).
Varios programas que efectúan cálculos con matrices, como Matlab, Mathematica, Maple,
Scilab (de uso libre, se baja de la red en la dirección http://www.scilab.org/) contienen instruc-
ciones que calculan la descomposición QR de una matriz.
AH Ax = AH b ⇐⇒ RH QH QRx = RH QH b ⇐⇒ RH Rx = RH QH b ⇐⇒ Rx = QH b,
la última equivalencia debido a que RH es inversible por serlo R. Luego, las soluciones por
cuadrados mı́nimos de la ecuación Ax = b se pueden obtener resolviendo la ecuación
Rx = QH b,
lo cual tiene dos ventajas, una es que R es triangular y la otra es que, en general, el error que
se comete al resolver de esta manera mediante una computadora digital es menor que el que se
comete empleando la ecuación normal AH Ax = AH b.