71
4.4 Sistemas mal condicionados
Al resolver un sistema de ecuaciones lineales usando un método directo, es necesario analizar si
el resultado calculado es confiable. En esta sección se estudia el caso especial de sistemas que
son muy sensibles a los errores en los datos o en los cálculos y que al resolverlos producen
resultados con mucha variabilidad.
Para describir estos sistemas se considera el siguiente ejemplo:
Ejemplo Una empresa compra tres materiales A, B, C en cantidades en kg. como se indica en el
cuadro. Se dispone de tres facturas en las que consta el total pagado en dólares.
Con esta información debe determinarse el precio por kg. de cada material.
Sean x1, x2, x3 los precios por kg. que deben determinarse. Entonces se pueden plantear las
ecuaciones:
2.0x1 + 4.0x2 + 5.0x3 = 220
6.0x1 + 9.0x2 + 8.0x3 = 490
4.1x1 + 5.0x2 + 3.0x3 = 274
En notación matricial
1
2
3
2.0 4.0 5.0 x 220
6.0 9.0 8.0 x 490
4.1 5.0 3.0 x 274
    
    =    
        
Si se resuelve este sistema con un método directo se obtiene:
40.00
X 10.00
20.00
 
 =  
  
Supondremos ahora que el digitador se equivocó al ingresar los datos en la matriz y registró 4.1
en lugar del valor correcto 4.2
1
2
3
2.0 4.0 5.0 x 220
6.0 9.0 8.0 x 490
4.2 5.0 3.0 x 274
    
    =    
        
Si se resuelve este sistema nuevamente con un método directo se obtiene:
20.00
X 31.53
10.76
 
 =  
  
Un cambio menor en un coeficiente produjo un cambio muy significativo en la solución. El
resultado fue afectado fuertemente por este error. Esto es un indicio de que el sistema es de un
tipo especial denominado mal condicionado. Los resultados obtenidos con estos sistemas no
son confiables para tomar decisiones.
Factura A B C Total
1 2.0 4.0 5.0 220
2 6.0 9.0 8.0 490
3 4.1 5.0 3.0 274
72
Esta situación se origina en el hecho de que la tercera ecuación es “casi linealmente
dependiente” de las otras dos ecuaciones, por lo tanto, la solución puede variar mucho al
cambiar algunos coeficientes.
Es conveniente detectar si un sistema es mal condicionado. Se debe cambiar ligeramente el
valor de algún coeficiente y observar el cambio en el vector solución. Si la solución cambia
significativamente, entonces es un sistema mal condicionado y debe revisarse la elaboración del
modelo matemático.
En esta sección se establece una medida para cuantificar el nivel de mal condicionamiento de un
sistema de ecuaciones lineales.
4.4.1 Definiciones
La norma de un vector o de una matriz es una manera de expresar la magnitud de sus
componentes
Sean X: vector de n componentes
A: matriz de nxn componentes
Algunas definiciones comunes para la norma:
n
i
i 1
X x
=
= ∑
iX max x ,i 1,2,...,n= =
n
2 1/ 2
i 1
X ( x )
=
= ∑
n
i,j
i 1
A max a , j 1,2,...,n
=
= =∑
n
i,j
j 1
A max a ,i 1,2,...,n
=
= =∑
n n
2 1/ 2
i,j
i 1 j 1
A ( a )
= =
= ∑ ∑
Las dos primeras se denominan norma 1 y norma infinito, tanto para vectores como
para matrices. La tercera es la norma euclideana.
Ejemplo. Dada la siguiente matriz
5 3 2
A 4 8 4
2 6 1
− 
 = − 
  
Calcule la norma infinito (norma por fila).
Esta norma es el mayor valor de la suma de las magnitudes de los componentes de cada fila
Fila 1: |5| + |-3| + |2| = 10
Fila 2: |4| + |8| + |-4| = 16
Fila 3: |2| + |6| + |1| = 9
Por lo tanto, la norma por fila de la matriz es 16
73
4.4.2 Algunas propiedades de normas
Sea A: matriz de nxn componentes. (También se aplican a vectores)
a) A ≥ 0
b) kA =k A , k∈ℜ
c) A B A B+ ≤ +
d) AB A B≤
e) ||(kA)
-1
|| = ||1/k A
-1
||
4.4.3 Número de condición
El número de condición de una matriz se usa para cuantificar su nivel de mal condicionamiento.
Definición: Número de condición
Sea AX = B un sistema de ecuaciones lineales, entonces
cond(A) = || A || || A
-1
|| es el número de condición de la matriz A.
Cota para el número de condición:
cond(A) = || A || || A
-1
|| ≥ || A A
-1
|| = || I || = 1 ⇒ cond(A) ≥ 1
El número de condición no cambia si la matriz es multiplicada por alguna constante:
cond(kA)=||kA|| ||(kA)
-1
|| = k ||A|| ||1/k A
-1
|| = k ||A|| 1/k ||A
-1
|| = ||A|| ||A
-1
||
Ejemplo.
0.010 0.005
A
0.025 0.032
 
