3.3.
N´
umero de condici´
on de una matriz.
Consideremos el sistema Ax = b, de soluci´on u. Queremos controlar qu´e cambios se producen en la soluci´on cuando hacemos peque˜nos cambios en las componentes de b o de A. Empecemos por tomar un cambio ∆b enb. Entonces la soluci´on cambiar´a a u+ ∆u, y se tiene
A(u+ ∆u) = b+ ∆b, A∆u= ∆b.
Por tanto, el cambio en la soluci´on se estima enA−1∆b. Si tomamos una norma vectorial y la norma matricial subordinada, entonces
k∆uk ≤°°A−1°°k∆bk.
Por otro lado, kbk ≤ kAk kuk, de donde 1 kuk ≤
kAk
kbk. Medimos el error relativo, y obtenemos k∆uk kuk ≤ kAk ° °A−1°°k∆bk kbk .
As´ı, la variaci´on en el error relativo de la soluci´on est´a asociada a la cantidadkAk kA−1k. Definici´on 3.3.1. Seak·k una norma matricial subordinada yAuna matriz inversible. Entonces el n´umero
cond(A) =kAk°°A−1°°
se denomina n´umero de condici´on o condicionamiento de la matriz A respecto a k·k.
No hay problema en extender la definici´on a cualquier norma matricial. Consideremos ahora cambios en la matriz A.
Teorema 3.3.2. Sea k·knorma matricial subordinada, A matriz inversible yb 6=0. Si
Au=b,(A+ ∆A)(u+ ∆u) = b entonces k∆uk ku+ ∆uk ≤cond(A) k∆Ak kAk . Demostraci´on. De Au=b llegamos a
Entonces
k∆uk ≤°°A−1°°k∆Ak ku+ ∆uk, k∆uk
ku+ ∆uk ≤cond(A) k∆Ak
kAk .
Teorema 3.3.3. Sea k·k norma matricial subordinada,A matriz inversible y k∆Ak< 1/kA−1k. Si (A+ ∆A)(u+ ∆u) = b+ ∆b entonces k∆uk kuk ≤ cond(A) 1−cond(A)k∆kAAkk µ k∆bk kbk + k∆Ak kAk ¶ . Demostraci´on. [BF98, p.468].
Proposici´on 3.3.4. Sea k·k norma matricial subordinada y A una matriz inversible. Entonces
1. cond(A)≥1.
2. cond(A) = cond(A−1).
3. cond(λA) = cond(A) para todo λ∈K− {0}. Demostraci´on. Como la norma es subordinada,
1 =kIk=°°AA−1°°≤ kAk°°A−1°°= cond(A). Por otro lado,
cond(A) =kAk°°A−1°°=°°A−1°°kAk= cond(A−1). Si λ es no nulo, entonces
cond(λA) = kλAk°°(λA)−1°°=|λ| kAk¯¯λ−1¯¯°°A−1°°= cond(A).
Proposici´on 3.3.5. Sea A una matriz inversible. Entonces
cond2(A) = s
λn(A∗A)
λ1(A∗A)
dondeλn(A∗A), λ1(A∗A)son,respectivamente, los autovalores mayor y menor de la
Demostraci´on. ComoAes regular, la matrizA∗Aes hermitiana y sus autovalores reales son todos positivos. Si w∈V, no nulo, entonces
w∗A∗Aw=kAwk2 2 >0
porque A es inversible. Siλ es autovalor de A∗A, con v autovector asociado, entonces 0<v∗A∗Av=λkvk2
2 de donde λ >0. Sabemos que
kAk22 =ρ(A∗A) = λ n(A∗A) y ° °A−1°°2 2 =ρ((A −1)∗A−1) = ρ(A−1(A−1)∗) =ρ((A∗A)−1) = 1 λ1(A∗A) .
Lema 3.3.6. SeaAmatriz hermitiana no singular, con autovaloresλ1 ≤λ2 ≤. . .≤λn.
Entonces
cond2(A) = λn
λ1 .
Demostraci´on. Recordemos queρ(A−1) = 1
λ1. Entonces
cond2(A) =kAk2°°A−1°°2 =ρ(A)ρ(A−1) = λn λ1 .
Nota 3.3.7. Sea k·k norma matricial subordinada y A matriz hermitiana. Entonces
cond(A) = kAk°°A−1°°≥ρ(A)ρ(A−1) = cond 2(A).
Entonces, para matrices hermitianas, cond2 es el menor de todos.
Lema 3.3.8. Si U es unitaria y A es una matriz arbitraria, entonces cond2(A) = cond2(UA) = cond2(AU) = cond2(U∗AU), es decir, cond2 es invariante por
transfor-maciones unitarias, y cond2(U) = 1.
Demostraci´on.
Nota 3.3.9. 1. El n´umero de condici´on de una matriz es siempre un n´umero mayor que 1, por lo que el sistema Ax=b estar´a tanto mejor condicionado cuanto m´as pr´oximo a 1 est´e dicho cond(A).
2. Si A es una matriz unitaria, el sistema estar´a siempre bien condicionado respecto a cond2.
Ejemplo 3.3.10. Consideremos el sistema Ax=b con A = 10 7 8 7 7 5 6 5 8 6 10 9 7 5 9 10 ,b= 32 23 33 31
y supongamos que tenemos una variaci´on en b dada por
∆b= 0,1 −0,1 0,1 −0,1 .
La soluci´on exacta del sistema es
u= 1 1 1 1
mientras que la del sistema alterado Ax=b+ ∆b es
u+ ∆u= 9,2 −12,6 4,5 −1,1 .
Para la norma k·k2 calculamos los errores relativos y tenemos k∆uk2
kuk2 ≈8,2,
k∆bk2
kbk2 ≈0,003. Esto era de esperar porque cond2(A)≈2984,1.
Nota 3.3.11. El c´alculo del n´umero de condici´on a partir de la definici´on implica a la inversa de la matriz, por lo que no es un buen m´etodo. En la pr´actica, se suele calcular como subproducto del proceso de resoluci´on de un sistema. Tambi´en se suelen dar cotas a kA−1k
Nota 3.3.12. Una regla del pulgar”sobre la influencia del n´umero de condici´on sobre la validez de la soluci´on es la siguiente. Supongamos que se usa eliminaci´on gaussiana con pivoteo parcial sobre un sistema bien escalado Ax = b con aritm´etica de t-d´ıgitos en coma flotante. Supongamos tambi´en que no hay otras fuentes de error. Entonces, si cond(A) es del orden de 10p, la soluci´on calculada es precisa con t−p d´ıgitos
sig-nificativos. En otras palabras, esperamos una p´erdida de unos p d´ıgitos. Por ejemplo, consideremos el siguiente sistema:
,835x +,667y =,168 ,333x +,266y =,067.
Entonces A−1 = µ −266000 667000 333000 −835000 ¶ ,kAk1 = 1,168,kA−1k 1 = 1502000, cond1(A) = 1754336≈1,7×106.
El valor de cond1(A) no es tan importante como su orden de magnitud. Lo anterior indica que el cambio relativo en la soluci´on puede ser del orden de un mill´on de veces el cambio relativo en A. As´ı, si usamos eliminaci´on gaussiana con 8 d´ıgitos para resolver el sistema, ´unicamente podemos esperar t−p = 8−6 = 2 d´ıgitos significativos. Esto no significa que podamos tener suerte y alcancemos mayor precisi´on.