26
Cap´ ıtulo 5 Estabilidad 5.1. Aritm´ etica en punto flotante Recordamos en esta secci´on, muy brevemente, las ideas expuestas en la secci´on con este mismo nombre en el documento Pr´ acticas de An´ alisis Matricial. Una Introducci´ on a MATLAB. En primer lugar, los n´ umeros en punto flotante forman un subconjunto finito F de n´ umeros racionales. Este conjunto est´a formado por el 0 y los n´ umeros de la forma x “ ˘p1 ` f 2 e con 0 ď f ă 1 y e un n´ umero entero. La precisi´ on del conjunto F queda determinada por un n´ umero llamado ´ epsilon de la m´ aquina que denotaremos con el s´ ımbolo M , y cuyo valor es M 2 ´53 . 105

Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

Capıtulo 5

Estabilidad

5.1. Aritmetica en punto flotante

Recordamos en esta seccion, muy brevemente, las ideas expuestas en la seccioncon este mismo nombre en el documento Practicas de Analisis Matricial. UnaIntroduccion a MATLAB. En primer lugar, los numeros en punto flotante formanun subconjunto finito F de numeros racionales. Este conjunto esta formado por el 0y los numeros de la forma

x “ ˘p1` fq ¨ 2econ

0 ď f ă 1 y e un numero entero.

La precision del conjunto F queda determinada por un numero llamado epsilonde la maquina que denotaremos con el sımbolo εM , y cuyo valor es

εM “ 2´53.

105

Page 2: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

106 Estabilidad

Este numero esta muy relacionado con el error de redondeo al aproximar los numerosreales al numero en F mas proximo. Especıficamente, si flpxq es el numero de F masproximo a x P R, x ‰ 0, entonces

| flpxq ´ x||x| ď 2´53 “ εM . (5.1)

En algunos casos, como MATLAB, se toma como εM el doble de este valor; es decir,2´52. Este numero es la distancia de 1 al siguiente numero en punto flotante. Dehecho, en el intervalo r1, 2s los numeros en punto flotante son equidistantes y ladistancia entre dos de ellos es precisamente este numero: 2´52.

La desigualdad (5.1) se puede escribir como

| flpxq ´ x| ď εM |x|,en la que se puede incluir x “ 0. A su vez, esta desigualdad permite establecer lasiguiente norma que relaciona los numeros reales y los de F:

Primer axioma para F

Para cada x P R hay un ε con |ε| ď εM tal que

flpxq “ xp1` εq. (5.2)

En un ordenador, todos los calculos matematicos se reducen a ciertas operacionesaritmeticas elementales, de las cuales las clasicas son `, ´, ˆ, y ˜. Estos sımbolosrepresentan operaciones en R. En un ordenador tenemos operaciones similares enF. Habitualmente estas operaciones aritmeticas con numeros en punto flotante serepresentan con los sımbolos ‘, a, b y c, y en la practica son implementadasmediante software.

Respecto de estas operaciones es razonable desear que los ordenadores se cons-truyeran siguiendo el siguiente principio: si x, y son numeros en punto flotante (i.e.,x, y PF), ˚ representa una de las operaciones `, ´, ˆ, o ˜, y si f la operacioncorrespondiente en punto flotante, entonces xf y debe ser exactamente:

xf y “ flpx ˚ yq (5.3)

Si se cumple esta condicion, por (5.2) y (5.3), podemos concluir que el ordenadortiene la siguiente importante propiedad:

Page 3: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.1 Aritmetica en punto flotante 107

Axioma fundamental de la aritmetica en punto flotante

Para todo x, y P F, existe ε con |ε| ď εM tal que

xf y “ px ˚ yqp1` εq (5.4)

Recordemos que si x P R y flpxq es el valor aproximado de x en punto flotante,el error relativo al aproximar x por flpxq es

| flpxq ´ x||x| .

Por lo tanto, el axioma fundamental de la aritmetica en punto flotante dice que elerror relativo en cada operacion de la aritmetica en punto flotante es a lo mas εM .

El analisis del error de las operaciones con numeros en punto flotante esta basadoen las condiciones (5.2) y (5.4) para valores de εM que no tienen por que ser 2´53.Ası nuestro analisis incluira, por ejemplo, ordenadores o calculadoras que en vez deredondeo utilizan truncamiento para aproximar un numero real por el mas proximoen punto flotante. En estos casos, el error relativo al aproximar un numero real porel mas cercano, truncando en vez de redondeamdo, es 2´52. En vez de pensar en εMcomo un valor fijo, pensaremos en εM de un ordenador o calculadora como el menornumero para el que se cumplen las condiciones (5.2) y (5.4) en ese aparato.

Durante mucho tiempo, y hoy todavıa en algunos libros, se define el epsilon de lamaquina como la distancia de 1 al siguiente numero en punto flotante en el sistemaF de dicha maquina. Hoy en dıa, sin embargo, se prefiere la definicion dada masarriba por ser mas independiente del ordenador concreto o sistema F que este utili-zando. Para la mayor parte de los ordenadores, incluyendo todos los que utilizan laaritmetica del estandar IEEE, ambas definiciones de εM producen, aproximadamen-te, el mismo valor: en aritmetica decimal 2´52 y 2´53 son ambos del orden de 10´16.En ocasiones, sin embargo, puede ser necesario un valor grande de εM para que secumplan las condiciones (5.2) y (5.4). En 1994 se descubrio en los microprocesadoresIntel Pentium un error en la tabla que usaban para implementar el estandar IEEEde doble precision; su precision efectiva resulto ser de, aproximadamente, 6,1ˆ10´5,1011 veces menor que la supuestamente deseada. Por supuesto, el error fue corregidomuy pronto. Pero hay mas ejemplos. La operacion de restar en punto flotante en losordenadores Cray que se produjeron hasta mediados de la decada de 1990 necesitabaun εM “ 1para que se cumpliera (5.4). Esto era debido a que la substraccion se reali-zaba sin lo que se llama el dıgito de guardia. Este concepto se entiende mejor con un

Page 4: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

108 Estabilidad

