You are on page 1of 7

ANLISIS NUMRICO

3.4

ICM ESPOL

Sistemas Mal Condicionados

Al resolver un sistema de ecuaciones lineales, es necesario analizar si el resultado calculado es


confiable pues puede ocurrir que los valores obtenidos no tengan la precisin esperada. Un caso
especial se presenta en sistemas que son sensibles a los errores de redondeo introducidos en
los datos y en los clculos.
Para describir esta situacin suponga el siguiente sistema
2 3.01 x 1 5

4
6 x 2 7

La solucin obtenida con un mtodo directo es:


223.25
X

150.00
Realicemos un cambio muy pequeo en alguno de los coeficientes del sistema
3.01 x 1 5
2
4.01 6 x 7

2
La solucin obtenida con el mismo mtodo directo es completamente diferente
127.3894
X

86.3053
Si suponemos que los coeficientes de la matriz representan datos obtenidos mediante algn tipo
de medicin y que el clculo de la solucin es un proceso que puede introducir errores, entonces
esto debe interpretarse como un indicio de que la solucin es afectada fuertemente por los
pequeos errores de los coeficientes, en consecuencia la solucin no es confiable.
Estos sistemas son muy sensibles a los cambios en los coeficientes y tambin a los errores de
redondeo en el clculo de la solucin y se denominan sistemas mal condicionados. Una
interpretacin grfica ayuda a entender este problema.
En el ejemplo se observa que los coeficientes correspondientes de las ecuaciones tienen valores
muy cercanos. Cada ecuacin es una recta en el plano y sus pendientes tendrn valores muy
cercanos, por lo tanto, al graficarlas se obtendrn rectas casi paralelas:
Ecuacin 1:
Ecuacin 2:

x1 = -3.01/2 x2 + 5/2 = -1.505 x2 + 2.50


x1 = -6/4 x2 + 7/4 = -1.500 x2 + 1.75

Geomtricamente, la solucin del sistema es la interseccin de ambas rectas. Si tienen


pendientes muy cercanas, la interseccin no estar claramente definida. En consecuencia, al
cambiar alguno de los coeficientes, el punto de interseccin se desplazar significativamente.

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Segn lo anterior, un procedimiento experimental para detectar si un sistema lineal es mal


condicionado consiste en modificar ligeramente el valor de alguno de los coeficientes y observar
si el vector solucin cambia significativamente.
Si se detecta este problema, debe entenderse que el sistema contiene ecuaciones muy cercanas
o que tienen algn tipo de relacin, y por lo tanto deben revisarse los datos y las consideraciones
usadas para generar el modelo matemtico. Esta situacin puede extenderse a sistemas con
ms ecuaciones.
Para cuantificar el nivel de mal condicionamiento de un sistema se utilizan las siguientes
definiciones:

3.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

i1

X max xi ,i 1,2,...,n

xi
n

A max ai,j , j 1,2,...,n


i1

A max ai,j ,i 1,2,...,n


j1

X ( x 2 )1/ 2
i1
n

A (
i1

a
j1

2 1/ 2
i,j

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.4.2 Algunas Propiedades de Normas


Sea A: matriz de nxn componentes. (Tambin se aplican a vectores)
a) A 0
b) kA =k A , k
c) A B A B
d) AB A B

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

3.4.3 Nmero de condicin


El nmero de condicin de una matriz es una definicin para cuantificar su nivel de mal
condicionamiento.
Definicin: Nmero de condicin
Sea AX = B un sistema de ecuaciones lineales, entonces
-1
cond(A) = || A || || A || es el nmero de condicin de la matriz A.

Si la matriz tiene filas casi linealmente dependientes, su determinante tomar un valor muy
pequeo y su inversa tendr valores muy grandes, siendo esto un indicio de que la matriz es mal
condicionada o casi singular.
Cotas para el nmero de condicin:
cond(A) = || A || || A || || A A || = || I || = 1 cond(A) 1
-1