=  
 
;
10 5
B 1000A
25 32
 
= =  
 
A B
Determinante 0.000195 195
Norma1 de la matriz 0.0370 37
Norma1 de la inversa 292.3077 0.2923
Número de condición 10.8154 10.8154
Si la matriz tiene filas “casi linealmente dependientes”, su determinante tomará un valor muy
pequeño y su inversa tendrá valores muy grandes, siendo esto un indicio de que la matriz es mal
condicionada o es “casi singular”. Este valor interviene en el número de condición de la matriz.
Por otra parte, si la matriz tiene valores muy pequeños, su determinante será muy pequeño, su
inversa contendrá valores grandes y la norma de la matriz inversa también tendrá un valor
grande aunque la matriz no sea mal condicionada.
Si el número de condición solo dependiera de la norma de la matriz inversa, tendría un valor
grande en ambos casos. Por esto, y usando la propiedad anotada anteriormente, es necesario
multiplicar la norma de la matriz inversa por la norma de la matriz original para que el número de
condición sea grande únicamente si la matriz es mal condicionada.
74
Ejemplo. Calcule el número de condición de la matriz del ejemplo inicial
2.0 4.0 5.0
A 6.0 9.0 8.0
4.1 5.0 3.0
 
 =  
  
1
10.0000 10.0000 10.0000
A 11.3846 11.1538 10.7692
5.3077 4.9231 4.6154
−
− 
 =− − 
 − 
cond(A) = || A || || A
-1
|| = 766.07
Es un valor alto, respecto al valor mínimo que es 1
Una matriz puede considerarse mal condicionada si una ligera perturbación, error o cambio, en la
matriz de coeficientes produce un cambio muy significativo en el vector solución.
4.4.4 El número de condición y el error de redondeo
Dado un sistema de ecuaciones lineales AX = B cuya solución existe y es X
Suponer que debido a errores de medición, la matriz A de los coeficientes tiene un error E.
Sea A A E= + , la matriz con los errores de medición. Suponer que el vector B es exacto
Entonces, al resolver el sistema se tendrá una solución X diferente a la solución X del sistema
inicial. Esta solución X satisface al sistema: A X = B
Es importante determinar la magnitud de la diferencia entre ambas soluciones: X X−
Sustituyendo A X = B en la solución del sistema original AX = B:
X = 1
A B−
= 1
A−
( AX )
= 1
A (A E)X−
+
= 1
A A− 1
X A EX−
+
= I 1
X A EX−
+
= 1
X A EX−
+
⇒ X X− = 1
A EX−
⇒ 1
X X A E X−
− ≤ ⇒ 1 E
X X A A X
A
−
− ≤
De donde se puede escribir, sustituyendo E y el número de condición de A:
Definición: Cota para el error relativo de la solución
|| X X || || A A ||
cond(A)
|| A |||| X ||
− −
≤
eX cond(A)≤ (eA) Cota para el error relativo de la solución
75
X es el vector solución calculado con la matriz inicial A
X es el vector solución calculado con la matriz modificada A
E = A A− es la matriz con la variación de los datos de la matriz.
eX es el error relativo de la solución
eA es el error relativo de la matriz
La expresión establece que la magnitud del error relativo de la solución está relacionada con el
error relativo de la matriz del sistema, ponderada por el número de condición. El número de
condición es un factor que amplifica el error en la matriz A aumentando la dispersión y la
incertidumbre de la solución calculada X
Ejemplo. Encuentre una cota para el error en la solución del ejemplo inicial
Matriz original
2.0 4.0 5.0
A 6.0 9.0 8.0
4.1 5.0 3.0
 
 =  
  
Matriz modificada
2.0 4.0 5.0
A 6.0 9.0 8.0
4.2 5.0 3.0
 
 =  
  