ejemplo. Supongamos que F es el conjunto de numeros en punto flotante represen-tados en base 2 y con 3 posiciones en la fraccion (no importa el rango del exponentepara este ejemplo). Supongamos que queremos restar a 1 el anterior numero de F.Este numero es 0,111. Escribimos estos numeros en forma normalizada

1 Ñ 0,100ˆ 21

0,111 Ñ 0,111ˆ 20,

y los restamos

0,100ˆ 21

´0,111ˆ 20 Ñ 0,100 ˆ 21

´0,0111ˆ 21

0,0001ˆ 21 “ 0,100ˆ 2´2

Observamos, en primer lugar, que la respuesta es correcta: en notacion decimal, losnumeros positivos de F son 0, 2´3, 2 ¨ 2´3, 3 ¨ 2´3, . . . , 7 ¨ 2´3, 1. Es decir, la diferenciaentre 1 y su anterior numero en F es 2´3 “ 0,100ˆ 2´2. En segundo lugar, al pasarde representar 0, 111 como ´0,111 ˆ 20 a 0,0001 ˆ 21 hemos introducido un cuartodıgito en la fraccion. Este es el dıgito de guardia. Si no lo hubieramos hecho ası laoperacion habrıa sido como sigue:

0,100ˆ 21

´0,111ˆ 20 Ñ 0,100ˆ 21

´0,011ˆ 21

0,001ˆ 21 “ 0,100ˆ 2´1

¡El error relativo de esta respuesta es 1!:

|2´2 ´ 2´3||2´3| “ 1.

Recordemos que para los antiguos ordenadores Cray εM “ 1. Estas maquinas no soninutiles pero el analisis del error debe ser diferente del que nosotros haremos. Afor-tunadamente el axioma (5.4) y la adopcion del estandar IEEE para la aritmetica depunto flotante han sido ampliamente admitidos por los productores de ordenadores;y desde 1996 todos los ordenadores personales compatibles IBM y todas las esta-ciones de trabajo producidas por SUN, DEC, HP e IBM implementan el estandarIEEE que se expuso en el documento Practicas de Analisis Matricial. UnaIntroduccion a MATLAB.

Page 5: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.2 Estabilidad de los algoritmos 109

5.2. Estabilidad de los algoritmos

Serıa bueno que los algoritmos numericos proporcionaran respuestas exactas alos problemas numericos, pero como los numeros reales forman un continuo y losordenadores solo pueden utilizar un numero finito de numeros racionales, ese objetivoes, en general, imposible de alcanzar. La nocion de estabilidad es la forma estandarde caracterizar lo que es posible; lo que los analistas numericos consideran que es la“respuesta correcta” aunque no sea la exacta.

En la Leccion anterior definimos un problema como una funcion f : X Ñ Yentre dos espacios vectoriales; uno de datos, X, y otro de soluciones, Y . Un algorit-mo tambien puede verse como una funcion f : X Ñ Y entre los mismos espaciosvectoriales. Pero la definicion es un poco mas complicada: Supongamos que nos danlos siguientes datos:

un problema f : X Ñ Y ,

un ordenador cuyo sistema en punto flotante cumple (5.4) ,

un algoritmo para f en el sentido intuitivo del termino (una serie de mandatosimplementables en el ordenador con el objetivo de resolver f), y

una implementacion de este algoritmo en la forma de un programa para elordenador.

Dado un dato x P X, sea flpxq el valor redondeado de x en el sistema de puntoflotante de forma que se verifique (5.2), y proporcionemos este valor, flpxq, comoentrada al programa del ordenador. El resultado es una coleccion de numeros enpunto flotante que estan en Y . El resultado obtenido es fpxq.

Realmente esta definicion no parece tener demasiado sentido. Para empezar fpxqestara afectada por errores de redondeo; y, dependiendo de las situaciones, puedeverse afectada por todo tipo de circunstancias, como tolerancias para que hayaconvergencia o, incluso, otras tareas que pueda estar realizando el ordenador cuandose corre el programa. Esta “funcion” fpxq puede tomar diferentes valores de una aotra ejecucion del programa. En fin, todas estas complicaciones pueden hacernospensar que no merece la pena intentar definir un algoritmo como una “funcion”.Ası y todo, hablar de fpxq como una funcion es conveniente y sobre ella se pueden

Page 6: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

110 Estabilidad

establecer unos cuantos resultados que permiten un mejor analisis de la exactitudde los algoritmos de Algebra Lineal Numerica; y todo ello basado exclusivamente enlos axiomas fundamentales (5.2) y (5.4).

El sımbolo ˜ es una notacion que usaremos para expresar la cantidad calculadapor el ordenador. Por ejemplo, la cantidad calculada por un ordenador cuyo sistemade aritmetica en punto flotante cumpla los axiomas (5.2) y (5.4) del sistema linealAx “ b sera denotada por x.

Lo mas importante que podemos pedir a un buen algoritmo es que nos pro-porcione una buena aproximacion al problema asociado f . Para precisar esta idea,consideremos el error absoluto del calculo para un dato dado x, }fpxq ´ fpxq}, o elerror relativo

}fpxq ´ fpxq}}fpxq} ,

que sera nuestra mediada habitual del error. Si f es un buen algoritmo, se podrıaesperar un error relativo pequeno, del orden del εM . Se podrıa decir que un algoritmof para un problema f es preciso, si para cada x P X

}fpxq ´ fpxq}}fpxq} “ OpεMq. (5.5)

Hablando vagamente, el sımbolo OpεMq significa “del orden del epsilon de la maqui-na”. Sin embargo, OpεMq tiene un significado preciso. Recordemoslo. La notacion

ϕptq “ Opφptqq

es estandar en matematicas y significa que existe una constante positiva C tal que,para t suficientemente proximo a un lımite sobreentendido (como, por ejemplo tÑ 0o tÑ 8),

|ϕptq| ď C|φptq|.Ası, sen2ptq “ Opt2q para t Ñ 0 porque existe una constante C tal que | sen2ptq| ďC|t2| para t suficientemente pequeno como lo atestigua el desarrollo en serie deTaylor de sen2ptq.

Tambien es estandar en matematicas la expresion

ϕps, tq “ Opφptqq uniformemente en s,