-1

|A| 0 ||A || cond(A)


-1

El nmero de condicin no cambia si la matriz es multiplicada por alguna constante:


-1

-1

-1

-1

cond(kA)=||kA|| ||(kA) || = k ||A|| ||1/k A || = k ||A|| 1/k ||A || = ||A|| ||A ||

Ejemplo.

0.010 0.005
A
;
0.025 0.032

Determinante
Norma1
Norma1 de la inversa
Nmero de condicin

10 5
B 1000A

25 32
A
0.000195
0.0370
292.3077
10.8154

B
195
37
0.2923
10.8154

Si la matriz tiene valores muy pequeos, su determinante ser muy pequeo, su inversa
contendr valores grandes y la norma de la matriz inversa tambin tendr un valor grande. Si el
nmero de condicin solo dependiera de esta norma, tendra un valor grande aunque la matriz
no sea mal condicionada. Por esto, y usando la propiedad anotada anteriormente, es necesario
multiplicar por la norma de la matriz original para que el nmero de condicin no dependa
nicamente del determinante de esta matriz.

Ejemplo. Calcule el nmero de condicin de la matriz del ejemplo inicial

2 3.01
A =
,
6
4
150 75.25
-1
A 1
, cond(A) = || A || || A || = 2252.5 (nmero de condicin grande)
50
100

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Una matriz puede considerarse mal condicionada si una ligera variacin en la matriz de
coeficientes produce un cambio muy significativo en el vector solucin.
Para el ejemplo inicial de este captulo, sean
A: matriz original
A: matriz perturbada
X: vector solucin con la matriz original
X: vector solucin con la matriz perturbada
E: matriz o vector con la variacin
Porcentaje de variacin de la matriz de coeficientes

3.01 2 3.01 0
0
2
E = A- A =
- 4
= 0.01 0
4.01
6
6

100 || E || 100(0.01) 1%
Porcentaje de variacin en la solucin:

223.25 127.3894 -95.8606


E = X- X =
-
=

150.00 86.3053 63.6947

100 || E || 100(95.8606) 95.86%


La variacin en la solucin es muy significativa respecto a la variacin en la matriz de
coeficientes. Se concluye que es un sistema mal condicionado.

3.4.4 El nmero de condicin y el error en la solucin calculada


Sea el sistema de ecuaciones lineales
AX = B
Suponer que debido a errores de medicin los coeficientes de la matriz A tienen un error E.
Sea A A E , la matriz con los errores de medicin, y suponer que el vector B es exacto
Entonces, al resolver el sistema se tendr una solucin X diferente a la solucin esperada X
A X=B
Es importante determinar cuan grande es la diferencia X X
Combinando los sistemas AX = B y AX = B
X = A 1B = A 1 ( AX ) = A 1 (A E)X = A 1A X A 1EX = I X A 1EX = X A 1EX

X X = A 1EX

X X A 1 E X

X X A 1 A

E
A

De donde, se puede escribir

|| X X ||
|| X ||

cond(A)

|| E ||
|| A ||

Cota para el error relativo en la solucin

A es la matriz utilizada en el modelo matemtico


E es la matriz de perturbaciones o errores en la matriz de datos
X es el vector solucin calculado

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

La expresin establece que la magnitud del error relativo en la solucin est relacionada con el
error en los datos de la matriz y con el nmero de condicin de la matriz A. El nmero de
condicin es un factor que amplifica al error en los datos E