Error en la matriz: EA = A - A =
0 0 0
0 0 0
0.1 0 0
 
 
 
  
Norma del error relativo de la matriz:
eA = A|| E ||
|| A ||
=
0.1
23
= 0.0043 = 0.43%
Número de condición:
cond(A) = 766.07
Cota para el error relativo de la solución:
X Ae cond(A) (e )≤ = 766.07 (0.0043) = 3.29 = 329%
Indica que la magnitud del error relativo de la solución puede variar hasta en 329%, por lo tanto
no se puede confiar en ninguno de los dígitos de la respuesta calculada.
76
Ejemplo. Encuentre el error relativo de la solución en el ejemplo inicial y compare con el error
relativo de la matriz de los coeficientes.
Sistema original:
1
2
3
2.0 4.0 5.0 x 220
6.0 9.0 8.0 x 490
4.1 5.0 3.0 x 274
    
    =    
        
Solución:
40.00
X 10.00
20.00
 
 =  
  
Sistema modificado:
1
2
3
2.0 4.0 5.0 x 220
6.0 9.0 8.0 x 490
4.2 5.0 3.0 x 274
    
    =    
        
Solución:
20.00
X 31.53
10.76
 
 =  
  
Error en la solución: EX = X - X =
20.00
31.53
10.76
 
 
 
  
-
40.00
10.00
20.00
 
 
 
  
=
-20.00
21.53
-9.23
 
 
 
  
Norma del error relativo de la solución:
eX = X|| E ||
|| X ||
=
21.53
31.53
= 0.6828 = 68.28%
Norma del error relativo de la matriz:
eA = A|| E ||
|| A ||
=
0.1
23
= 0.0043 = 0.43%
La variación en el vector solución es muy superior a la variación de la matriz de coeficientes. Se
concluye que es un sistema mal condicionado.
77
4.4.5 Funciones de MATLAB para normas y número de condición
Cálculo de normas de vectores y matrices en MATLAB
Sea a un vector o una matriz
norm(a, 1) para obtener la norma 1 (norma de columna)
norm(a, inf) para obtener la norma infinito (norma de fila)
cond(a, 1) número de condición con la norma 1
cond(a, inf) número de condición con la norma infinito
Ejemplo. Calcule el número de condición de la matriz
4 5
A
4.1 5
 
=  
 