Page 7: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.2 Estabilidad de los algoritmos 111

para indicar que existe una constante C tal que

|ϕpt, sq| ď C|φptq|para todo s. Ası, por ejemplo,

psen2 tqpsen2 sq “ Opt2qcuando tÑ 0, pero la “uniformidad” se pierde si reemplazamos sen2 s por s2.

Aquı el uso de “O” sigue estos mismos criterios. Ası, para un problema dadof y un algoritmo f para este problema, el resultado de aplicar el algoritmo a undato x P X, depende tanto de x como del epsilon de la maquina, εM , respecto delque se realizan los redondeos. La expresion (5.5) indica que existe una constante Ctal que el error relativo esta acotado por CεM uniformemente para todo x P X ypara εM Ñ 0. Rara vez se menciona la uniformidad respecto de x; debe darse porsobreentendida.

En realidad εM es una cantidad fija para cada maquina. Cuando decimos queεM Ñ 0 estamos pensando en una idealizacion de los ordenadores. La ecuacion (5.5)significa que si corrieramos el algoritmo f en unos ordenadores que satisfacen lascondiciones (5.2) y (5.4) para una secuencia de valores de εM que converge a cero,entonces

}fpxq ´ fpxq}}fpxq} ,

convergerıa a cero a la misma velocidad, al menos, que εM .

Volviendo ahora a la precision de los algoritmos, si el problema f esta mal con-dicionado para algun x, el objetivo de precision definido por (5.5) es poco razonableporque el redondeo de los datos es inevitable en un ordenador digital. Incluso sitodos los calculos posteriores fueran hechos exactamente, esa perturbacion inicial enlos datos producirıa grandes cambios (en terminos relativos) en los resultados. Enlugar de intentar la precision en todos los casos, a lo mas a lo que podemos aspirar,en general, es a la estabilidad.

Definicion 5.1 Un algoritmo f para un problema f se dice que es estable si paracada x P X existe x para el que

}x´ x}}x} “ OpεMq

Page 8: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

112 Estabilidad

y}fpxq ´ fpxq}

}fpxq} “ OpεMq. (5.6)

En palabras

Un algoritmo estable es el que produce una respuesta casi correctaa una pregunta casi correcta.

El concepto de estabilidad tiene diferentes significados en otras partes del analisisnumericos. La definicion que acabamos de dar es buena para analizar los algoritmospropios del Algebra Lineal Numerica, pero puede no ser apropiada para otras areas,como las ecuaciones diferenciales.

Muchos algoritmos de Algebra Lineal Numerica satisfacen una condicion de es-tabilidad que es a la vez mas fuerte y mas sencilla:

Definicion 5.2 Un algoritmo f para un problema f se dice que es estable haciaatras (backward stable) si para cada x P X existe x para el que

}x´ x}}x} “ OpεMq

yfpxq “ fpxq.

La condicion de estabilidad hacia atras es mas fuerte que la de estabilidad dadaen la Definicion 5.1 porque el Opεmq de la condicion (5.6) ha sido sustituıdo por 0.En palabras:

Un algoritmo estable hacia atras es el que produce una respuestacorrecta a una pregunta casi correcta.

O dicho de otra forma: un algoritmo es estable hacia atras si al ser aplicado aunos datos exactos produce el mismo resultado que si se resolviera exactamente elproblema con unos datos aproximados. El error relativo en estos datos aproximadosdebe ser del orden OpεMq.

Page 9: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.2 Estabilidad de los algoritmos 113

Antes de ver algunos ejemplos generales de algoritmos estables, quiza sea ilus-trativo estudiar lo que significa la estabilidad hacia atras con un ejemplo numerico.

Ejemplo 5.3 Supongamos que queremos reducir la matriz

A “„

3,000 2,0001,000 2,000

a forma triangular superior mediante operaciones elementales. Este es el principiodel algoritmo de eliminacion gaussiana para luego resolver el sistema correspondientemediante sustitucion hacia atras. Lo haremos usando aritmetica decimal de cuatrodıgitos en la fraccion. ¿Que significa esto? Es importante aclararlo para saber hacerlas operaciones. Al hablar de aritmetica decimal nos referimos a que la base denumeracion es 10. Y al decir que la fraccion es de cuatro dıgitos queremos decir quetodos los numeros se aproximan por redondeo a uno de la forma

˘f ¨ 10e, f “ 0.x1x2x3x4, 0 ď xi ď 9

Ası, los numeros en el intervalo r1, 10q en este sistema serıan (en forma no normali-zada pero facilmente normalizable)

1 1,001 1,002 ¨ ¨ ¨ 1,998 1,9992 2,001 2,002 ¨ ¨ ¨ 2,998 2,999...

...... ¨ ¨ ¨ ...

...9 9,001 9,002 ¨ ¨ ¨ 9,998 9,999