Ejemplo. Encuentre una cota para el error en la solucin calculada para el ejemplo inicial.
Considere que la norma del error de la matriz de coeficientes es 0.01
Con la definicin anterior:
0.01
|| X X ||
|| E ||
) = 2.2525 = 225.25%
cond(A)
= 2252.5(
10
|| A ||
|| X ||
Lo cual significa que la respuesta pudiera variar en ms del 100%, por lo tanto no se puede
confiar en ninguno de los dgitos de la respuesta calculada.

3.4.5 Un procedimiento para calcular la inversa de una matriz


Para calcular el nmero de condicin de una matriz, se requiere conocer su inversa.
Un algoritmo para encontrar esta matriz se puede obtener extendiendo el mtodo de GaussJordan visto anteriormente.
Sea A una matriz cuadrada cuyo determinante es diferente de cero.
Sean t 1 ,t 2 , . . . ,t m1,t m las transformaciones lineales del mtodo de Gauss-Jordan que
transforman la matriz A en la matriz identidad I:

t m t m-1 . . . t 2 t 1 A = I
Entonces se puede escribir

t m t m-1 . . . t 2 t 1 A 1 A = A 1 I

t m t m-1 . . . t 2 t 1 I = A 1

Lo cual significa que las mismas transformaciones que convierten


la matriz

A en la matriz I , convertirn

I en la matriz A .
1

Para aplicar este algoritmo, si es de inters conocer la matriz A


se puede aumentar la matriz
I a la matriz anterior:
A| B|I
Las transformaciones aplicadas simultneamente proporcionarn el vector solucin X y la matriz
identidad

A 1

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

Ejemplo. Con el Mtodo de Gauss-Jordan resuelva el


simultneamente obtenga la matriz inversa:
4x1 2x 2 5x 3 18.00

sistema de ecuaciones siguiente y

2x1 5x 2 8x 3 27.30
2x1 4x 2 3x 3 16.20

Solucin. La matriz aumentada es:

4 2 5
A | B 2 5 8
2 4 3

18.00
27.30
16.20

1 0 0
0 1 1
0 0 1

Clculos
Normalizar fila 1 y reducir filas 2 y 3
1.0000 0.5000 1.2500
0
4.0000 5.5000
0
3.0000 0.5000

4.5000
18.3000
7.2000

0.2500
-0.5000
-0.5000

0
0
1.0000
0
0
1.0000

Normalizar fila 2 y reducir filas 1 y 3


1.0000
0
0.5625
0
1.0000 1.3750
0
0
-3.6250

2.2125
4.5750
-6.5250

0.3125 -0.1250
0
-0.1250 0.2500
0
-0.1250 -0.7500 1.0000

Normalizar fila 3 y reducir filas 1 y 2


1.0000
0
0
0
1.0000
0
0
0
1.0000

1.2000
2.1000
1.8000

0.2931 -0.2414 0.1552


-0.1724 -0.0345 0.3793
0.0345 0.2069 -0.2759

Entonces la solucin es
1.2
X 2.1
1.8
La matriz inversa
0.2931 0.2414 0.1552
1
A 0.1724 0.0345 0.3793
0.0345
0.2069 0.2759

Ing. Luis Rodrguez Ojeda, MSc.

ANLISIS NUMRICO

ICM ESPOL

3.4.6 Funciones Especiales de MATLAB para Normas y Nmero de


Condicin
Clculo de normas de vectores y matrices en MATLAB
Sea a un vector o una matriz
norm(a, 1)
norm(a, inf)
cond(a, 1)
cond(a, inf)

para obtener la norma 1 (norma de columna)


para obtener la norma infinito (norma de fila)
nmero de condicin con la norma 1
nmero de condicin con la norma infinito

2 3.01
Ejemplo. Calcule el nmero de condicin de la matriz A
6
4
Escribimos en la pantalla de comandos de MATLAB:
>> a=[2, 3.01; 4, 6];
>> norm(a,inf)
ans =
10
>> inv(a)
ans =
-150.0000 75.2500
100.0000 -50.0000

(Matriz)
(Norma de fila

>> cond(a,inf)
ans =
2.2525e+003

(Calcular el nmero de condicin)

(Obtencin de la inversa)

(Matriz muy mal condicionada)

Ing. Luis Rodrguez Ojeda, MSc.

You might also like