Escribimos en la pantalla de comandos de MATLAB:
>> a=[4, 5; 4.1, 5]; (Matriz)
>> norm(a,inf) (Norma de fila
ans =
9.5
>> inv(a) (Matriz inversa)
ans =
-10.0000 10.0000
8.2000 -8.0000
>> cond(a,inf) (Número de condición)
ans =
182.0000 (Matriz mal condicionada)

Sistemas mal condicionados

  • 1.
    71 4.4 Sistemas malcondicionados Al resolver un sistema de ecuaciones lineales usando un método directo, es necesario analizar si el resultado calculado es confiable. En esta sección se estudia el caso especial de sistemas que son muy sensibles a los errores en los datos o en los cálculos y que al resolverlos producen resultados con mucha variabilidad. Para describir estos sistemas se considera el siguiente ejemplo: Ejemplo Una empresa compra tres materiales A, B, C en cantidades en kg. como se indica en el cuadro. Se dispone de tres facturas en las que consta el total pagado en dólares. Con esta información debe determinarse el precio por kg. de cada material. Sean x1, x2, x3 los precios por kg. que deben determinarse. Entonces se pueden plantear las ecuaciones: 2.0x1 + 4.0x2 + 5.0x3 = 220 6.0x1 + 9.0x2 + 8.0x3 = 490 4.1x1 + 5.0x2 + 3.0x3 = 274 En notación matricial 1 2 3 2.0 4.0 5.0 x 220 6.0 9.0 8.0 x 490 4.1 5.0 3.0 x 274          =              Si se resuelve este sistema con un método directo se obtiene: 40.00 X 10.00 20.00    =      Supondremos ahora que el digitador se equivocó al ingresar los datos en la matriz y registró 4.1 en lugar del valor correcto 4.2 1 2 3 2.0 4.0 5.0 x 220 6.0 9.0 8.0 x 490 4.2 5.0 3.0 x 274          =              Si se resuelve este sistema nuevamente con un método directo se obtiene: 20.00 X 31.53 10.76    =      Un cambio menor en un coeficiente produjo un cambio muy significativo en la solución. El resultado fue afectado fuertemente por este error. Esto es un indicio de que el sistema es de un tipo especial denominado mal condicionado. Los resultados obtenidos con estos sistemas no son confiables para tomar decisiones. Factura A B C Total 1 2.0 4.0 5.0 220 2 6.0 9.0 8.0 490 3 4.1 5.0 3.0 274
  • 2.
    72 Esta situación seorigina en el hecho de que la tercera ecuación es “casi linealmente dependiente” de las otras dos ecuaciones, por lo tanto, la solución puede variar mucho al cambiar algunos coeficientes. Es conveniente detectar si un sistema es mal condicionado. Se debe cambiar ligeramente el valor de algún coeficiente y observar el cambio en el vector solución. Si la solución cambia significativamente, entonces es un sistema mal condicionado y debe revisarse la elaboración del modelo matemático. En esta sección se establece una medida para cuantificar el nivel de mal condicionamiento de un sistema de ecuaciones lineales. 4.4.1 Definiciones La norma de un vector o de una matriz es una manera de expresar la magnitud de sus componentes Sean X: vector de n componentes A: matriz de nxn componentes Algunas definiciones comunes para la norma: n i i 1 X x = = ∑ iX max x ,i 1,2,...,n= = n 2 1/ 2 i 1 X ( x ) = = ∑ n i,j i 1 A max a , j 1,2,...,n = = =∑ n i,j j 1 A max a ,i 1,2,...,n = = =∑ n n 2 1/ 2 i,j i 1 j 1 A ( a ) = = = ∑ ∑ Las dos primeras se denominan norma 1 y norma infinito, tanto para vectores como para matrices. La tercera es la norma euclideana. Ejemplo. Dada la siguiente matriz 5 3 2 A 4 8 4 2 6 1 −   = −     Calcule la norma infinito (norma por fila). Esta norma es el mayor valor de la suma de las magnitudes de los componentes de cada fila Fila 1: |5| + |-3| + |2| = 10 Fila 2: |4| + |8| + |-4| = 16 Fila 3: |2| + |6| + |1| = 9 Por lo tanto, la norma por fila de la matriz es 16
  • 3.
    73 4.4.2 Algunas propiedadesde normas Sea A: matriz de nxn componentes. (También se aplican a vectores) a) A ≥ 0 b) kA =k A , k∈ℜ c) A B A B+ ≤ + d) AB A B≤ e) ||(kA) -1 || = ||1/k A -1 || 4.4.3 Número de condición El número de condición de una matriz se usa para cuantificar su nivel de mal condicionamiento. Definición: Número de condición Sea AX = B un sistema de ecuaciones lineales, entonces cond(A) = || A || || A -1 || es el número de condición de la matriz A. Cota para el número de condición: cond(A) = || A || || A -1 || ≥ || A A -1 || = || I || = 1 ⇒ cond(A) ≥ 1 El número de condición no cambia si la matriz es multiplicada por alguna constante: cond(kA)=||kA|| ||(kA) -1 || = k ||A|| ||1/k A -1 || = k ||A|| 1/k ||A -1 || = ||A|| ||A -1 || Ejemplo. 0.010 0.005 A 0.025 0.032   =     ; 10 5 B 1000A 25 32   = =     A B Determinante 0.000195 195 Norma1 de la matriz 0.0370 37 Norma1 de la inversa 292.3077 0.2923 Número de condición 10.8154 10.8154 Si la matriz tiene filas “casi linealmente dependientes”, su determinante tomará un valor muy pequeño y su inversa tendrá valores muy grandes, siendo esto un indicio de que la matriz es mal condicionada o es “casi singular”. Este valor interviene en el número de condición de la matriz. Por otra parte, si la matriz tiene valores muy pequeños, su determinante será muy pequeño, su inversa contendrá valores grandes y la norma de la matriz inversa también tendrá un valor grande aunque la matriz no sea mal condicionada. Si el número de condición solo dependiera de la norma de la matriz inversa, tendría un valor grande en ambos casos. Por esto, y usando la propiedad anotada anteriormente, es necesario multiplicar la norma de la matriz inversa por la norma de la matriz original para que el número de condición sea grande únicamente si la matriz es mal condicionada.
  • 4.
    74 Ejemplo. Calcule elnúmero de condición de la matriz del ejemplo inicial 2.0 4.0 5.0 A 6.0 9.0 8.0 4.1 5.0 3.0    =      1 10.0000 10.0000 10.0000 A 11.3846 11.1538 10.7692 5.3077 4.9231 4.6154 − −   =− −   −  cond(A) = || A || || A -1 || = 766.07 Es un valor alto, respecto al valor mínimo que es 1 Una matriz puede considerarse mal condicionada si una ligera perturbación, error o cambio, en la matriz de coeficientes produce un cambio muy significativo en el vector solución. 4.4.4 El número de condición y el error de redondeo Dado un sistema de ecuaciones lineales AX = B cuya solución existe y es X Suponer que debido a errores de medición, la matriz A de los coeficientes tiene un error E. Sea A A E= + , la matriz con los errores de medición. Suponer que el vector B es exacto Entonces, al resolver el sistema se tendrá una solución X diferente a la solución X del sistema inicial. Esta solución X satisface al sistema: A X = B Es importante determinar la magnitud de la diferencia entre ambas soluciones: X X− Sustituyendo A X = B en la solución del sistema original AX = B: X = 1 A B− = 1 A− ( AX ) = 1 A (A E)X− + = 1 A A− 1 X A EX− + = I 1 X A EX− + = 1 X A EX− + ⇒ X X− = 1 A EX− ⇒ 1 X X A E X− − ≤ ⇒ 1 E X X A A X A − − ≤ De donde se puede escribir, sustituyendo E y el número de condición de A: Definición: Cota para el error relativo de la solución || X X || || A A || cond(A) || A |||| X || − − ≤ eX cond(A)≤ (eA) Cota para el error relativo de la solución
  • 5.
    75 X es elvector solución calculado con la matriz inicial A X es el vector solución calculado con la matriz modificada A E = A A− es la matriz con la variación de los datos de la matriz. eX es el error relativo de la solución eA es el error relativo de la matriz La expresión establece que la magnitud del error relativo de la solución está relacionada con el error relativo de la matriz del sistema, ponderada por el número de condición. El número de condición es un factor que amplifica el error en la matriz A aumentando la dispersión y la incertidumbre de la solución calculada X Ejemplo. Encuentre una cota para el error en la solución del ejemplo inicial Matriz original 2.0 4.0 5.0 A 6.0 9.0 8.0 4.1 5.0 3.0    =      Matriz modificada 2.0 4.0 5.0 A 6.0 9.0 8.0 4.2 5.0 3.0    =      Error en la matriz: EA = A - A = 0 0 0 0 0 0 0.1 0 0          Norma del error relativo de la matriz: eA = A|| E || || A || = 0.1 23 = 0.0043 = 0.43% Número de condición: cond(A) = 766.07 Cota para el error relativo de la solución: X Ae cond(A) (e )≤ = 766.07 (0.0043) = 3.29 = 329% Indica que la magnitud del error relativo de la solución puede variar hasta en 329%, por lo tanto no se puede confiar en ninguno de los dígitos de la respuesta calculada.
  • 6.
    76 Ejemplo. Encuentre elerror relativo de la solución en el ejemplo inicial y compare con el error relativo de la matriz de los coeficientes. Sistema original: 1 2 3 2.0 4.0 5.0 x 220 6.0 9.0 8.0 x 490 4.1 5.0 3.0 x 274          =              Solución: 40.00 X 10.00 20.00    =      Sistema modificado: 1 2 3 2.0 4.0 5.0 x 220 6.0 9.0 8.0 x 490 4.2 5.0 3.0 x 274          =              Solución: 20.00 X 31.53 10.76    =      Error en la solución: EX = X - X = 20.00 31.53 10.76          - 40.00 10.00 20.00          = -20.00 21.53 -9.23          Norma del error relativo de la solución: eX = X|| E || || X || = 21.53 31.53 = 0.6828 = 68.28% Norma del error relativo de la matriz: eA = A|| E || || A || = 0.1 23 = 0.0043 = 0.43% La variación en el vector solución es muy superior a la variación de la matriz de coeficientes. Se concluye que es un sistema mal condicionado.
  • 7.
    77 4.4.5 Funciones deMATLAB para normas y número de condición Cálculo de normas de vectores y matrices en MATLAB Sea a un vector o una matriz norm(a, 1) para obtener la norma 1 (norma de columna) norm(a, inf) para obtener la norma infinito (norma de fila) cond(a, 1) número de condición con la norma 1 cond(a, inf) número de condición con la norma infinito Ejemplo. Calcule el número de condición de la matriz 4 5 A 4.1 5   =     Escribimos en la pantalla de comandos de MATLAB: >> a=[4, 5; 4.1, 5]; (Matriz) >> norm(a,inf) (Norma de fila ans = 9.5 >> inv(a) (Matriz inversa) ans = -10.0000 10.0000 8.2000 -8.0000 >> cond(a,inf) (Número de condición) ans = 182.0000 (Matriz mal condicionada)