Y los numeros en el intervalo r10j, 10j`1q se obtienen al multiplicar cada uno delos numeros de esta tabla por 10j, mine ď j ď maxe, siendo mine y maxe losvalores mınimo y maximo asignados a e (que no vamos a especificar porque no losnecesitaremos en nuestro calculo, pero que se puede pensar que son tan pequeno ygrande, respectivamente, como se necesite).

En este sistema tomando, como es habitual salvo que tengamos otra referencia,εM como la distancia de 1 al siguiente numero en punto flotante 1,001, resulta que

εM “ 10´3. (5.7)

Y, al operar, cualquier resultado obtenido que sea menor que εM podra ser conside-rado como cero. Por supuesto, si mine ă ´3 hay numeros menores que εM que son

Page 10: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

114 Estabilidad

representables en este sistema y no son cero. Lo que se quiere decir es que si al hacer,digamos, una resta el resultado es menor que εM , el numero sera redondeado a cero.Esto es una practica habitual en los ordenadores en los procesos cuyo objetivo esconverger a cero o hacer cero ciertas cantidades mediante operaciones. En ocasio-nes, estos ceros no son absolutos y se redondea a cero cuando dichas cantidades sonmenores que un cierto valor que se suele llamar tolerancia. Ası, en el sistema elegidola diferencia 1´ 0,9999 se tendrıa que hacer con el dıgito de guardia:

0,1000ˆ 101

´0,9999ˆ 100 Ñ 0,1000 ˆ 101

´0,09999ˆ 101

0,00001ˆ 101 “ 0,1000ˆ 10´3

que serıa considerado como 0, 000 (si esta fuera la aritmetica de MATLAB, el numeroque presentarıa en pantalla serıa 0, 0000) .

Volviendo a la matriz A, notamos que ya la hemos escrito en el sistema aritmeticoespecificado mas arriba, aunque los numeros no estan normalizados.

La unica operacion que tenemos que hacer es restar a la segunda fila la primeramultiplicada por 1{3, pero con la aritmetica que estamos utilizando:

m21 “ a21{a11 “ flp1,000{3,000q “ 0,3333 (o 3,333 ¨ 10´1 en forma normalizada)

Si sumamos a la segunda fila de A la primera multiplicada por m21 tenemos que siA1 “ ra1ijs representa la matriz obtenida entonces

a121 “ flp1,000´ 0,3333ˆ 3,000q “ flp1,000´ 0,9999q “ 0,000,

tal y como hemos visto mas arriba. Y

a122 “ flp2,000´ 0,3333ˆ 2,000q “ flp2,000´ 0,6666q “ flp1,3334q “ 1,333

Ası

A1 “ˆ

1,000 2,0000 1,333

˙

El objetivo es encontrar una matriz A que al hacer esta misma operacion enaritmetica exacta nos de como resultado A1. Procediendo paso a paso con tododetalle, escogemos

a21 “ 0,9999,

Page 11: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.2 Estabilidad de los algoritmos 115

Ası, exactamentem21 “ a21{a11 “ 0,9999{3,000 “ 0,3333.

ya21 ´m21a11 “ 0

exactamente. Ahora debemos escoger a22 de forma que

a22 ´m21a12 “ 1,333

exactamente. Es decir,

a22 “ 1,333` 0,3333 ¨ 2 “ 1,9996

La matriz A deseada es

A “„

3 20,9999 1,9996

En sımbolosfpAq “ fpAq.

Para que el algoritmo sea estable haca atras debe ser

}A´ A}}A} “ OpεMq

Como todas las normas son equivalentes basta que lo veamos en una de ellas. Esco-gemos, por sencillez, la norma `8 vectorial; i.e. }A} “ max1ďi,jď2 |aij|. Ası, como

A´ A “ˆ

0 010´4 4 ¨ 10´4

˙

resulta que }A´ A} “ 4 ¨ 10´4 y }A} “ 3. Por lo tanto

}A´ A}}A} “ 4

310´4 “ OpεMq

tal y como se deseaba mostrar.

En todos los ejemplos numericos de esta leccion asumiremos que la maquinasobre la que los hacemos opera con la aritmetica que acabamos de decir y, que comoconsecuencia, su epsilon es el de (5.7).

Page 12: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

116 Estabilidad

5.3. Ejemplos de algoritmos estables

Veremos en esta seccion tres ejemplos de algoritmos estables hacia atras y unoque es estable pero no lo es hacia atras.

5.3.1. Estabilidad de las operaciones aritmeticas elementa-les

Comencemos con las cuatro operaciones aritmeticas elementales: `, ´, ˆ, ˜.No hay mucho que decir sobre la posibilidad de elegir algoritmos para realizarlas:vienen implıcitas en los ordenadores que las implementas con las operaciones ‘, a,b y c, respectivamente. En un ordenador que satisfaga los axiomas (5.2) y (5.4) losalgoritmos implıcitos son estables hacia atras. Lo mostraremos con la resta, que esla operacion mas susceptible de inestabilidad.

En este caso X “ R2 y Y “ R (en seccion supondremos que la aritmetica sehace con numeros reales). Para px1, x2q P X, fpx1, x2q “ x1 ´ x2 es el problema aresolver y el algoritmo es

fpx1, x2q “ flpx1q a flpx2q. (5.8)

Hagamos primero un ejemplo en aritmetica decimal de punto flotante con 4dıgitos en la fraccion. Sea x1 “ π y x2 “

