Análisis de Errores y Normas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

10.

3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 297

porcionalidad que da el valor de x1 correspondiente a una cantidad unitaria b1. Este


resultado es independiente de los efectos de b2 y b3 sobre x1, los cuales se reflejan en los
coeficientes a12–1 y a13–1, respectivamente. Por lo tanto, se llega a la conclusión general de
que el elemento aij–1 de la matriz inversa representa el valor de xi debido a la cantidad uni-
taria bj. Usando el ejemplo de la estructura, el elemento aij–1 de la matriz inversa represen-
taría la fuerza en el miembro i debida a una fuerza unitaria externa en el nodo j. Incluso
para sistemas pequeños, dicho comportamiento de interacciones estímulo-respuesta indi-
viduales podría no ser intuitivamente obvio. Como tal, la matriz inversa ofrece una pode-
rosa técnica para comprender las interrelaciones entre las partes componentes de sistemas
complicados. Este poder se demostrará en las secciones 12.1 y 12.2.

10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA

Además de sus aplicaciones a la ingeniería, la inversa también proporciona un medio


para determinar si los sistemas están mal condicionados. Están disponibles tres métodos
para este propósito:
1. Escalar la matriz de coeficientes [A], de manera que el elemento más grande en cada
renglón sea 1. Se invierte la matriz escalada, y si existen elementos de [A]–1 que
sean varios órdenes de magnitud mayores que uno, es posible que el sistema esté
mal condicionado (véase el cuadro 10.1).
2. Multiplicar la inversa por la matriz de coeficientes original y estimar si el resultado
es lo suficientemente cercano a la matriz identidad. Si no es así, esto indica que el
sistema está mal condicionado.

Cuadro 10.1 Interpretación de los elementos de la matriz inversa


como una medida de mal condicionamiento

Un método para determinar la condición de un sistema consiste Restando la ecuación (C10.1.2) de (C10.1.1) resulta
en escalar [A] de tal forma que el elemento mayor en cada renglón
sea 1 y después calcular [A]–1. Si los elementos de [A]–1 son
varios órdenes de magnitud mayores que los elementos de la { ~
{R} = [A] {X} – {X } }
matriz escalada original, es probable que el sistema esté mal
Multiplicando ambos lados de esta ecuación por [A]–1 se obtiene
condicionado.
Se puede obtener cierto conocimiento con este método al ~
{X} – {X} = [A]–1{R}
recordar que una forma de verificar si una solución aproximada
{X} es aceptable, es sustituyéndola en las ecuaciones originales Este resultado indica por qué la verificación de una solución por
y observar si resultan las constantes originales del lado derecho. sustitución puede ser engañosa. Para casos donde los elementos
Esto equivale a de [A]–1 son grandes, una pequeña discrepancia en el residuo {R}
~
~ del lado derecho, puede corresponder a un gran error {X} – {X}
{R} = {B} – [A]{X} (C10.1.1) en el valor calculado de las incógnitas. En otras palabras, un
donde {R} es el residuo entre las constantes del lado derecho y residuo pequeño no garantiza una solución exacta. Aunque,
~ puede concluirse que si el elemento mayor de [A]–1 es de un
los valores calculados con la solución {X}. Si {R} es pequeño,
~ orden de magnitud unitaria, se puede considerar que el sistema
se concluye que los valores de {X} son adecuados. Suponiendo
que {X} es la solución exacta que da un residuo cero, entonces está bien condicionado. De modo contrario, si [A]–1 contiene
elementos mucho más grandes que la unidad se concluye que el
{0} = {B} – [A]{X} (C10.1.2) sistema está mal condicionado.
298 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES

3. Invertir la matriz inversa y estimar si el resultado está lo suficientemente cercano


a la matriz de coeficientes original. Si no es así, esto de nueva cuenta indica que el
sistema está mal condicionado.

Aunque estos métodos llegan a indicar un mal condicionamiento, sería preferible


obtener un solo número (al igual que el número de condición de la sección 4.2.3) que
sirviera como un indicador del problema. Los intentos que se han hecho para formular tal
número de condición matricial están basados en el concepto matemático de la norma.

10.3.1 Normas vectoriales y matriciales


Una norma es una función que toma valores reales y que proporciona una medida del
tamaño o “longitud” de entidades matemáticas multicomponentes, como los vectores y
las matrices (véase cuadro 10.2).
Un ejemplo simple es un vector en el espacio euclidiano tridimensional (figura 10.6)
que se representa como
[F] = [a b c]
donde a, b y c son las distancias a lo largo de los ejes x, y y z, respectivamente. La lon-
gitud de este vector [esto es, la distancia de la coordenada (0, 0, 0) a (a, b, c)] se calcula
simplemente como
F e
= a 2 + b2 + c2