?2{2. Entonces

flpx1q “ 3,142, flpx2q “ 0,7071 “ 7,071 ¨ 10´1

y utilizando el dıgito de guardia:

flpx1q ´ flpx2q “ 2,4349.

Es decir,

flpx1q a flpx2q “ 2,435.

Tomando, por ejemplo, x1 “ 3,142 y x2 “ 0,7070 tenemos que

x1 ´ x2 “ 2,435

Page 13: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.3 Ejemplos de algoritmos estables 117

en aritmetica exacta y el error de esta aproximacion es

|x1 ´ x1||x1| ď 1,3 ¨ 10´4,

|x2 ´ x2||x2| ď 1,6 ¨ 10´4

ambos del orden de εM , (5.7).

Procedamos a ver que lo que nos indica este ejemplo es verdad en general. Enprimer lugar la condicion (5.8) significa que primero redondeamos x1 y x2 a susvalores mas proximos en punto flotante y luego realizamos la operacion a. Por (5.2)

flpx1q “ x1p1` ε1q, flpx2q “ x2p1` ε2qpara algunos |ε1|, |ε2| ď εM . Y por (5.4)

flpx1q a flpx2q “ pflpx1q ´ flpx2qqp1` ε3qpara algun |ε3| ă εM . Combinando estas dos ecuaciones

flpx1q a flpx2q “ rx1p1` ε1q ´ x2p1` ε2qsp1` ε3q ““ x1p1` ε1qp1` ε3q ´ x2p1` ε2qp1` ε3q ““ x1p1` ε1 ` ε3 ` ε1ε3q ´ x2p1` ε2 ` ε3 ` ε2ε3q

Pongamos

x1 “ x1p1` ε1 ` ε3 ` ε1ε3q, x2 “ x2p1` ε2 ` ε3 ` ε2ε3q.Tenemos que

|x1 ´ x1||x1| ď |ε1| ` |ε3| ` |ε1||ε3| ď 2εM ` ε2M .

Para εM suficientemente pequeno ε2M ď εM por lo que

|x1 ´ x1||x1| “ OpεMq.

Y de la misma manera |x2 ´ x2||x2| “ OpεMq.

Esto significa que fpxq “ flpx1q a flpx2q “ x1 ´ x2 “ fpxq con

}x´ x}8}x}8 “ OpεMq

Pero como todas las normas en F2 son equivalentes podemos sustituir la norma `8por cualquier norma. Por lo tanto se verifica la condicion de estabilidad hacia atrasde la Definicion 5.2.

Page 14: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

118 Estabilidad

Observaciones 5.4 En el analisis de la estabilidad hacia atras aparecen muy amenudo expresiones de la forma

p1` ε1qp1` ε2q ¨ . . . ¨ p1` εnqpara algun valor de n. De hecho, en el analisis recien realizado para la resta hemosvisto que

p1` ε1qp1` ε2q ď 1` 2εM `Opε2Mq.Y como, para εM ă 1 tenemos que ε2M ď εM podrıamos poner

p1` ε1qp1` ε2q ď 3εM .

Pero en realidad tenemos una cota mucho mejor que nos la proporciona el siguienteresultado, que damos sin demostracion (ver Problema 4).

Proposicion 5.5 Si nεM ď 0,1 y para i “ 1, . . . , n |εi| ď εM , entonces

p1` ε1qp1` ε2q ¨ . . . ¨ p1` εnq “ 1` η (5.9)

con|η| ď 1,06nεM .

A la cantidadε1M “ 1,05εM

se le llama, a veces, unidad de redondeo ajustada.

La condicion nεM ď 0,1 puede parecer, si no se analiza de cerca, una suposicionbastante restrictiva. Pero no lo es en manera alguna. En efecto, un ordenador quetardara en realizar cada suma 1µsegundos=10´6 segundos con un εM “ 10´15 nece-sitarıa un n “ 1014 para que nεM ď 0,1. El tiempo que necesitarıa para realizar estenumero de sumas serıa

108 segundos “ 3,2 anos .

Como dice G. Stewart “no contengas la respiracion esperando que nεM sea mayorque 0,1”.

En consecuencia, ante una expresion de la forma (5.9) siempre escribiremos

p1` ε1qp1` ε2q ¨ . . . ¨ p1` εnq “ 1`OpεMq,o tambien, cuando queramos poner de manifiesto el numero de productos involucra-dos

p1` ε1qp1` ε2q ¨ . . . ¨ p1` εnq ď 1` nεM `Opε2Mq,interpretando que Opε2Mq es despreciable respecto a εM .

Page 15: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.3 Ejemplos de algoritmos estables 119

5.3.2. Producto escalar

Supongamos que nos dan dos vectores x, y P Rn y queremos calcular su productoescalar α “ xTy. El algoritmo obvio es calcular los productos xiyi con b y sumar losresultados con ‘. Todavıa quedarıa la cuestion del orden en el que se realiza estasuma; supongamos que es de izquierda a derecha. Es decir:

pppx1y1 ` x2y2q ` x3y3q ` ¨ ¨ ¨ q.Por sencillez supondremos que los vectores x, y ya estan redondeados; i.e. xi, yi PF,i “ 1, . . . , n (esto nos evita un “ε”para cada componente). Suponiendo que se veri-fican las condiciones (5.2) y (5.4) procederıamos de la siguiente forma:

s1 “ flpx1y1qx1 b y1 “ x1y1p1` ε1qcon |ε1| ă εM . De la misma forma

s2 “ flps1 ` x2y2q “ s1 ‘ px2 b y2q “ ps1 ` x2y2p1` ε22qqp1` ε2q ““ x1y1p1` ε1qp1` ε2q ` x2y2p1` ε22qp1` ε2q.

s3 “ flps2 ` x3y3q “ s2 ‘ px3 b y3q “ ps2 ` x3y3p1` ε33qqp1` ε3q ““ x1y1p1` ε1qp1` ε2qp1` ε3q ` x2y2p1` ε22qp1` ε2qp1` ε3q

`x3y3p1` ε33qp1` ε3q.con |ε2|, |ε3|, |ε22|, |ε33| ă εM . SE seguirıa ası sucesivamente hasta obtener la expre-sion de sn que serıa la representacion en punto flotante del producto escalar xTycuando se usa el orden fijado mas arriba. A fin de dar una expresion simplificadapara este numero haremos el siguiente convenio: p1˘ εqj sera una abreviatura pararepresentar el producto de j εs que pueden ser diferentes. Ası p1` ε1qp1` ε2qp1` ε3qlo abreviarıamos a p1˘ εq3, pero p1` ε22qp1` ε2qp1` ε3q tambien lo abreviarıamosa p1˘ εq3. Utilizando este convenio es facil ver que

sn “ x1y1p1˘ εqn ` x2y2p1˘ εqn ` x3y3p1˘ εqn´1 ` ¨ ¨ ¨ ` xnynp1˘ εq2.Usando ahora la Proposicion 5.5, tenemos

sn “ x1y1p1` ηnq ` x2y2p1` η1nq ` x3y3p1` ηn´1q ` ¨ ¨ ¨ ` xnynp1` η2qcon |ηi| ď 1, 06iεM i |η1n| ď 1, 06nεM .

Poniendo, por ejemplo, x1 “ x1p1` ηnq, x2 “ x2p1` η1nq, . . . , xn “ xnp1` η2q yyi “ yi, i “ 1, . . . , n (o al reves), tendrıamos que para i “ 1, . . . , n,

|xi ´ xi||xi| “ OpεMq, |yi ´ yi|

|yi| “ OpεMq

Page 16: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

120 Estabilidad

y fpxTyq “ xT y. Es decir, el resultado devuelto por el algoritmo es el resultadoexacto del producto escalar de dos vectores cuyas componentes difieren, en valorrelativo, del orden de εM de los vectores dados. En otra palabras, el algoritmo esestable hacia atras.

Un ejemplo numerico con n “ 2 es el siguiente: Sean

x “„

2{316{17

y “

„1{6

125{126

.

En un ordenador con aritmetica decimal de 4 dıgitos en la fraccion tendrıamos

flpflpx1q ¨ flpy1qq “ flp0,6667 ¨ 0,1667q “ 0,1111,

y

flpflpx2q ¨ flpy2qq “ flp0,9412 ¨ 0,9921q “ 0,9338.

Ası

flpflpflpx1q ¨ flpy1qq ` flpflpx2q ¨ flpy2qqq “ 1,045.

Hay muchas formas de escoger x y y para que xyT “ 1,045 y que el error relativosea del orden de εM “ 10´3. Por ejemplo, si ponemos

x1 “ 0,6666, y1 “ 0,1111

0,6666“ 1

6,

entonces

x1y1 “ 0,1111 y|x1 ´ x1||x1| “ 10´4,

|y1 ´ y1||y1| “ 0.

Y si ponemos

x2 “ 16

17y2 “ 0,9339 ¨ 17

16,

entonces

x2y2 “ 0,9339 y|x2 ´ x2||x2| “ 0,

|y1 ´ y1||y1| ď 2,07 ¨ 10´4.

Ademas

x1y1 ` x2y2 “ 1,045.

Page 17: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.3 Ejemplos de algoritmos estables 121

5.3.3. Producto exterior

Supongamos ahora que queremos calcular el producto exterior de dos vectores.Es decir, para x, y P Rn, la matriz A “ xyT que tiene rango 1. El algoritmo obviopara hacerlo es calcular cada uno de los productos

xiyj

y construir la matriz A cuyo elemento en la posicion pi, jq sea flpxiq b flpyjq. Estealgoritmo es estable porque por (5.2) y (5.4)

flpxiq b flpyjq “ xip1` εiqyjp1` εjqp1` εijqcon |εi|, |εj|, |εij| ď εM . Operando como mas arriba vemos que

flpxiq b flpyjq “ xiyjp1` ηq, |η| ď 3, 18εM ,

lo que indica que}aij ´ aij}}aij} “ OpεMq

siendo aij “ xiyj y aij “ flpxiqb flpyjq los elementos en la posicion pi, jq de A “ xyT

y A, respectivamente.

Por lo tanto}A´ A}8}A}8 “ OpεMq,