donde la nomenclaturaFe indica que a esta longitud se refiere a la norma euclidiana


de [F].
En forma similar, para un vector n dimensional X = x1 x2 … xn, una norma eucli-
diana se calcularía como
n
Xe= ∑x
i =1
2
i

FIGURA 10.6
Representación gráfica de y
un vector F = [a b c] en b
el espacio euclidiano. 2
c
2
b
2
a
=
F
a
x

c
z
10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 299

Cuadro 10.2 Normas matriciales

Como se vio en esta sección, las normas euclidianas se emplean la cual define la norma como el elemento con el mayor valor
para cuantificar el tamaño de un vector, absoluto.
Utilizando un método similar, se pueden desarrollar normas
n para matrices. Por ejemplo,
Xe= ∑x 2
i
n


i =1
A 1 = máx aij
1≤ j ≤ n
i =1
o de una matriz,
Esto es, se realiza una sumatoria de los valores absolutos de los
n n
coeficientes para cada columna, y la mayor de estas sumatorias
Ae= ∑∑ ai =1 j =1
2
i, j se toma como la norma. Esto se conoce como la norma columna-
suma.
Una determinación similar se puede hacer para los renglones,
Para vectores, existen alternativas llamadas normas p que se
y resulta una matriz-uniforme o norma renglón-suma,
representan generalmente por
n

 n
p
1/ p
A = máx ∑ aij


X p
= xi  1≤ i ≤ n
j =1
 i =1 
Debe observarse que, en contraste con los vectores, la norma
Puede observarse que la norma euclidiana y la norma 2,X2,
2 y la norma euclidiana para una matriz no son lo mismo. Mien-
son idénticas para vectores.
tras que la norma euclidianaAe puede ser fácilmente determi-
Otros ejemplos importantes son
nada mediante la ecuación (10.24), la norma 2 para matricesA2
n se calcula así:
X1= ∑ xi
i =1
A2 = (µmáx)1/2
que representa la norma como la suma de los valores absolutos
donde µmáx es el mayor eigenvalor de [A]T[A]. En el capítulo 27
de los elementos. Otra es la norma magnitud-máxima o norma
se verá más sobre eigenvalores. Mientras tanto, el punto impor-
vector-uniforme.
tante es que la normaA2, o norma espectral, es la norma mí-
nima y, por lo tanto, proporciona la medida de tamaño más
X = máx xi
∞ 1≤ i ≤ n ajustada (Ortega, 1972).

El concepto puede extenderse además a una matriz [A], de la siguiente manera


n n
Ae= ∑∑ a
i =1 j =1
2
i, j (10.24)

a la cual se le da un nombre especial (la norma de Frobenius). De la misma manera


como las normas de vectores, proporciona un valor único para cuantificar el “tamaño”
de [A].
Debe notarse que hay alternativas para las normas euclidiana y de Frobenius (véase
cuadro 10.2). Por ejemplo, la norma vector uniforme se define como
X ∞
= máx xi
1≤i ≤n
300 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES

Es decir, el elemento con el mayor valor absoluto se toma como la medida del tamaño
del vector. En forma similar, una norma matricial uniforme o norma renglón-suma se
define como
n
A ∞
= máx
1≤i ≤n ∑
j =1
aij (10.25)

En este caso, se calcula la suma del valor absoluto de los elementos por cada renglón, y
la mayor de éstas se toma como la norma.
Aunque hay ventajas teóricas para el uso de ciertas normas, la elección algunas
veces está influenciada por consideraciones prácticas. Por ejemplo, la norma renglón-
uniforme es ampliamente usada por la facilidad con que se calcula, y por el hecho de
que usualmente proporciona una medida adecuada del tamaño de la matriz.

10.3.2 Número de condición de una matriz

Ahora que se ha presentado el concepto de norma, se puede usar para definir


Cond [A] =A·A–1 (10.26)

donde Cond [A] se llama número de condición de una matriz. Observe que para una
matriz [A], este número será mayor o igual a 1. Se puede mostrar (Ralston y Rabinowitz,
1978; Gerald y Wheatley, 1989) que

∆X ∆A
≤ Cond [ A]
X A

Es decir, el error relativo de la norma de la solución calculada puede ser tan grande como
el error relativo de la norma de los coeficientes de [A], multiplicada por el número de
condición. Por ejemplo, si los coeficientes de [A] se encuentran a t dígitos de precisión
(esto es, los errores de redondeo son del orden de 10 –t) y Cond [A] = 10c, la solución [X]
puede ser válida sólo para t – c dígitos (errores de redondeo ~ 10 c–t).