y esta expresion es valida para cualquier norma por la equivalencia de normas. Deacuerdo con la definicion de estabilidad de los algoritmos resulta que este algoritmoes estable.

Con los vectores x, y del ejemplo anterior

fpx, yq “ A “„

0,1111 0,66140,1569 0,9938

Si ponemos

x1 “ 0,6666, x2 “ 16

17, y1 “ 1

6, y2 “ 0,9338 ¨ 17

16resulta que, en aritmetica exacta,

fpx, yq “ xyT “„

0,1111 264550209{p4 ¨ 108q8{51 0,9338

.

Page 18: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

122 Estabilidad

Usando la norma espectral

}fpx, yq ´ fpx, yq}}fpx, yq} ď 1,183 ¨ 10´4

Sin embargo, el algoritmo no es estable hacia atras. La explicacion es la siguiente:La matriz calculada, A, es una pequena perturbacion de la matriz A “ “

xiyj‰

quetiene rango 1. Sabemos que el conjunto de las matrices de rango completo es unconjunto abierto y denso en Rnˆn. Esto significa que tan cerca como queramos deA hay matrices de rango superior a 1. Es muy probable que A sea una de talesmatrices. En efecto, para que A fuera de rango 1, se deberıa poder escribir como elproducto externo de dos vectores xyT con x y y proximos a x y y, respectivamente.Ahora bien al hacer el calculo de los elementos de la fila i de A, debemos multiplicaren aritmetica de punto flotante flpxiq b flpyjq, j “ 1, . . . , n, con los consiguientesredondeos. Aun suponiendo que xi, yi ya estan redondeados, tendrıamos:

xi b yj “ xiyjp1` εijqcon, posiblemente, εij diferentes para cada i, j. Es muy poco probable que, en estascircunstancias, xib yj “ xiyj para i, j “ 1, . . . , n. En otras palabras, muy probable-mente la matriz A tendra rango mayor que 1. Esto imposibilita que se pueda escribiren la forma xyT .

Podemos ver este hecho en el ejemplo anterior: Para

fpx, yq “ A “„

0,1111 0,66140,1569 0,9938

que es la matriz xyT redondeada con la aritmetica de base decimal y 4 cifras en lamantisa, rang A “ 2. De hecho, sus valores singulares calculados con MATLAB son1,16034185454010 y 2,454449082275455 ¨10´5. Por lo tanto, esta matriz nunca podraescribirse como un producto externo de vectores, porque estas matrices tienen todasrango 1.

5.4. Estabilidad de la eliminacion gaussiana

El problema de la estabilidad del algoritmo de la eliminacion gaussiana ha sidoobjeto de estudio durante muchos anos; y, aunque hoy en dıa se comprende bastante

Page 19: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.4 Estabilidad de la eliminacion gaussiana 123

bien y su uso es casi siempre altamente fiable, hay todavıa algunas cuestiones difıcilesque merecen estudio y que inducen a utilizarlo con cuidado. Su estudio detalladorequerirıa mucho tiempo, ası que aquı vamos ver lo justo para hacernos una idea dedonde pueden estar las dificultades. Conviene en este punto repasar el Ejemplo 5.7en el que se estudio la estabilidad hacia atras de la eliminacion gaussiana para unsistema de orden 2 pero que sirve como guıa de lo que viene a continuacion.

Como en casi todos los casos en los que se estudia la estabilidad de un algoritmo,la parte mas tediosa del analisis es la de llevar la cuenta de los errores de redondeo encada etapa del algoritmo. Haremos un analisis un poco detallado del primer paso delalgoritmo y daremos directamente el resultado. Recordemos que este primer pasoconsiste en seleccionar el mayor elemento, en modulo, de la primera columna (elpivote) y permutar filas para ponerlo en la posicion p1, 1q. Esto no produce ninguntipo de error (el posible error en el redondedo de los datos ya se ha producidoal almacenar la matriz en la memoria del ordenador). Ası pues analizaremos lo queviene a continuacion: se resta a cada fila la primera multiplicada por el multiplicador:

mi1 “ ai1{a11,

pero hecho en la aritmetica de punto flotante (supondremos, para simplificar lanotacion y no hacer mas tedioso el analisis, que los numeros de la matriz ya estanredondeados al correspondiente numero en punto flotante; i.e., aij “ flpaijq):

mi1 “ flpai1{a11q “ ai1a11

p1` εi1q