EJEMPLO 10.4 Evaluación de la condición de una matriz

Planteamiento del problema. La matriz de Hilbert, que es notoriamente mal condi-


cionada, se representa como

1 1/2 1/3 1/n 


1/2 1/3 1/4 1/( n + 1)
 
 ⋅ ⋅ ⋅ ⋅ 
 
 ⋅ ⋅ ⋅ ⋅ 
 ⋅ ⋅ ⋅ ⋅ 
 
1/n 1/( n + 1) 1/( n + 2 ) 1/(2 n) 
10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 301

Use la norma renglón-suma para estimar el número de condición de la matriz de Hilbert


de 3 × 3,

 1 1/2 1/3
[ A] = 1/2 1/3 1/4 
 
1/3 1/ 4 1/5

Solución. Primero, la matriz se normaliza de tal forma que el elemento máximo en


cada renglón sea 1.

1 1/2 1/3 
[ A] = 1 2/3 1/2 
1 3/4 3/5

Sumando cada uno de los renglones el resultado es 1.833, 2.1667 y 2.35. Entonces, el
tercer renglón tiene la suma mayor y la norma renglón-suma es

3 3
A ∞
= 1+
+ = 2.35
4 5
La inversa de la matriz escalada se calcula como

 9 −18 10 
[ A] =  −36 96 −60 
–1
 30 −90 60 

Observe que los elementos de esta matriz son mayores que los de la matriz original. Esto
también se refleja en su norma renglón-suma, la cual se calcula como

A∞ = –36 + 96 + –60 = 192

Entonces, el número de condición se calcula como

Cond [A] = 2.35(192) = 451.2

El hecho de que el número de condición sea considerablemente mayor que la unidad


sugiere que el sistema está mal condicionado. La importancia del mal condicionamiento
puede ser cuantificado al calcular c = log 451.2 = 2.65. Las computadoras que usan una
representación de punto flotante IEEE tienen aproximadamente t = log 2–24 = 7.2 dígitos
significativos en base 10 (recuerde la sección 3.4.1). Por lo tanto, la solución puede tener
errores de redondeo de hasta 10 (2.65–7.2) = 3 × 10–5. Observe que una estimación como
ésta casi siempre sobrepredice el error verdadero. Sin embargo, son útiles para alertar
al usuario en el caso de que los errores de redondeo puedan resultar significativos.
302 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES

En pocas palabras, el problema al usar la ecuación (10.26) es el precio computacio-


nal requerido para obtenerA–1. Rice (1983) indica algunas posibles estrategias para
reducir el problema. Además, él sugiere una forma alternativa para determinar la con-
dición del sistema: ejecute la misma solución en dos diferentes compiladores. Ya que los
códigos resultantes implementan en forma diferente la aritmética, el efecto de mal con-
dicio-namiento debería ser evidente en un experimento como ése. Por último, se debe
mencionar que los paquetes de software y las bibliotecas, como MATLAB y Mathcad,
tienen la capacidad para calcular en forma conveniente la condición de una matriz.
Revisaremos estas capacidades cuando se vean esos paquetes al final del capítulo 11.

10.3.3 Refinamiento iterativo


En algunos casos, los errores de redondeo se reducen con el siguiente procedimiento.
Suponga que se está resolviendo el siguiente sistema de ecuaciones:

a11x1 + al2x2 + a13x3 = b1


a21x1 + a22x2 + a23x3 = b2 (10.27)
a31x1 + a32x2 + a33x3 = b3

Se limitará el siguiente análisis a un sistema pequeño de (3 × 3). Aunque, este método se


puede generalizar para aplicarlo a sistemas de ecuaciones lineales más grandes.
~
Suponga que una solución aproximada en forma vectorial es {X}T = x~1 ~ x2 ~
x 3. Esta
solución se sustituye en la ecuación (10.27) para tener
~
a11~x 1 + al2~x 2 + a13~x 3 = b 1
~
a21~x 1 + a22~x 2 + a23~x 3 = b 2 (10.28)
~
a31~x 1 + a32~x 2 + a33~x 3 = b 3

Ahora, suponga que la solución exacta {X} está expresada como una función de la solu-
ción aproximada y de un vector de factores de corrección {∆X}, donde

x1 = ~x 1 + ∆x1
x2 = ~x 2 + ∆x2 (10.29)
x3 = ~x 3 + ∆x3
Estos resultados se sustituyen en la ecuación (10.27), para obtener el siguiente sistema:

a11(~x 1 + ∆x1) + al2(~x 2 + ∆x2) + a13(~x 3 + ∆x3) = b1


a21(~x 1 + ∆x1) + a22(~x 2 + ∆x2) + a23(~x 3 + ∆x3) = b2 (10.30)
a31(~x 1 + ∆x1) + a32(~x 2 + ∆x2) + a33(~x 3 + ∆x3) = b3

Ahora, la ecuación (10.28) se resta de la (10.30) para dar


~
a11∆x1 + al2∆x2 + a13∆x3 = b1 – b 1 = E1
~
a21∆x1 + a22∆x2 + a23∆x3 = b2 – b 2 = E2 (10.31)
~
a31∆x1 + a32∆x2 + a33∆x3 = b3 – b 3 = E3
PROBLEMAS 303

Así este sistema es un conjunto de ecuaciones lineales simultáneas que puede resolver-
se para obtener los factores de corrección. Dichos factores se aplican para mejorar la
solución, como lo especifica la ecuación (10.29).
Es relativamente sencillo agregar un procedimiento de refinamiento iterativo en los
programas de computadora para métodos de eliminación. Esto es especialmente efecti-
vo para los métodos de descomposición LU descritos antes, los cuales sirven para evaluar
en forma eficiente varios vectores del lado derecho. Observe que para ser efectivos en
sistemas mal condicionados, las E en la ecuación (10.31) deben expresarse en doble
precisión.

PROBLEMAS

10.1 Utilice las reglas de la multiplicación de matrices para 10.6 Utilice la descomposición LU para determinar la matriz in-
demostrar que las ecuaciones (10.7) y (10.8) se obtienen de la versa del sistema que sigue. No use una estrategia de pivoteo, y
(10.6). compruebe su resultado con la verificación de que [A][A]–1 = [I].
10.2 a) Use la eliminación simple de Gauss para descomponer
el sistema siguiente, de acuerdo con la descripción de la sección 10x1 + 2x2 – x3 = 27
10.1.2. –3x1 – 6x2 – 2x3 = –61.5
x1 + x2 + 5x3 = –21.5
10x1 + 2x2 – x3 = 27
–3x1 – 6x2 + 2x3 = –61.5 10.7 Ejecute la descomposición de Crout sobre el sistema
x1 + x2 – 5x3 = –21.5
2x1 – 6x2 + x3 = 12
–x1 + 7x2 – x3 = –8
Después, multiplique las matrices[L] y [U] resultantes para de-
x1 – 3x2 + 2x3 = 16
mostrar que se genera [A]. b) Emplee la descomposición LU para
resolver el sistema. Realice todos los pasos del cálculo. c) Tam-
Después, multiplique las matrices [L] y [U] resultantes para
bién resuelva el sistema para un vector alternativo del lado de-
determinar que se produce [A].
recho: {B}T = [12 18 –6].
10.8 El sistema de ecuaciones que sigue está diseñado para
10.3
determinar concentraciones (las c están en g/m3) en una serie de
a) Resuelva el sistema de ecuaciones siguiente por medio de
reactores acoplados, como función de la cantidad de masa que
la descomposición LU sin pivoteo.
entra a cada uno de ellos (los lados derechos están en g/día),
8x1 + 4x2 – x3 = 11 15c1 – 3c2 – c3 = 3 800
–2x1 + 5x2 + x3 = 4 –3c1 + 18c2 – 6c3 = 1 200
2x1 – x2 + 6x3 = 7 –4c1 – c2 + 12c3 = 2 350

b) Determine la matriz inversa. Compruebe sus resultados por a) Determine la matriz inversa.
medio de verificar que [A][A]–1 = [I]. b) Use la inversa para encontrar la solución.
10.4 Resuelva el sistema de ecuaciones siguiente por medio de c) Determine cuánto debe incrementarse la tasa de masa de
la descomposición LU con pivoteo parcial: entrada al reactor 3 para inducir un aumento de 10 g/m3 en
la concentración del reactor 1.
2x1 – 6x2 – x3 = –38 d) ¿Cuánto se reduciría la concentración en el reactor 3 si la
–3x1 – x2 + 7x3 = –34 tasa de masa de entrada a los reactores 1 y 2 se redujera en
–8x1 + x2 – 2x3 = –20 500 y 250 g/día, respectivamente?
10.9 Determine Ae,A1 yA∞ para
10.5 Determine los flops totales como función del número de  8 2 –10 
ecuaciones n para las fases de a) descomposición, b) sustitución
[ A] =  –9 1 3 
hacia adelante, y c) sustitución hacia atrás, de la versión de la  
descomposición LU de la eliminación de Gauss. 15 −1 6 
304 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES

Escale la matriz haciendo que el máximo elemento de cada 10.17 Use técnicas iterativas de refinamiento para mejorar x1 =
renglón sea igual a uno. 2, x2 = –3 y x3 = 8, que son las soluciones aproximadas de
10.10 Determine las normas Euclidiana y de renglón-suma para
2x1 + 5x2 + x3 = –5
los sistemas de los problemas 10.3 y 10.4. Escale las matrices
por medio de hacer que el elemento más grande de cada renglón 6x1 + 2x2 + x3 = 12
sea igual a uno. x1 + 2x2 + x3 = 3
10.11 Una matriz [A] está definida como sigue 10.18 Considere los vectores siguientes:
 0.125 0.25 0.5 1 A = 2i − 3 j + a k
 0.015625 0.625 0.25 1
[ A] =   B = bi + j − 4k
 0.00463 0..02777 0.16667 1
 0.001953 0.015625 0.125 1 C = 3i + c j + 2 k
 
Con el uso de la norma renglón-suma, calcule el número de El vector A es perpendicular al B y al C . También se sabe que
condición y cuántos dígitos sospechosos se generarían con esta B ⋅ C = 2. Use cualquier método de los estudiados en este capí-
matriz. tulo para resolver las tres incógnitas, a, b y c.
10.12 a) Determine el número de condición para el sistema si- 10.19 Considere los vectores siguientes:
guiente por medio de la norma renglón-suma. No normalice el A = ai + b j + c k
sistema.
B = −2 i + j − 4 k
 1 4 9 16 25 
C = i + 3 j + 2k
 4 9 16 25 36 
  donde A es un vector desconocido. Si
 9 16 25 36 49
16 25 36 49 ( A × B) + ( A × C ) = (5a + 6) i + (3 b − 2) j + ( −4c + 1)k
 64 
 25 36 49 64 1 
81 use cualquier método de los que aprendió en este capítulo para
resolver para las tres incógnitas, a, b y c.
¿Cuántos dígitos de precisión se perderían debido a la condición 10.20 Deje que la función esté definida en el intervalo [0, 2]
anómala? b) Repita el inciso a), pero escale la matriz por medio como sigue:
de hacer el elemento más grande de cada renglón igual a uno.  ax + b , 0 ≤ x ≤ 1
10.13 Determine el número de condición con base en la norma f (x ) = 
 cx + d , 1 ≤ x ≤ 2
renglón-suma para la matriz de Hilbert normalizada de 5 × 5.
Determine las constantes a, b, c y d, de modo que la función f
¿Cuántos dígitos significativos de precisión se perderían debido
satisfaga lo siguiente:
a la condición anómala?
10.14 Además de la matriz de Hilbert, hay otras matrices que • f (0) = f (2) = 1.
son anómalas de modo inherente. Uno de esos casos es la matriz • f es continua en todo el intervalo.
de Vandermonde, que tiene la forma siguiente: • a + b = 4.
 x12 x1 1 Obtenga y resuelva un sistema de ecuaciones algebraicas lineales
 2  con una forma matricial idéntica a la ecuación (10.1).
 x2 x 2 1
 x32 10.21
x3 1
a) Cree una matriz de Hilbert de 3 × 3. Ésta será la matriz [A].
a) Determine el número de condición con base en la norma Multiplique la matriz por el vector columna {x} = [1, 1, 1]T.
renglón-suma para el caso en que x1 = 4, x2 = 2, y x3 = 7. La solución de [A]{x} será otro vector columna {b}. Con
b) Emplee el software de MATLAB para calcular los números el uso de cualquier paquete numérico y la eliminación de
de condición espectral y de Frobenius. Gauss, encuentre la solución de [A]{x} = {b} por medio del
10.15 Desarrolle un programa amigable para el usuario para empleo de la matriz de Hilbert y el vector {b} que calculó.
hacer la descomposición LU con base en el seudocódigo de la Compare el resultado con su vector {x} conocido. Utilice
figura 10.2. precisión suficiente al mostrar los resultados con objeto de
10.16 Realice un programa amigable para el usuario para efec- permitir detectar imprecisiones.
tuar la descomposición LU, que incluya la capacidad de evaluar b) Repita el inciso a) con el uso de una matriz de Hilbert de 7 × 7.
la matriz inversa. Fundamente el programa en las figuras 10.2 y c) Repita el inciso a) con el uso de una matriz de Hilbert de
10.5. 10 × 10.

También podría gustarte