con |εi1| ď εM . Si ponemosai1 “ ai1p1` εi1q (5.10)

entonces, en aritmetica exacta

mi1 “ ai1{a11. (5.11)

Procedemos a eliminar los elementos de la primera columna por debajo delelemento en la posicion p1, 1q. Para i “ 2, . . . , n y j “ 1, . . . , n

a1ij “ flpaij ´mi1aijq “ raij ´mi1a1jp1` εijqsp1` ηijq ““ aij ´mi1a1j ` aijηij ´mi1a1jpεij ` ηij ` εijηijq.

Si ponemosaij “ aij ` aijηij ´mi1a1jpεij ` ηij ` εijηijq (5.12)

Page 20: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

124 Estabilidad

entonces

a1ij “ aij ´mi1a1j. (5.13)

De (5.13) y (5.11) se sigue que el resultado de realizar la eliminacion gaussianasobre la matriz original A con redondeo es el mismo que el de realizarla en aritmeticaexacta sobre la matriz

A “

»———–

a11 a12 ¨ ¨ ¨ a1n

a21 a22 ¨ ¨ ¨ a2n...

......

an1 an2 ¨ ¨ ¨ ann

fiffiffiffifl .

Ademas, A y A estan proximas la una de la otra. En efecto, de (5.12) se sigue quepara j ą 1

|aij ´ aij| ď paij ` 3mi1a1jqεM .Como la eliminacion ha sido realizada con pivoteo, |mi1| ď 1. Y si α “ max

i,j|aij|

entonces

|aij ´ aij| ď 4αεM .

Por (5.10), esta acotacion tambien se satisface para j “ 1.

Esto nos da una idea del analisis de la estabilidad del algoritmo de eliminaciongaussiana con pivoteo parcial por columnas. Una analisis completo requiere muchomas tiempo y detalle. Damos, a continuacion, el resultado general sin demostracionadicional y presentamos un ejemplo de una matriz 3ˆ 3

Teorema 5.6 Si se utiliza eliminacion gaussiana con pivoteo parcial para resolverel sistema Ax “ b, con A P Fnˆn, en un ordenador que cumple las condiciones (5.2)y (5.4), entonces la solucion calculada, x, cumple

pA` δAqx “ b

donde}δA}}A} ď ϕpnqγεM , (5.14)

siendo ϕ una funcion creciente de n que depende de la norma, y γ el cociente en-tre el mayor elemento en la matriz triangular superior resultante en el proceso deeliminacion y el mayor elemento de A, todo ello en modulo.

Page 21: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.4 Estabilidad de la eliminacion gaussiana 125

Ejemplo 5.7 Supongamos que queremos reducir la matriz

A “»–

3,000 2,000 1,0001,000 2,000 3,0002,000 3,000 2,000

fifl

a una matriz triangular superior mediante eliminacion gaussiana usando, como hastaahora, aritmetica decimal con 4 dıgitos en la fraccion.

En la primera columna el pivote es el elemento en la posicion p1, 1q de modo queno hay que permutar filas. Los multiplicadores seran:

m21 “ flp1{3q “ 0,3333m31 flp2{3q “ 0,6666

Para obtener ceros en las posiciones p2, 1q y p3, 1q con aritmetica exacta y estosmultiplicadores, ponemos

a21 “ 3 ¨ 0,3333 “ 0,9999, a31 “ 3 ¨ 0,6666 “ 1,9998.

La submatriz formada por las dos ultimas filas y columnas queda de la siguienteforma:

a122 “ flp2´ 2 ¨ 0,3333q “ 1,333, a123 “ flp3´ 1 ¨ 0,3333q “ 2,667,a132 “ flp3´ 2 ¨ 0,6666q “ 1,667, a133 “ flp2´ 1 ¨ 0,6666q “ 1,333

Ahora en la matriz

A1 “»–

3 2 10 1,333 2,6670 1,667 1,333

fifl

el pivote de la segunda columna es el elemento en la posicion p3, 2q. Permutamos lasdos filas para obtener

A11 “»–

3 2 10 1,667 1,3330 1,333 2,667

fifl

Procedemos a anular el elemento en la posicion p3, 2q de esta matriz (antiguo ele-mento a122). El multiplicador es

m32 “ flp1,333{1,667q “ 0,7996.

Page 22: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

126 Estabilidad

Para que en aritmetica exacta con este multiplicador obtuvieramos un cero en laposicion p3, 2q deberıa ser

a122 “ 1,667 ¨ 0,7996 “ 1,3329332.

Pero a122 provenıa de hacer una operacion elemental con el multiplicador m21. Ası

a22 “ a122 `m21 ¨ a12 “ 1,9995332.

Finalmente, debemos calcular el elemento que queda en la posicion p3, 3q:a33 “ flp2,667´ 1,333 ¨ 0,7996q “ 1,601.

Ası en aritmetica exacta

a123 “ 1,601` 1,333 ¨ 0,7996 “ 2,6668668.

Y como este elemento provenıa de la operacion elemental con el multiplicador m21:

a23 “ a123 `m21 ¨ a13 “ 3,0001668.

En aritmetica en punto flotante la matriz triangular superior que se obtiene es

U “»–

3 2 10 1,667 1,3330 0 1,601

fifl

Y esta matriz se obtendrıa mediante aritmetica exacta sobre la matriz

A “»–

3 2 10,9999 1,9995332 3,00016681,9998 3,0002 1,9996

fifl

En efecto, A y A son muy parecidas. ¿Cuanto? En la norma espectral:

}A´ A}2}A}2 ď 1,04 ¨ 10´4.

Si queremos tener una apreciacion de la cota (5.14) para este ejemplo, calculamos

γ “ maxij |uij|maxij |aij| “

3

3“ 1.

Ası }δA}}A} ď ϕpnq ¨ 10´3,

una cantidad muy conservadora en relacion a la cota realmente obtenida con A.

Page 23: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.4 Estabilidad de la eliminacion gaussiana 127

Observaciones 5.8 .-

1. El analisis del error hacia atras muestra que la solucion calculada para Ax “ bpor eliminacion gaussiana es la solucion exacta de una matriz obtenida alperturbar ligeramente A. Si la cota (5.14) es pequena pero el resultado no espreciso entonces no es el algoritmo el que esta fallando sino el condicionamientodel problema o los errores de los datos iniciales.

2. La funcion ϕ en (5.14) es, por lo general, una pequena potencia de n, digamosn2. Sin embargo, cualquier ϕ matematicamente rigurosa resulta siempre unasobreestimacion del error real en la solucion, que habitualmente es del ordende n o menor.

3. El numero γ es conocido con el nombre de factor de crecimiento porque mideel crecimiento de los numeros durante el proceso de eliminacion. Mantener estefactor de crecimiento lo mas pequeno posible es la razon para usar pivoteo.En efecto, con pivoteo los multiplicadores se matienen siempre acotados por 1;sin el, podrıan alcanzar (por ejemplo cuando el elemento en la diagonal de lacolumna que se esta reduciendo es casi cero) valores muy grandes. Esto provo-carıa que en la submatriz afectada por la eliminacion los elementos crecieranmuchısimo y γ serıa enorme comparado con εM .

4. Desafortunadamente, hay matrices para las que γ es enorme aun cuando seuse pivoteo parcial. Por ejemplo, la eliminacion gaussiana aplicada a la matriz

W “

»————–

1 0 0 0 1´1 1 0 0 1´1 ´1 1 0 1´1 ´1 ´1 1 1´1 ´1 ´1 ´1 1

fiffiffiffiffifl

Page 24: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

128 Estabilidad

serıa de la siguiente forma»————–

1 0 0 0 10 1 0 0 20 ´1 1 0 20 ´1 ´1 1 20 ´1 ´1 ´1 2

fiffiffiffiffiflÑ

»————–

1 0 0 0 10 1 0 0 20 0 1 0 40 0 ´1 1 40 0 ´1 ´1 4

fiffiffiffiffiflÑ

»————–

1 0 0 0 10 1 0 0 20 0 1 0 40 0 0 1 80 0 0 ´1 8

fiffiffiffiffiflÑ

Ñ

»————–

1 0 0 0 10 1 0 0 20 0 1 0 40 0 0 1 80 0 0 0 16

fiffiffiffiffifl

Y si se aplica la eliminacion gaussiana sobre una matriz del tipo de W perode tamano nˆ n, el factor de crecimiento serıa 2n´1.

En realidad estos son ejemplos de laboratorio y rara vez aparecen en aplicacio-nes reales (aunque se han dado casos). La opinion general es que el algoritmode eliminacion gaussiana con pivoteo parcial es uno de los algoritmos masestables y eficientes para resolver sistemas lineales. A pesar de ello, hay queutilizarlo con un poco cuidado y estar alerta a las posibles anomalıas que pue-dan presentar los resultados cuando son comparados con los esperados en laaplicacion concreta que se tenga entre manos.

5.5. Precision de un algoritmo estable hacia atras

En la seccion anterior al analizar la cota (5.14) del error en la eliminacion gaus-siana, dijimos que si esta se mantiene razonablemente baja y los resultados sonpobres, hay que echar la culpa a los errores en los datos iniciales (i.e., porque em-pezamos con una mala aproximacion a A) o al condicionamiento del problema, quesabemos que es κpAq. ¿Como influye el condicionamiento del problema en el errorde los resultados proporcionados por los algoritmos estables? Esta es una preguntanatural que pretendemos contestar en esta ultima seccion.

Supongamos que tenemos un algoritmo estable, f , para un problema f : X Ñ Y .¿Cuan preciso sera el resultado que devuelve? La respuesta depende del numero decondicion del problema. Si este es pequeno, el resultado sera preciso (en terminos de

Page 25: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

5.5 Precision de un algoritmo estable hacia atras 129

error relativo); pero si es grande, la falta de precision sera proporcional al numerode condicion:

Teorema 5.9 Dado un problema f : X Ñ Y cuyo numero de condicion es κ,supongamos que un algoritmo estable hacia atras es aplicado para resolverlo en unordenador que cumple los axiomas (5.2) y (5.4). Entonces el error relativo cumple

}fpxq ´ fpxq}}fpxq} “ OpκpxqεMq.

Demostracion.- Demostraremos este teorema en el caso en que f es diferencia-ble. En el caso general la demostracion es un poco mas tecnica. Si f es diferenciableen x, para todo x suficientemente proximo a x tenemos que

fpxq ´ fpxq “ f 1pxqpx´ xq ` rpx´ xq

donde lım}x´x}Ñ0

}rpx´ xq}}x´ x} “ 0. Ası

}fpxq ´ fpxq}}fpxq} ď }x´ x}

}x}}f 1pxq} }x}}fpxq} ` }rpx´ xq}}fpxq}

ď }x´ x}}x} κpxq ` }rpx´ xq}}fpxq} .

Ahora bien si f es un algoritmo estable hacia atras para x, existe x con

}x´ x}}x} “ OpεMq (5.15)

tal que fpxq “ fpxq. Entonces

}fpxq ´ fpxq}}fpxq} ď

ˆκpxq ` }rpx´ xq}}x´ x}

}x}}fpxq}

˙ }x´ xq}}x} .

Dado que lım}x´x}Ñ0

}rpx´ xq}}x´ x} “ 0, para x suficientemente proximo a x,

}fpxq ´ fpxq}}fpxq} ď κpxq}x´ xq}}x} .

Page 26: Cap tulo 5 Estabilidad - UPV/EHU · 2018-01-10 · Cap tulo 5 Estabilidad 5.1. Aritmetica en punto otante Recordamos en esta seccion, muy brevemente, las ideas expuestas en la secci

130 Estabilidad

Y como }x´ x} Ñ 0 cuando εM Ñ 0, concluımos que

}fpxq ´ fpxq}}fpxq} “ κpxqOpεMq “ OpκpxqεMq,

tal y como se querıa demostrar.