Calculo Numérico

Page 1

´ ´ ¿Que´ es el Calculo Numerico?

´ numerica ´ ´ Solucion de un modelo matematico

Problema

Economía Biología Química Física

Real

Modelo Matemático

Matemática diseño

Método Numérico

implementación

Solución Verdadera

~ ~

Solución

Solución Exacta

~ ~

Aproximada

testeo

del Problema

del Modelo

del Modelo

Experimentación Cálculo Numérico

1


´ ´ ¿En que´ consiste el Calculo Numerico? ´ A partir del modelo matematico de un problema: ˜ un metodo ´ ´ ´ del mismo; disenar numerico que permita aproximar la solucion ´ aproximada implementar un algoritmo que permita obtener esa solucion mediante el computador; ´ aproximada obtenida, para asegurar que este ´ testear el error de la solucion esta´ por debajo de una tolerancia aceptable.

Ejemplo: Modelo de calidad de agua en el tramo inferior del R´ıo B´ıo B´ıo Se trata de determinar el transporte y la de´ de sustancias contaminantes que se gradacion emiten al r´ıo como parte de efluentes. Para ello debe tenerse en cuenta que, en su desembocadura, se trata de un r´ıo muy ancho, para el que los modelos unidimensionales dan aproximaciones muy groseras. Esto es parte de un proyecto FONDEF que desarrolla el Departamento de Ingenier´ıa Ma´ tematica y el Centro de Ciencias Ambientales EULA, ambos de esta Universidad, con finan´ de CONICYT y varias empresas de la ciacion zona (Ess Bio, Petrox, CMPC, etc.).

2


´ Modelo bidimensional del transporte y degradacion ´ de un contaminante en un medio acuatico ´ F (x, y). Fuente de contaminacion: ´ del contaminante: C Concentracion

= C(x, y).

´ no despreciable: E (no necesariamente constante). Dispersion ´ Campo de velocidades hidrodinamicas: U ´ de primer orden: R Modelo de reaccion

− div(E ∇C) + U · ∇C + kC = F

´ E.D.P. del modelo matematico:

∇C =

= kC .

∂C = 0. ∂t

´ Regimen permanente:

donde

= (u, v).

∂C ∂C , ∂x ∂y

y

div W =

∂W1 ∂W2 + . ∂x ∂y

Dominio de la E.D.P. 22 2 22 2 2 2 3 3 33 3

22 2 2

2 22 2 32 2

22

22

MODULEF : 2

2 22

21/01/03 2 2

2 2 2

rodolfo

RIOBIOBIO

2 22 22

contornopo

2 2

22 2

2

2 2 2

2 2

2

132

POINTS

132

NODES

131

ELEMENTS

131

SEGMENTS

2

2

2

2 2 2

2 2 2

0 2

2

2 2

2

6.6111E+05 5.9050E+06

2

2

RIGHT TOP LOCATION :

2

2 2 2 2

HOLE(S)

LEFT DOWN LOCATION :

6.8375E+05 5.9272E+06

2 2 2

2 2 2 2

2 2 2

2 2

2 2

22 22 2 2

REFERENCE (ALL)

2 2 2 2

2

2 2 222 2 2 2

2 2 2

2

2 22 2 2 2

2 2 12 222 2 2 2 2 22

3


Condiciones de contorno de la E.D.P. MODULEF :

2

MODULEF :

rodolfo

RIOBIOBIO

RIOBIOBIO

21/01/03

21/01/03

contornopo

contornopo

rodolfo

2 2 2

2

2

2 2

2

2

132

POINTS

132

NODES

131

ELEMENTS

131

SEGMENTS

0 2

2 2

HOLE(S)

132

POINTS

132

NODES

131

ELEMENTS

131

SEGMENTS

0

2

HOLE(S)

3 2

LEFT DOWN LOCATION : 3

2

LEFT DOWN LOCATION :

2

2

2

6.6300E+05 5.9222E+06

2

RIGHT TOP LOCATION :

2

3 3

2 2

2

2

RIGHT TOP LOCATION : 6.8203E+05 5.9097E+06

2

2

2 2

2

2 2

2

2

6.7653E+05 5.9043E+06 1

2 2

6.6774E+05 5.9268E+06

3 2

2

2

2

2

2

2 2

3 2 REFERENCE (ALL)

REFERENCE (ALL)

Ω: dominio de la E.D.P. (tramo del r´ıo objeto del estudio). ∂Ω = Γ1 ∪ Γ2 ∩ Γ3 : contorno del dominio Ω. Γ1 : tramo del contorno aguas arriba. Γ2 : tramo del contorno costa. Γ3 : tramo del contorno aguas abajo. n: vector normal unitario exterior al contorno ∂Ω.

Problema de valores de contorno para la E.D.P. Condiciones de contorno En Γ1 (tramo del contorno aguas arriba): C|Γ1

= C1 dato.

En Γ2 (tramo del contorno costa) suponemos que la costa es impermeable a la sustancia objeto de estudio:

∂C = ∇C · n = 0 en Γ2 . ∂n

En Γ3 (tramo del contorno aguas abajo) suponemos que ya hay mezcla total del contaminante:

P.V.C.

∂C = 0. ∂n

⎧ ⎪ − div(E ∇C) + U · ∇C + kC = F, ⎪ ⎪ ⎪ ⎪ ⎨ C = C1 , en Γ1 , ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ∂C = 0, en Γ2 y Γ3 . ∂n

en Ω,

4


´ Mallado del dominio Discretizacion. MODULEF :

rodolfo

RIOBIOBIO 21/01/03

rioBB.nopo

280

POINTS

280

NODES

427

ELEMENTS

427

TRIANGLES

0

HOLE(S)

LEFT DOWN LOCATION : 6.6111E+05 5.9050E+06 RIGHT TOP LOCATION : 6.8375E+05 5.9272E+06

´ Metodo de Elementos Finitos (M.E.F.) ´ ´ no se conoce Sean P1 , . . . , PN los vertices de la malla donde la concentracion ´ (vertices interiores y de la frontera en Γ2 y Γ3 ). ´ ´ es dato Sean PN +1 , . . . , PN +M los vertices de la malla donde la concentracion ´ (vertices de la frontera en Γ1 ). ´ en el punto Pi (i Sea Ci la concentracion

⎡ ⎢ ⎢ ⎢ ⎣

a11

···

.. .

aN 1

···

a1N

a1N +1

.. .

.. .

aN N

aN N +1

= 1, . . . , N + M ). ⎡ C1 ⎢ .. ⎤⎢ ⎢ . ⎢ · · · a1N +M ⎥⎢ CN .. ⎥⎢ ⎥⎢ . ⎢ ⎦ ⎢ CN +1 · · · aN N +M ⎢ ⎢ .. ⎢ . ⎣ CN +M

⎤ ⎥ ⎥ ⎡ ⎥ ⎥ ⎥ ⎢ f1 ⎥ ⎢ . ⎥ = ⎢ .. ⎥ ⎣ ⎥ ⎥ fN ⎥ ⎥ ⎦

⎤ ⎥ ⎥ ⎥ ⎦

con...

5


´ Metodo de Elementos Finitos (cont.) ...con

C1 , ..., CN :

´ incognitas (concentraciones desconocidas)

CN +1 , ..., CN +M :

datos (concentraciones conocidas aguas arriba)

aij =

Ί

E âˆ‡Ď†j ¡ âˆ‡Ď†i +

Ί

U ¡ âˆ‡Ď†j φi +

Ί

kφj φi ,

i = 1, . . . , N, j = 1, . . . , N + M,

fi =

Ί

F φi ,

i = 1, . . . , N,

´ continua, lineal en cada triangulo ´ donde φi es la funcion de la malla, que vale 1 en ´ ´ Pi y 0 en el vertice Pj para j el vertice

= i (i, j = 1, . . . N + M ).

´ Metodo de Elementos Finitos (cont.) Entonces las concentraciones desconocidas C1 , . . . , CN se obtienen resolviendo el sistema de ecuaciones:

⎥ ⎢ ⎢ ⎢ ⎣

a11

⎥

⎤ b1

a1N

.. .

aN 1 donde

⎤⎥

¡¡¡

⎥

.. .

¡¡¡ ⎤

f1

⎢ ⎼ ⎢ ⎢ .. ⎼ ⎢ .. ⎢ . ⎼=⎢ . ⎣ ⎌ ⎣ bN fN

⎼⎢ ⎼⎢ ⎼⎢ ⎌⎣

aN N ⎥

⎼ ⎢ ⎼ ⎢ âŽĽâˆ’âŽ˘ ⎌ ⎣

a1N +1 .. .

aN N +1

⎤ C1

⎥

⎤ b1

CN

⎼ ⎢ ⎼ ⎼ ⎢ .. ⎼ ⎼=⎢ . ⎼ ⎌ ⎣ ⎌ bN

¡¡¡

a1N +M

.. .

⎤⎥ .. .

¡ ¡ ¡ aN N +M

⎼⎢ ⎼⎢ ⎼⎢ ⎌⎣

⎤ CN +1 .. .

⎼ ⎼ ⎼ ⎌

CN +M

6


´ ´ Calculo Numerico. ´ de la malla a partir de las coordenadas de los puntos que Generacion describen la geometr´ıa del dominio: Geometr´ıa Computacional. ´ ´ aproximada del modelo Metodo de Elementos Finitos para la resolucion ´ ´ Numerica ´ matematico: Solucion de Ecuaciones Diferenciales. ´ Calculo de las integrales que definen cada entrada de las matrices y los ´ Numerica. ´ vectores que aparecen: Integracion ´ del sistema de ecuaciones lineales resultante (de dimension ´ muy Resolucion ´ de Sistemas de Ecuaciones Lineales. grande!): Solucion ´ de la solucion ´ obtenida: Interpolacion. ´ Visualizacion ´ obtenida es una aproximacion ´ de la solucion ´ verdadera del problema La solucion pues esta´ afectada por distintos errores.

Fuentes del error ´ El P.V.C. con el que se modela el problema se Errores de modelizacion. ´ ´ se cumplen parcialmente. obtiene haciendo hipotesis simplificadoras que solo ´ El analisis de este tipo de errores esta´ fuera del alcance de este curso. Errores en los datos. El problema depende de datos que se obtienen mediante: ´ aguas arriba CN +1 , . . . , CN +M , • mediciones: concentracion ´ k, • experimentos de laboratorio: constante de reaccion ´ E, ´ • ajuste de parametros: coeficiente de dispersion

• otros programas computacionales: campo de velocidades U = (u, v). Todos estos datos se encuentran sujetos a errores. ´ En este curso estudiaremos metodos estables, en el sentido que no propaguen los errores en los datos de manera tal que destruyan la calidad de ´ aproximada que se obtenga. la solucion

7


Fuentes del error (cont.) ´ ´ Errores del metodo numerico. ´ ´ ´ El metodo • Errores de discretizacion: de elementos finitos da una solucion ´ ´ y mas ´ a la solucion ´ exacta de este ´ numerica del P.V.C., que aproxima mas ´ y mas ´ fina (y por lo tanto el numero cuando la malla se hace mas N de ´ ´ y mas ´ grande). ´ Ci se hace mas incognitas

• Errores computacionales: Los sistemas de ecuaciones resultantes son de ´ ˜ y deben resolverse en el computador. Este gran tamano trabaja con un ´ adolezca de un numero de d´ıgitos fijo que hace que cada operacion ´ ˜ ısimo error de redondeo. pequen´ ´ ´ En este curso estudiaremos como controlar los errores del metodo numerico y ´ ´ por debajo de una tolerancia aceptable. como testear que estos esten

´ de Conceptos Basicos ´ Revision

• Normas: Normas vectoriales y matriciales. Productos interiores. ´ de errores. • Errores: Errores computacionales. Propagacion

8


Normas vectoriales ˜ de un vector es mediante una norma. • La manera usual de expresar el tamano ´ Sea V un espacio vectorial. Se llama norma sobre V a cualquier • Definicion. ´ funcion

· : V

−→ R −→

v

v

que satisfaga: 1.

v ≥ 0

∀v ∈ V

2.

v = 0

⇐⇒

3.

kv = |k| v

4.

v + w ≤ v + w

(positividad),

v=0

´ (no degeneracion),

∀v ∈ V, ∀k ∈ R ∀v, w ∈ V

(homogeneidad), (desigualdad triangular).

• A un espacio vectorial V provisto de una norma · se le llama espacio vectorial normado y se le denota (V, · ).

Normas vectoriales (cont.) n • Ejemplos. Dados ⎛ V =⎞R (espacio de vectores columna de n componentes x ⎜ 1 ⎟ ⎜ . ⎟ reales) y x = ⎜ .. ⎟ ∈ Rn , se definen las siguientes normas: ⎠ ⎝ xn 12 n |xi |2 . – Norma euclideana: x 2 := i=1

– Norma infinito:

– Norma uno:

x ∞ := max |xi |.

x 1 :=

1≤i≤n

n

|xi |.

i=1

´ muchas veces escribiremos un vector columna • Por comodidad de notacion, t como x = (x1 · · · xn ) ∈ Rn .

9


Distancia entre vectores. Equivalencia de normas • Toda norma sobre un espacio vectorial V induce una distancia: dist(v, w) := v − w ,

v, w ∈ V.

´ {v n }n∈N ⊂ V converge a v ∈ V si dist(v n , v) → 0: • Una sucesion

vn → v

⇐⇒

v n − v → 0.

• Dos normas · ∗ y · • sobre un espacio vectorial V son equivalentes si existen constantes C1 y C2 tales que C1 v ∗ ≤ v • ≤ C2 v ∗

∀v ∈ V.

´ finita son • Teorema. Todas las normas sobre un espacio de dimension equivalentes.

• Corolario. Si · ∗ y · • son dos normas cualesquiera en un espacio de ´ finita, entonces dimension

v n − v ∗ → 0

⇐⇒

v n − v • → 0.

Normas matriciales inducidas. • Toda norma vectorial · sobre Rn induce una norma matricial sobre Rn×n (espacio de matrices cuadradas n × n): A :=

Ax , : x =0 x

max n

x∈R

A ∈ Rn×n .

´ verificar que esto define efectivamente una norma sobre Rn×n . Es facil Esta norma se dice que es una norma matricial inducida por la norma vectorial y se denota con el mismo s´ımbolo que la norma vectorial. ´ Toda norma matricial inducida por una norma vectorial satisface • Proposicion. las siguientes propiedades:

Ax ≤ A x

∀A ∈ Rn×n , ∀x ∈ Rn

AB ≤ A B

∀A, B ∈ Rn×n

(compatibilidad),

(submultiplicatividad).

10


Normas matriciales (cont.) ´ sencillas de calcular algunas de las normas matriciales mas ´ • Hay formas mas usuales.

= (aij ) ∈ RnĂ—n . Entonces: ⎛ ⎞ ´ = max âŽ? |aij |⎠(maxima suma de filas).

´ Sea A Proposicion. –

A ∞

1≤i≤n

⎛ –

A 1 = max � 1≤j≤n

1≤j≤n

⎞

´ |aij |⎠(maxima suma de columnas).

1≤i≤n

– A 2 = Ď At A (norma espectral).

Valores y vectores propios ´ Dada una matriz cuadrada A, diremos que un numero • Definicion. Îť ∈ C es ´ un valor propio (o autovalor) de A si existe un vector no nulo, v = 0, tal que

Av = Νv. A v se le llama vector propio (o autovector) asociado al valor propio Ν. ´ si es ra´Ĺz de la ecuacion ´ caracter´Ĺstica Ν es un valor propio si y solo

det(A − ÎťI) = 0. ´ El espectro de A es el conjunto de todos sus valores propios: • Definicion. Ďƒ(A) := Îť ∈ C : Îť es un valor propio de A . ´ ´ ´ El radio espectral de A es el maximo • Definicion. modulo de sus autovalores:

Ď (A) := max |Îť|. ÎťâˆˆĎƒ(A)

t ´ • Teorema. Si A ∈ RnĂ—n es simetrica (A = A), entonces A 2 = Ď (A).

11


Producto interior • Sea V un espacio vectorial real. Se llama producto interior sobre V a ´ cualquier funcion

·, · : V × V

−→ R

(v, w) −→

v, w

que satisfaga: 1.

v, v ≥ 0

∀v ∈ V

2.

v, v = 0

⇐⇒

3.

v, w = w, v

4.

v, k1 w1 + k2 w2 = k1 v, w 1 + k2 v, w2

(positividad),

v=0

´ (no degeneracion),

∀v, w ∈ V

(simetr´ıa),

∀v, w1 , w2 ∈ V, ∀k1 , k2 ∈ R

(linealidad).

Producto interior (cont.) • Ejemplo. El producto escalar en Rn : t

x, y := x y =

n

xi yi ,

x = (x1 · · · xn )t , y = (y1 · · · yn )t ∈ Rn .

i=1

• Todo producto interior sobre un espacio vectorial V induce una norma: v := v, v , v ∈ V. En particular, el producto escalar en Rn induce la norma euclideana:

√ xt x = x 2 ,

x ∈ Rn .

• Teorema. Desigualdad de Schwarz: | v, w | ≤ v w

∀v, w ∈ V.

´ Dos vectores v y w son ortogonales cuando v, w = 0: • Definicion.

v⊥w

⇐⇒

v, w = 0. 12


´ de numeros Representacion ´ reales en un sistema de punto flotante • Lo describiremos, por sencillez, en el sistema decimal, aunque los computadores representan los numeros en sistema binario: ´

783.375

−→

+.783375 × 103

0.00843215

−→

+.843215 × 10−2

−1.23456

−→

−.123456 × 101

−0.999999

−→

−.999999 × 100

Almacenamiento de numeros ´ reales en computador • En el computador se almacenan el signo, la mantisa y el exponente (con su signo) del numero real. ´

_. + signo

signo exponente

x

k dígitos mantisa

10

l dígitos exponente (con signo)

mantisa

• La cantidad de d´ıgitos k que se utilizan para almacenar la mantisa es fija. Por ´ pueden almacenarse a lo sumo k d´ıgitos de mantisa de un lo tanto solo numero real. ´ ´ • La cantidad de d´ıgitos l que se utilizan para almacenar el exponente tambien ´ es fija. Por lo tanto hay un exponente positivo maximo y otro exponente negativo m´ınimo que pueden llegar a representarse. 13


Overflow • Si se intenta almacenar un numero cuyo exponente positivo es mayor que el ´ ´ maximo representable en el sistema, se produce un error fatal: overflow. Por ´ lo tanto existe un maximo numero positivo que puede representarse. ´ ´ • En MATLAB el maximo numero representable es aproximadamente 10308 . ´ Si se intenta representar un numero mayor, el computador devuelve Inf ´ ´ de que se produjo un overflow: (infinito) como una indicacion

>> a=2ˆ1023 a = 8.988465674311580e+307 >> b=2ˆ1024 b = Inf

Underflow • Si se intenta almacenar un numero cuyo exponente negativo es menor que el ´ m´ınimo representable se produce un error leve: underflow. Por lo tanto existe un m´ınimo numero positivo que puede representarse. Si se representa un ´ numero positivo menor que ese m´ınimo, el computador almacena 0: ´

• En MATLAB el m´ınimo numero positivo representable es aproximadamente ´ −323 10 : >> c=2ˆ-1074 c = 4.940656458412465e-324 >> d=2ˆ-1075 d = 0

14


Error de redondeo ´ d´ıgitos de mantisa que la cantidad • Si se intenta almacenar un numero con mas ´ ´ ´ se almacenan los primeros k d´ıgitos. maxima k que permite el sistema, solo Por ello, al representar un numero real en un sistema de punto flotante, en ´ ˜ error de redondeo. general se comete un pequeno

• En MATLAB se almacenan entre 15 y 16 d´ıgitos decimales de mantisa: >> e=123456789.0123456789 e = 1.234567890123457e+08 >> f=pi f = 3.14159265358979

Operaciones en punto flotante ´ • El computador calcula cada una de las cuatro operaciones matematicas fundamentales, suma (+), resta (−), producto (∗) y cociente (/), de manera tal ´ que el resultado que se obtiene tiene correctos el maximo numero k de d´ıgitos ´ representables. ´ matematica ´ ´ se comete un pequeno ˜ error • Por ello, en cada operacion tambien de redondeo:

>> g=1.0000000001*1.0000000001 g = 1.00000000020000 >> h=1+10ˆ-17 h = 1

15


´ Constante de precision • Como se ve en el ejemplo anterior, si se calcula en punto flotante 1 + ε, con ε ˜ debido al error de redondeo el resultado que se suficientemente pequeno, obtiene es 1. ´ (o unidad de redondeo) del computador se define • La constante de precision como el m´ınimo numero ε > 0 tal que, en punto flotante, ´

1 + ε = 1. • Se demuestra que el error relativo que comete el computador al representar ´ elemental en punto flotante es menor un numero real o al hacer una operacion ´ ´ o igual que la contante de precision.

´ (cont.) Constante de precision ´ se llama eps y es aproximadamente • En MATLAB la constante de precision −16 10 :

>> eps ans = 2.220446049250313e-16 >> p=(1+eps)-1 p = 2.220446049250313e-16 >> q=(1+eps/2)-1 q = 0

16


´ excesiva Cancelacion • Las operaciones de producto y cociente en punto flotante dan siempre resultados confiables, en el sentido que todos los d´ıgitos del resultado que se obtienen son correctos (siempre que no se produzca overflow o underflow).

• Las operaciones de suma y resta usualmente dan resultados con todos sus d´ıgitos correctos. Sin embargo, esto no es as´ı cuando se restan numeros muy ´ parecidos. ´ ´ excesiva. Este fenomeno se denomina cancelacion

´ excesiva (cont.) Cancelacion

>> r=.123456789012345; >> s=.12345678901234; >> t=r-s % El valor exacto es t=5.e-15 t = 4.996003610813204e-15 >> u=12345678901234567; >> v=12345678901234566; >> w=u-v % El valor exacto es w=1 w = 2

17


´ de errores Propagacion • Las integrales

In :=

1

xn ex−1 dx,

n = 1, 2, . . .

0

´ se relacionan mediante la expresion

In = 1 − nIn−1 ,

n = 2, 3, . . .

´ ´ por partes. que se obtiene facilmente por integracion ´ permite calcular esas integrales recursivamente a partir del • Esta expresion ´ por partes: valor de I1 , que se calcula exactamente tambien 1 1 1 I1 = xex−1 dx = xex−1 − ex−1 dx = e−1 = 0.36787944... 0

0

0

• Si se parte del valor aproximado Iˆ1 ≈ 0.367879 (correctamente redondeado a 6 d´Ĺgitos) se obtiene:

Iˆ2 = 0.264242,

¡¡¡

Iˆ9 = −0.06848 < 0

!!!

´ de errores (cont.) Propagacion ´ In = 1 − nIn−1 es exacta para numeros • Dado que la expresion reales, el ´ ´ del error en Iˆ1 . error en Iˆ9 se debe necesariamente a la propagacion ´ sea: • Para estudiar esta propagacion

= I1 − Iˆ1 = e−1 − 0.367879 ≈ 0.44 Ă— 10−6 . Entonces:

Iˆ1 = I1 − , Iˆ2 = 1 − 2Iˆ1 = 1 − 2(I1 − ) = I2 + (−2)(− ), Iˆ3 = 1 − 3Iˆ2 = 1 − 3[I2 + (−2)(− )] = I3 + (−3)(−2)(− ), .. .

Iˆ9 = 1 − 9Iˆ8 = I9 + (−9) ¡ ¡ ¡ (−3)(−2)(− ) = I9 − 9! . Por lo tanto,

I9 −Iˆ9 = 9! ≈ 362 880Ă—0.44Ă—10−6 ≈ 0.16

e

Iˆ9 = −0.06848

! 18


´ de errores (cont.) Propagacion • Un algoritmo como el anterior, donde el error crece en cada paso, se dice que es inestable. ´ Este tipo de algoritmos debe evitarse pues propaga de manera catastrofica los errores en los datos, como se ve en el ejemplo. ´ anterior puede reformularse para obtener el siguiente algoritmo: • La relacion IN : dato, 1 − In , n = N, N − 1, . . . , 3, 2. In−1 := n ´ ´ semejante al anterior permite demostrar que, en el paso n-esimo • Un analisis de este algoritmo, el error del paso anterior se divide por n. En consecuencia ´ no amplifica los errores, sino que los reduce. este algoritmo no solo ´ • Un algoritmo como este, que no amplifica los errores, se dice que es estable.

• Por ejemplo, si se toma N = 20 e Iˆ20 = 0, verifique que mediante este algoritmo se obtiene Iˆ9 = 0.091 612 292 990, con error menor que 10−12 .

Sistemas de Ecuaciones Lineales I ´ matricial. Dificultades numericas. ´ • Preliminares: Expresion

19


´ matricial Expresion • Todo sistema de ecuaciones lineales puede escribirse matricialmente: ⎧ ⎪ a x + · · · + a1n xn = b1 ⎪ ⎪ ⎨ 11 1 .. .. ⇐⇒ Ax = b, . . ⎪ ⎪ ⎪ ⎩ a x + ··· + a x = bn n1 1 nn n donde

a ⎜ 11 ⎜ . A := ⎜ .. ⎝ an1

son los datos y

···

⎞ a1n .. .

···

⎟ ⎟ ⎟ ∈ Rn×n ⎠

ann ⎛ ⎞ x ⎜ 1⎟ ⎜ .. ⎟ x = ⎜ . ⎟ ∈ Rn ⎝ ⎠ xn

y

⎛ ⎞ b ⎜ 1⎟ ⎜.⎟ b = ⎜ .. ⎟ ∈ Rn ⎝ ⎠ bn

´ es el vector de incognitas.

Matriz inversa ´ unica ´ si A • El sistema de ecuaciones lineales Ax = b tiene solucion si y solo ´ es una matriz no singular. Recordemos que una matriz A

´ si se cumple ∈ Rn×n es no singular si y solo

cualquiera de estas condiciones: 1.

A es invertible:

2.

det(A) = 0;

∃A−1 ∈ Rn×n : AA−1 = A−1 A = I ;

3. todas las filas (y columnas) de A son l.i.: 4.

0 no es valor propio de A:

rango(A) = n.

0∈ / σ(A).

• Si A es no singular, entonces Ax = b

⇐⇒

x = A−1 b.

Sin embargo, en general, no es conveniente calcular la matriz inversa A

−1

´ para resolver un sistema de ecuaciones, pues hacerlo as´ı resulta mucho mas costoso computacionalmente.

20


Matriz inversa (cont.) • Por el contrario, una manera natural de calcular la inversa de una matriz A ∈ Rn×n consiste en resolver n sistemas de ecuaciones lineales. Si −1 llamamos c1 , . . . , cn a las columnas de A : ⎡ ⎤ ⎢ ⎥ −1 1 n⎥ A =⎢ c 1 , . . . , c n ∈ Rn , ⎣c ··· c ⎦, entonces

⎡ ⎤ ⎤ ⎡ ⎤ ⎥ ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ Ac1 · · · Acn ⎥ = A ⎢ c1 · · · cn ⎥ = AA−1 = I = ⎢ e1 · · · en ⎥ , ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎡

´ donde las columnas e1 , . . . , en de I son los vectores de la base canonica de

Rn . Por lo tanto, A−1 puede calcularse columna por columna resolviendo: Aci = ei ,

i = 1, . . . , n.

´ Dificultades numericas ˜ un algoritmo para Los siguientes aspectos deben tenerse en cuenta al disenar resolver un sistema de ecuaciones lineales: ´ • Costo operacional. El tiempo de calculo del computador necesario para resolver el sistema debe ser lo menor posible. Una medida standard del costo operacional es la cantidad de operaciones ´ (+, aritmeticas

´ −, ∗, /) que requiere un algoritmo. Este usualmente se

expresa en flop (floating point operations).

• Costo de almacenamiento. La cantidad de posiciones de memoria que ´ de los requiere el computador para ejecutar un algoritmo (representacion ´ debe ser la menor posible. datos, variables auxiliares, etc.) tambien ´ de los resultados. Los algoritmos deben ser estables, en el sentido • Precision de amplificar lo menos posible los errores de los datos y los de redondeo.

21


Costo operacional ˜ Un • Los sistemas que aparecen en muchas aplicaciones son de gran tamano. ˜ moderado y en algunas sistema de 1000 × 1000 hoy se considera de tamano aplicaciones deben resolverse sistemas de ecuaciones con cientos de miles de ´ incognitas. ´ • Hay metodos que en teor´ıa permiten resolver cualquier sistema de ecuaciones ´ ´ lineales, pero que en la practica requieren tiempos de calculo prohibitivos.

• Mal ejemplo: Regla de Cramer. Este procedimiento permite calcular ´ de un sistema Ax = b mediante: expl´ıcitamente la solucion xi =

det(Ai ) , det(A)

i = 1, . . . , n,

´ ´ donde Ai es la matriz que se obtiene a partir de A reemplazando en esta su ´ columna i-esima por el segundo miembro b. ´ Si los determinantes se calculan mediante la formula recursiva usual de desarrollo por fila (o por columna), el costo operacional de la Regla de Cramer es de aproximadamente (n + 1)! flop.

Costo operacional (cont.) ´ ´ Gaussiana. Este procedimiento se • Buen ejemplo: Metodo de Eliminacion ´ basa en el metodo algebraico de transformaciones elementales. Su costo operacional veremos que es de aproximadamente 23 n3 flop. ´ • Comparacion: En un computador de 1 Gflop (109 flop) por segundo:

n

10

15

20

100

1000

2000

Regla de Cramer flop

4 × 107

2 × 1013

5 × 1019

10160

“∞”

“∞”

tiempo

0.04 s

5.5 horas

˜ 1500 anos

“∞”

“∞”

“∞”

´ Gaussiana Eliminacion flop

666

2250

5333

7 × 105

7 × 108

5 × 109

tiempo

0. s

0. s

0. s

0s

0.73 s

4.88 s

22


Costo de almacenamiento • En muchas aplicaciones los sistemas de ecuaciones lineales que deben ˜ pero tales que la mayor parte resolverse involucran matrices de gran tamano, de sus entradas son nulas. ´ y en M ATLAB, Estas matrices se denominan dispersas o ralas (en ingles ´ ´ requieren una cantidad sparse) y existen tecnicas para almacenarlas que solo de posiciones de memoria aproximadamente igual al numero de entradas no ´ nulas de la matriz. ´ • Los metodos algebraicos usuales (por ejemplo el de transformaciones elementales) requieren modificar la matriz original del sistema y, muchas ´ veces, destruyen el caracter disperso de la misma. ´ otros procedimientos (metodos ´ • Para evitar esto, estudiaremos tambien ´ mas ´ iterativos) que no modifican la matriz del sistema, por lo que resultaran convenientes desde el punto de vista del costo de almacenamiento. ´ ´ exacta del sistema, sino en Estos metodos no se basan en calcular la solucion construir iterativamente aproximaciones cada vez mejores de la misma.

´ de los resultados Precision ´ de un sistema de ecuaciones lineales en el computador involucra • La resolucion ´ de errores en los datos y errores de redondeo. Por ello: la propagacion ´ 1. Hay que disponer de alguna tecnica que permita predecir cuando la ´ de un sistema de ecuaciones puede propagar drasticamente ´ resolucion estos errores. ˜ metodos ´ ´ ´ 2. Hay que disenar numericos estables, que reduzcan la propagacion de los errores de redondeo tanto como sea posible. ˜ tecnicas ´ ´ de 3. Hay que disenar computacionales que nos permitan, despues ´ de un sistema de ecuaciones, estimar a posteriori la calcular la solucion ´ de la solucion ´ calculada. Es decir, testear si el error con el que se precision la calculo´ esta´ por debajo de una tolerancia aceptable.

23


Sistemas de Ecuaciones Lineales II ´ Gaussiana. Relacion ´ con la factorizacion ´ LU. ´ LU: Eliminacion • Factorizacion

´ de sistemas con matriz triangular Solucion • Dadas ⎛

0

l11

⎜ ⎜ ⎜ l21 L=⎜ ⎜ .. ⎜ . ⎝ ln1

l22

···

0

..

.. .

.

.. .

..

ln2

···

.

⎟ ⎟ ⎟ ⎟ ⎟ 0 ⎟ ⎠

u12

···

0

u22

···

.. .

..

.

..

0

···

0

⎜ ⎜ ⎜ U =⎜ ⎜ ⎝

u11

y

lnn

.

u1n

⎟ u2n ⎟ ⎟ .. ⎟ ⎟ . ⎠ unn

decimos que L es triangular inferior y U es triangular superior.

• Dado que det(L) = l11 l22 · · · lnn

y

det(U ) = u11 u22 · · · unn ,

´ si sus terminos ´ una matriz triangular es no singular si y solo diagonales son todos no nulos. ´ de sistemas de ecuaciones lineales con matrices triangulares es • La resolucion muy sencilla y su costo operacional es bajo.

24


´ de sistemas con matriz triangular (cont.) Solucion • Consideremos un sistema Lx = b con matriz triangular inferior L. ´ progresiva: Procedemos por sustitucion

⎧ ⎪ l11 x1 ⎪ ⎪ ⎪ ⎪ ⎨ l21 x1 + l22 x2 ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

=

b1

x1 = b1 /l11

=

b2

x2 = (b2 − l21 x1 ) /l22

xn = (bn − ln1 x1 − · · · − lnn−1 xn−1 ) /lnn

.. .

.. .

ln1 x1 + · · · + lnn xn

= bn

Para i

• Algoritmo:

= 1, . . . , n ⎛ ⎞ i−1 1 ⎝ lij xj ⎠ xi = bi − lii j=1 n

• Costo operacional:

⎛ ⎝1 +

i=1

i−1 j=1

⎞ 2⎠ =

n

(2i − 1) = n2 flop.

i=1

´ de sistemas con matriz triangular (cont.) Solucion • Ejercicio: 1. Deducir el siguiente algoritmo para resolver un sistema U x

= b con

matriz triangular superior U :

= n, n − 1, . . . , 1 ⎛ ⎞ n 1 ⎝ bi − uij xj ⎠ xi = uii j=i+1

Para i

2. Calcular su costo operacional.

25


´ ´ Gaussiana (M.E.G.) Metodo de Eliminacion ´ ´ gaussiana consiste en reducir mediante • El metodo de eliminacion transformaciones elementales un sistema Ax = b a otro equivalente (es ´ decir, que tenga la misma solucion), de la forma

˜ U x = b, donde U es una matriz triangular superior. Luego, el sistema resultante se resuelve por el algoritmo descrito para matrices triangulares.

• Denotemos el sistema original por A(1) x = b(1) . El proceso empleado consiste en reemplazar las ecuaciones por combinaciones no triviales de las otras. As´ı, consideremos la matriz no singular A (1)

∈ Rn×n y supongamos que

el elemento a11 es no nulo. Consideremos los multiplicadores (1)

mi1 =

ai1

(1)

,

i = 2, . . . , n,

a11

(1)

donde aij donota el elemento que esta´ en la fila i y columna j de A(1) .

´ ´ Gaussiana (cont.) Metodo de Eliminacion ´ ´ en adelante, • Es posible eliminar la incognita x1 de la segunda ecuacion ´ a la fila i, i = 2, . . . , n, de la primera fila previamente por simple sustraccion multiplicada por mi1 y haciendo lo mismo para el vector b: (2)

(1)

(1)

(1)

− mi1 b1 ,

aij = aij − mi1 a1j , (2)

bi (1)

donde bi

= bi

(1)

i, j = 2, . . . , n, i = 2, . . . , n,

´ denota la componente i-esima del vector b(1) .

• As´ı se obtiene un sistema A(2) x = b(2) equivalente al anterior: ⎛ (1) ⎞ ⎛ ⎞ ⎛ (1) ⎞ (1) (1) (1) a11 a12 a13 · · · a1n x1 b1 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ (2) (2) (2) ⎟ ⎜ ⎜ 0 ⎟ ⎜b(2) ⎟ a a · · · a x 2 22 23 2n ⎟ ⎜ ⎜ ⎟ ⎜ 2 ⎟ ⎜ ⎜ ⎟ ⎜ (2) ⎟ (2) (2) (2) ⎟ ⎜ 0 ⎟ ⎜ ⎜ ⎟ a32 a33 · · · a3n ⎟ ⎜ x3 ⎟ ⎜ ⎟ = ⎜b3 ⎟ ⎜ . ⎜ ⎟ .. .. .. ⎟ ⎜ .. ⎟ ⎜ .. ⎟ ⎜ . ⎟ ⎜ ... ⎟ . . . ⎝ ⎠⎝ ⎠ ⎝ ⎠ (2) (2) (2) (2) 0 an2 an3 · · · ann xn bn 26


´ ´ Gaussiana (cont.) Metodo de Eliminacion (2)

´ si a22 = 0, podemos analogamente ´ ´ • A continuacion, eliminar la incognita x2 ´ en adelante. de la tercera ecuacion

• Siguiendo con este proceso un numero finito de veces se obtiene el sistema ´ A(k) x = b(k) ,

1 ≤ k ≤ n,

donde la matriz A(k) toma la siguiente forma:

A

(k)

⎛ (1) a ⎜ 11 ⎜ 0 ⎜ ⎜ . ⎜ . ⎜ . =⎜ ⎜ .. ⎜ . ⎜ ⎜ . ⎜ .. ⎝ 0

(1)

···

···

···

a22

(2)

···

···

···

..

..

a12 .

···

. (k)

0

akk

.. .

.. .

0

ank

···

(k)

··· (i)

Para realizar este proceso hemos supuesto que aii

(1)

a1n

⎟ (2) a2n ⎟ ⎟ .. ⎟ ⎟ . ⎟ ⎟ (k) ⎟ akn ⎟ ⎟ .. ⎟ . ⎟ ⎠ (k) ann

= 0, i = 1, . . . , k − 1.

´ ´ Gaussiana (cont.) Metodo de Eliminacion • Notemos que para k = n obtenemos el sistema triangular superior ⎛ (1) ⎞ ⎛ ⎞ ⎛ (1) ⎞ (1) (1) a11 a12 · · · a1n x1 b1 ⎜ ⎟ ⎜ ⎟ ⎜ (2) ⎟ (2) (2) ⎜ 0 ⎟ ⎜ ⎟ ⎜ a22 · · · a2n ⎟ ⎜ ⎟ ⎜ x2 ⎟ ⎜ b2 ⎟ ⎜ . ⎜ ⎟=⎜ ⎟ .. ⎟ .. .. ⎜ .. ⎟ ⎜ ... ⎟ ⎜ ... ⎟ . . . ⎝ ⎠⎝ ⎠ ⎝ ⎠ (n) (n) 0 ··· 0 ann xn bn (k)

• Los valores akk son llamados pivotes y deben ser valores no nulos para k = 1, . . . , n − 1. (n)

´ ann = 0 y el sistema • Si la matriz original A es no singular, entonces tambien triangular superior resultante puede resolverse por el algoritmo ya visto:

= n, n − 1, . . . , 1 ⎛ ⎞ n (i) 1 (i) aij xj ⎠ xi = (i) ⎝bi − aii j=i+1

Para i

27


Algoritmo del M.E.G. ´ • Recordemos que en el paso k -esimo se parte de la siguiente matriz:

⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝

(1)

(1)

···

···

···

a22

(2)

···

···

···

.. . .. . .. .

..

..

0

···

a11

a12

0

.

.

0

(k) akk

.. .

.. .

0

ank

···

(k)

···

(1)

a1n

⎟ (2) a2n ⎟ ⎟ .. ⎟ ⎟ . ⎟ ⎟ (k) ⎟ akn ⎟ ⎟ .. ⎟ . ⎟ ⎠ (k) ann

Para k

= 1, . . . , n − 1

para i

= k + 1, . . . , n (k)

(k)

mik = aik /akk para j

= k + 1, . . . , n

(k+1)

aij (k+1)

bi

(k)

(k)

= aij − mik akj (k)

= bi

(k)

− mik bk

= n, n − 1, . . . , 1 ⎛ ⎞ n (i) 1 (i) aij xj ⎠ xi = (i) ⎝bi − aii j=i+1

Para i

´ El algoritmo no precisa crear los ceros debajo de la diagonal de • Observacion: ´ la matriz, pues estos luego no se utilizan.

Costo Operacional del M.E.G. ´ • Costo del paso de eliminacion: Para k

= 1, . . . , n − 1

para i

n−1

= k + 1, . . . , n (k)

(k)

mik = aik /akk para j

= k + 1, . . . , n

(k+1) = aij (k+1) (k) bi = bi

=

(k) aij

(k) − mik akj (k) mik bk

k=1

⎡ ⎣

n

i=k+1 n−1

⎧⎛ ⎫⎤ ⎞ n ⎨ ⎬ ⎝1 + ⎠ 2 +2 ⎦ ⎩ ⎭ j=k+1

(n − k) [2(n − k) + 3]

k=1

=

2 3 1 2 7 n + n − n 3 2 6

flop

´ de sistema triangular superior: n2 flop. • Costo de la solucion 2 3 3 2 7 • Costo operacional total: n + n − n flop. 3 2 6

28


Costo Operacional del M.E.G. (cont.)

n

´ Eliminacion

Sist. Triang.

Total M.E.G.

10

705

100

805

2 3 n 3

666

% Elim

% S. T.

87.58

12.42

20

5510

400

5910

5333

93.23

6.77

30

18415

900

19315

18000

95.34

4.66

40

43420

1600

45020

42666

96.45

3.55

50

84525

2500

87025

83333

97.13

2.87

100

671550

10000

681550

666666

98.53

1.47

200

5353100

40000

5393100

5333333

99.26

0.74

300

18044650

90000

18134650

18000000

99.50

0.50

400

42746200

160000

42906200

42666666

99.63

0.37

500

83457750

250000

83707750

83333333

99.70

0.30

600

144179300

360000

144539300

144000000

99.75

0.25

700

228910850

490000

229400850

228666666

99.79

0.21

800

341652400

640000

342292400

341333333

99.81

0.19

900

486403950

810000

487213950

486000000

99.83

0.17

1000

667165500

1000000

668165500

666666666

99.85

0.15

Costo Operacional del M.E.G. (cont.) ´ • Para n grande, los terminos proporcionales a n2 (y a n) resultan despreciables respecto a los proporcionales a n3 . ´ el costo operacional del metodo ´ ´ gaussiana Por esa razon, de eliminacion se dice que es de aproximadamente

2 3 n flop 3 ´ de • Notemos que la mayor parte del costo corresponde a la triangularizacion la matriz: Para k

= 1, . . . , n − 1

para i

= k + 1, . . . , n (k)

(k)

mik = aik /akk para j

Costo operacional:

2 3 n flop. 3

= k + 1, . . . , n

(k+1)

aij

(k)

(k)

= aij − mik akj

29


´ LU Factorizacion • Ejemplo: ⎛

1

⎜ A=⎜ ⎝−2

−3 8

2

⎟ −1⎟ ⎠

−6

4

⎞ m21 = −2 ⎛ m31 = 4

−→

5

⎛ 1 ⎜ U := ⎜ ⎝0 0

−3 2 0

2

−3

1

⎜ ⎜0 ⎝ 0

2

1

⎟ m32 = 3 ⎜ ⎜0 −→ 3⎟ ⎠ ⎝ −3 0

2 6

1 ⎟ ⎜ ⎜ 3 ⎟ ⎠ L := ⎝m21 −12 m31

0 1 m32

−3 2 0

2

⎟ 3 ⎟ ⎠ −12

⎞ ⎛ ⎞ 0 1 0 0 ⎟ ⎜ ⎟ ⎜−2 1 0⎟ = 0⎟ ⎠ ⎝ ⎠ 1 4 3 1

Notemos que

1

0 0

⎞⎛

−3

1

⎜ ⎟⎜ ⎟ ⎜0 LU = ⎜ −2 1 0 ⎝ ⎠⎝ 4 3 1 0

2 0

2

1

⎟ ⎜ ⎜ 3 ⎟ ⎠ = ⎝−2 −12 4

−3 8 −6

2

⎟ −1⎟ ⎠=A 5

´ LU (cont.) Factorizacion ´ del M.E.G. se puede llevar a • Si la matriz A es tal que la etapa de eliminacion (i) cabo (es decir si todos los pivotes aii = 0, i = 1, . . . , n − 1), entonces

A = LU , donde: –

´ y U es la matriz triangular superior que resulta de la eliminacion

L es la matriz triangular inferior de los multiplicadores mij : ⎞ ⎛ 1 0 ··· 0 ⎟ ⎜ .. ⎟ .. ⎜ . ⎜ m21 1 .⎟ ⎟ L=⎜ ⎟ ⎜ .. .. .. ⎟ ⎜ . . . 0 ⎠ ⎝ mn1

···

mnn−1

1

30


´ de sistemas mediante factorizacion ´ LU Solucion ⎧ • Si A = LU , entonces ⎨ Ly = b, Ax = b ⇐⇒ L(U x) = b ⇐⇒ ⎩ U x = y. Por lo tanto, resolver un sistema Ax 1. resolver Ly

= b y, luego,

2. resolver U x

= y.

= b es equivalente a:

• Como estos sistemas son triangulares (inferior y superior, respectivamente), el costo operacional de resolver los dos sistemas es 2n2 flop. • Factorizar la matriz A = LU consiste simplemente en: ´ gaussiana y – triangularizar A por eliminacion – almacenar la matriz triangular L de multiplicadores. Por lo tanto, el costo de factorizar la matriz A

= LU es ≈ 23 n3 flop.

• Como 2n2 23 n3 , el costo operacional total para resolver un sistema ´ LU es ≈ 23 n3 flop. mediante factorizacion

´ de sistemas mediante factorizac. LU (cont.) Solucion • Muchas veces deben resolverse varios sistemas de ecuaciones con la misma 1 m matriz y distintos segundos miembros b , . . . , b (por ejemplo, para calcular A−1 ). • En tal caso, conviene primero factorizar la matriz A = LU (una sola vez!) y luego resolver los pares de sistemas triangulares para cada segundo miembro:

⎧ ⎨ Ly 1 = b1 , ⎩ U x1 = y 1 ,

···

⎧ ⎨ Ly m = bm , ⎩ U xm = y m .

´ costosa del proceso (la factorizacion: ´ 23 n3 ) se hace una sola • As´ı, la parte mas ´ se repite la parte menos costosa (la solucion ´ de los sistemas vez y solo triangulares:

2n2 ).

• Hay algoritmos (Crout, Doolitle) que permiten obtener directamente la ´ LU de una matriz, pero el costo es el mismo que el de hacerlo por factorizacion ´ gaussiana. eliminacion

31


´ de sistemas mediante factorizac. LU (cont.) Solucion ´ gaussiana): • Algoritmo (por eliminacion

´ • Observacion: La matriz triangular superior puede calcularse utilizando las mis-

Para k

= 1, . . . , n − 1

para i

mas posiciones de memoria en las que inicialmente esta´ almacenada A.

= k + 1, . . . , n (k)

(k)

mik = aik /akk para j

= k + 1, . . . , n

(k+1)

aij

(k)

(k)

= aij − mik akj

Para i

= 1, . . . , n i−1 mij yj yi = bi −

´ • Esta no es la forma en que procede M ATLAB ,

pues este software no pretende opti-

mizar el costo de almacenamiento.

j=1

= n, n − 1, . . . , 1 ⎛ ⎞ n 1 (i) aij xj ⎠ xi = (i) ⎝yi − aii j=i+1

Para i

• A fin de no tener que utilizar una matriz ´ para guardar L, pueden almacenarse mas cada multiplicador mij en lugar de la entrada aij que se hace cero en ese paso.

• Sin embargo, hay mucho software que utiliza este truco a fin de evitar tener que usar memoria adicional para almacenar los multiplicadores.

Sistemas de Ecuaciones Lineales III • Pivoteo: Estrategia de pivoteo parcial. ´ a matrices con estructuras particulares: Matrices banda y tridiagonales. • Adaptacion ´ Metodo de Cholesky.

32


Necesidad del pivoteo Para k

para i

´ gaussiana (o • El algoritmo de eliminacion

= 1, . . . , n − 1

´ LU) solo ´ puede lleel de factorizacion

= k + 1, . . . , n (k)

varse a cabo si todos los pivotes son

(k)

mik = aik /akk para j

no nulos: (k)

= k + 1, . . . , n

(k+1)

aij

(k)

akk = 0.

(k)

= aij − mik akj

• Ejemplo. El sistema de ecuaciones siguiente tiene matriz no singular pues su determinante es 1: ⎛ ⎞⎛ ⎞ ⎛ ⎞ 0 1 1 x1 2 ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜1 2 3⎟ ⎜x2 ⎟ = ⎜4⎟ ⎝ ⎠⎝ ⎠ ⎝ ⎠ x3 2 0 1 0 Sin embargo el algoritmo anterior no puede aplicarse pues a11

m21 =

(1) (1) a21 /a11 y

m31 =

= 0 y, por lo tanto,

(1) (1) ´ definidos. a31 /a11 no estan

Necesidad del pivoteo (cont.) ´ con • Para poder resolver el sistema, debe intercambiarse la primera ecuacion cualquiera de las otras de manera de evitar el pivote cero. Por ejemplo, asi:

⎞⎛

⎛ ⎞ 0 1 1 x1 2 ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜1 2 3⎟ ⎜x2 ⎟ = ⎜4⎟ ⎝ ⎠⎝ ⎠ ⎝ ⎠ x3 2 0 1 0

⎛ −→

⎞⎛

⎛ ⎞ 1 2 3 x1 4 ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜0 1 1⎟ ⎜x2 ⎟ = ⎜2⎟ ⎝ ⎠⎝ ⎠ ⎝ ⎠ x3 2 0 1 0

´ ´ de eliminacion • Por otra parte, puede demostrarse que la estabilidad del metodo ´ de errores de redondeo se deteriora si los gaussiana en cuanto a propagacion ´ muy grandes en modulo. multiplicadores mij son numeros ´

• Una forma de evitar ambos inconvenientes, pivotes nulos y multiplicadores grandes en ´ modulo, es realizar en cada paso el intercambio de ecuaciones que produzca el pivote ´ mayor posible en modulo. Esto estrategia se denomina pivoteo parcial.

33


Estrategia de pivoteo parcial ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ �

(1)

(1)

¡¡¡

¡¡¡

¡¡¡

a22

(2)

¡¡¡

¡¡¡

¡¡¡

.. . .. . .. .

..

..

0

¡¡¡

a11

a12

0

.

. (k)

0

akk

.. .

.. .

0

ank

¡¡¡

(k)

¡¡¡

(1)

a1n

⎞

âŽ&#x; (2) a2n âŽ&#x; âŽ&#x; .. âŽ&#x; âŽ&#x; . âŽ&#x; âŽ&#x; (k) âŽ&#x; akn âŽ&#x; âŽ&#x; .. âŽ&#x; . âŽ&#x; ⎠(k) ann

´ • En el paso k -esimo se revisa el vector ⎛ ⎞ (k) a ⎜ kk âŽ&#x; ⎜ .. âŽ&#x; ⎜ . âŽ&#x; âŽ? ⎠(k) ank y se busca la fila

l en la que aparece la en-

´ trada mayor en modulo:

(k) (k) k ≤ l ≤ n : alk = max aik . k≤i≤n

´ • Luego, si l = k , se intercambia esa fila con la k -esima.

• Si la matriz es no singular, siempre habra´ una entrada no nula en ese vector, por lo que as´Ĺ se evitan los pivotes nulos.

(k) (k) ´ despues del intercambio, akk ≼ aik , i = k, . . . , n. Por lo tanto, los • Ademas, ´ multiplicadores no pueden pasar de 1 en modulo: (k) (k) |mik | = aik / akk ≤ 1, i = k, . . . , n.

´ Matrices de permutacion • Si hay intercambios de filas, las matrices triangulares L y U que se obtienen por el ´ ´ gaussiana con estrategia de pivoteo parcial, ya no factorizan metodo de eliminacion ´ de aplicar a A todos los a A, sino que factorizan a la matriz que se obtiene despues intercambios de filas que tuvieron lugar. ´ a toda matriz que se obtenga intercambiado filas de I . • Se llama matriz de permutacion ´ 3 Ă— 3: Por ejemplo, las siguientes son todas las matrices de permutacion ⎛ ⎞⎛ ⎞⎛ ⎞⎛ ⎞⎛ ⎞⎛ ⎞ 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 ⎜ âŽ&#x;⎜ âŽ&#x;⎜ âŽ&#x;⎜ âŽ&#x;⎜ âŽ&#x;⎜ âŽ&#x; ⎜0 1 0âŽ&#x; ⎜0 0 1âŽ&#x; ⎜1 0 0âŽ&#x; ⎜0 0 1âŽ&#x; ⎜0 1 0âŽ&#x; ⎜1 0 0âŽ&#x; âŽ? ⎠âŽ? ⎠âŽ? ⎠âŽ? ⎠âŽ? ⎠âŽ? ⎠0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0

• Los intercambios de filas de una matriz se obtienen multiplicando a izquierda por una ´ Por ejemplo: matriz de permutacion.

⎛

0

⎜ ⎜0 � 1

1 0 0

⎞ ⎛ ⎞⎛ 4 1 2 3 0 âŽ&#x; ⎜ âŽ&#x;⎜ âŽ&#x; ⎜ ⎜ 1âŽ&#x; ⎠âŽ?4 5 6⎠= âŽ?7 1 7 8 9 0

5 8 2

⎞ 6 âŽ&#x; 9âŽ&#x; ⎠3 34


´ LU con estrategia de pivoteo parcial Factorizacion • Teorema. Si A es una matriz no singular, entonces existen matrices no singulares L ´ P , tales que triangular inferior y U triangular superior y una matriz de permutacion LU = P A.

´ ´ gaussiana con • Estas matrices pueden obtenerse mediante el metodo de eliminacion estrategia de pivoteo parcial.

• Si se debe resolver un sistema Ax = b, se procede as´ı:

⎧ ⎨ Ly = P b, Ax = b ⇐⇒ P Ax = P b ⇐⇒ L(U x) = P b ⇐⇒ ⎩ U x = y.

´ ´ gaussiana con estrategia de pivoteo parcial resulta estable de eliminacion • El metodo ´ de errores de redondeo. respecto a la propagacion

´ LU con pivoteo en M ATLAB Factorizacion >> A=[1 2 3;4 5 6;7 8 0]; >> [L,U]=lu(A)

• Comando: [L,U]=lu(A) ´ • L es una matriz psicologica-

L = 0.1429 0.5714 1.0000

1.0000 0.5000 0

0 1.0000 0

U = 7.0000 0 0 >> L*U ans = 1 4 7

8.0000 0.8571 0

0 3.0000 4.5000

mente triangular inferior

• U es una matriz triangular superior

• L*U = A.

2 5 8

3 6 0

35


´ LU con pivoteo en M ATLAB (cont.) Factorizacion >> A=[1 2 3;4 5 6;7 8 0]; >> [L,U,P]=lu(A)

• Comando: [L,U,P]=lu(A) • L es una matriz triangular inferior • U es una matriz triangular superior ´ • P es una matriz de permutacion

L = 1.0000 0.1429 0.5714

0 1.0000 0.5000

0 0 1.0000

U = 7.0000 0 0

8.0000 0.8571 0

0 3.0000 4.5000

• L*U = P*A. P =

0 1 0

0 0 1

1 0 0

´ LU con pivoteo en M ATLAB (cont.) Factorizacion

>> L*U

• Comando: [L,U,P]=lu(A) • L es una matriz triangular inferior

ans = 7 1 4

8 2 5

0 3 6

8 2 5

0 3 6

• U es una matriz triangular superior ´ • P es una matriz de permutacion

• L*U = P*A.

>> P*A ans = 7 1 4

36


Matrices banda • Se dice que A = (aij ) ∈ Rn×n es una matriz banda si aij = 0 cuando |i − j| ≥ , con n. Al numero se lo llama el ancho de banda de la matriz. ´ ⎞ ⎛ × ··· × 0 ··· 0 ⎟ ⎜ .. ⎟ ⎜ .. . . .. .. ⎜. . . . .⎟ ⎟ ⎜ ⎟ ⎜ .. .. ⎜× . . 0⎟ ⎟ ⎜ ⎟ ⎜ .. .. ⎟ ⎜ . . ×⎟ ⎜0 ↑ ⎟ ⎜ .. ⎟ ⎜ .. . . .. .. ⎜. . . . .⎟ ⎠ ⎝ ↓ 0 ··· 0 × ··· × ←−

−→

• Las matrices banda son un caso especial de matrices dispersas y, como tales, deben almacenarse como sparse en M ATLAB a fin de reducir el costo de almacenamiento.

• Estas matrices aparecen muy habitualmente en las aplicaciones; especialmente en la ´ de problemas de valores de contorno para ecuaciones diferenciales. resolucion

´ LU de matrices banda Factorizacion • Si una matriz banda A puede factorizarse LU sin necesidad de pivoteo, entonces las ´ son banda con el mismo ancho de banda que A. matrices triangulares L y U tambien 0

B B. B. B. B B B B× B A=B B B B0 B B B. B. B. B @

0

0

···

..

..

.

..

.

.

..

.

..

.

··· L

..

··· ..

.

..

.

.

0

× ←−

10

···

0 CB× · · ·

..

.

.. . .. . .. .

..

.

CB CB CB CB 0 CB CB CB . CB .. CB CB CB . CB . CB . CB CB CB . CB . B 0C CB . A@

··· × −→

0

..

.

..

.

···

× ..

.

..

.

···

0

···

..

..

.

..

.

.

..

.

..

.

..

···

0

.

1

0C

C C C C C C C 0C C C C C ×C C C .. C C .C C A

.. .

×

↑ ↓

U

´ LU sin pivoteo preserva la estructura banda de las • Por eso se dice que la factorizacion matrices.

37


Matrices tridiagonales • Un caso extremo de matrices banda es el de las matrices tridiagonales ( = 2): ⎛ ⎞ b1 c1 0 ··· 0 ⎜ .. ⎟ .. .. .. ⎜ ⎟ . . . . ⎟ ⎜a2 ⎜ ⎟ ⎜ ⎟ A = ⎜ 0 ... ... ... ∈ Rn×n 0 ⎟ ⎜ ⎟ ⎜. ⎟ .. .. .. ⎜ .. ⎟ . . . c n−1 ⎠ ⎝ 0 · · · 0 an bn ´ muy habitualmente, por ejemplo, al interpolar por splines • Estas matrices aparecen tambien o al resolver problemas de valores de contorno para ecuaciones diferenciales ordinarias.

´ LU de matrices tridiagonales Factorizacion • Cuando se cumplen las siguientes desigualdades, |b1 | > |c1 |, |bi | ≥ |ai | + |ci |,

i = 2, . . . , n − 1,

|bn | > |an |, las matrices tridiagonales pueden factorizarse LU sin necesidad de pivoteo y este ´ de errores de redondeo: procedimiento resulta estable respecto a la propagacion 0 B 1

B B B Bα2 B B B A=B B 0 B B B . B . B . B @

0

0

···

..

.

..

.

..

.

..

.

..

.

..

.

..

.

..

.

···

0 L

···

αn

10

0CBβ1 CB

B .. C CB B .C CB 0 CB B .. C CB .. B . .C CB CB CB . B . 0C CB .

1

CB A@

0

γ1

0

···

..

.

..

.

..

.

..

.

..

.

..

.

..

.

..

.

···

0

···

1

0

C C C C C C C C C 0 C C C C γn−1 C C C A βn

.. .

U 38


´ • Las entradas αi , βi y γi de las matrices L y U pueden calcularse muy facilmente: 0

b1

B B Ba B 2 B B B0 B B B .. B . @ 0

c1

0

b2

c2

..

.

..

.

..

···

0

..

··· ..

.

..

.

..

. . .

an

0

1

0

1

C B C B C Bα C B 2 C B C B =B 0 C C B0 C B C B .. B cn−1 C A @ . 0 bn

0

. . .

··· ..

1 ..

. .

..

···

0

0

10 CB

.CB .CB .CB

.

..

..

···

.

..

.

..

CB

. .

αn

β1 0

CB C B .. B 0C A@ . 1 0

··· ..

. .

β2

γ2

..

..

.

..

..

.

βn−1

.CB . .CB . .CB .

.

···

1β1 = b1

=⇒

β1 = b 1

1γ1 = c1

=⇒

γ1 = c 1

α2 β1 = a2

=⇒

α2 = a2 /β1

α2 γ1 + 1β2 = b2

=⇒

β2 = b2 − α2 γ1

1γ2 = c2

=⇒

γ2 = c 2

···

0

γ1

···

0

0

1

C C C C C C 0 C C C C γn−1 C A βn . . .

···

αn βn−1 = an

=⇒

αn = an /βn−1

αn γn−1 + 1βn = bn

=⇒

βn = bn − αn γn−1

´ LU de matrices tridiagonales (cont.) Factorizacion • As´ı obtenemos el siguiente algoritmo (Algoritmo de Thomas): 1β1 = b1

=⇒

β1 = b 1

1γ1 = c1

=⇒

γ1 = c1

α2 β1 = a2

=⇒

α2 = a2 /β1

α2 γ1 + 1β2 = b2

=⇒

β2 = b2 − α2 γ1

1γ2 = c2

=⇒

γ2 = c2

···

···

αn βn−1 = an

=⇒

αn = an /βn−1

αn γn−1 + 1βn = bn

=⇒

βn = bn − αn γn−1

⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭

β1 = b1 Para i

= 2, . . . , n

γi−1 = ci−1 αi = ai /βi−1 βi = bi − αi γi−1

Costo operacional: n

3 = 3(n−1) flop

i=2

39


´ de sistemas con matrices tridiagonales Solucion ´ LU, • Al resolver un sistema Ax = d con matriz A tridiagonal, a partir de su factorizacion ⎧ ⎨ Ly = d, Ax = d ⇐⇒ L(U x) = d ⇐⇒ ⎩ U x = y, ´ pueden resolverse muy facilmente: ´ los sistemas triangulares tambien

0

1

B B Bα B 2 B B B0 B B B .. B . @ 0

0

··· ..

1 ..

0

. .

..

···

0

10

.

..

.

.

..

.

y1

1

0

d1

1

C B C C B C B C y2 C B d2 C C C B C CB .CB . C . C B .CB . C = B . C → .CB . C B . C C B C CB C B C CB C B B C 0A @yn−1 A @dn−1 C A 1 yn dn CB

.CB .CB .CB

.

..

..

···

αn

y1 = d 1 Para i

= 2, . . . , n

yi = di − αi yi−1

Costo operacional: n

2 = 2(n−1) flop

i=2

´ de sistemas con matrices tridiagonales (cont.) Solucion 0 β1 B B B0 B B B .. B . B B B .. B . @ 0

γ1

0

···

..

.

..

.

..

.

..

.

..

.

..

.

..

.

βn−1

···

···

0

0

10

x1

1

0

y1

1

xn = yn /βn CB C B C CB C B C CB x C B y C CB 2 C B 2 C Para i = n − 1, . . . , 1 CB C B C C B .. C B .. C B C=B C → 0 C xi = (yi − γi xi+1 ) /βi CB . C B . C CB C B C CB C B C B C B C γn−1 C A @xn−1 A @yn−1 A Costo operacional: βn xn yn . . .

n−1

1+

3 = 1+3(n−1) flop

i=1

• El costo total de resolver un sistema de ecuaciomes con matriz tridiagonal mediante el algortimo de Thomas es de 3(n − 1) + 2(n − 1) + 1 + 3n − 2 = 8n − 7 flop. ´ ´ ´ gaussiana aplicado a ciegas sin • Comparese este costo con el del metodo de eliminacion sacar provecho de la estructura tridiagonal de la matriz: 23 n3 . Por ejemplo, un sistema 1000 × 1000 cuesta aproximadamente 666 666 666 flop por M.E.G. y aproximadamente 8 000 flop mediante este algoritmo. 40


Matrices definidas positivas ´ • Una matriz simetrica A ∈ Rn×n se dice definida positiva si

xt Ax > 0

∀x ∈ Rn : x = 0.

´ aparecen muy habitualmente, por ejemplo, al ajustar parametros ´ • Estas matrices tambien de un modelo por cuadrados m´ınimos o al resolver problemas de valores de contorno para ecuaciones diferenciales. ´ si se ´ • Teorema. Sea A ∈ Rn×n una matriz simetrica. A es definida positiva si y solo cumple cualquiera de las siguientes condiciones: 1. los valores propios de A son todos positivos; 2. los determinantes de las submatrices principales de A son todos positivos; 3. existe una matriz L, triangular inferior y no singular, tal que A

= LLt .

´ • Esta ultima propiedad nos dice que si la matriz es simetrica y definida positiva, siempre ´ ´ en matrices triangulares sin necesidad de pivoteo. puede obtenerse una factorizacion ´ no hace falta calcular la matriz triangular superior, pues es la transpuesta de Ademas, la triangular inferior. Veremos que esto reduce el costo operacional a la mitad.

´ Metodo de Cholesky ´ • Se aplica solamente a matrices simetricas y definidas positivas.

• Se basa en calcular directamente la matriz L tal que A = LLt . • Se procede como en el caso de matrices tridiagonales y se obtiene el siguiente algoritmo: Para j

= 1, . . . , n " # j−1 # $ 2 ljk ljj = ajj − k=1

para i

= j + 1, . . . , n j−1 1 aij − lik ljk lij = ljj

• El costo operacional es: ⎡ ⎤ j−1 j−1 n n ⎣ 1+ 2+ 2 ⎦ j=1

k=1

1 3 3n

i=j+1

k=1

flop,

+ n ra´ıces cuadradas.

k=1

41


´ Metodo de Cholesky (cont.) ´ • Para resolver un sistema de ecuaciones Ax = b con matriz simetrica y definida ´ positiva por el metodo de Cholesky, una vez calculada L, se tiene: ⎧ ⎨ Ly = b, t Ax = b ⇐⇒ L(L x) = b ⇐⇒ ⎩ Lt x = y.

• Para resolver los sistemas Ly = b y Lt x = y , se utiliza el algoritmo que ya conocemos para matrices triangulares, cuyo costo operacional es de ≈ 2n2 . ´ • Por lo tanto el costo operacional total del metodo de Cholesky es de ≈ 13 n3 . Vale decir, aproximadamente la mitad que el del M.E.G. ´ se demuestra que si la matriz es simetrica ´ ´ • Ademas, y definida positiva, los metodos de ´ son estables respecto a la propagacion ´ de errores de redondeo sin factorizacion necesidad de estrategia de pivoteo. ´ ´ de errores En particular, el metodo de Cholesky es estable respecto a la propagacion de redondeo.

´ de Cholesky en M ATLAB Factorizacion A =

• Comando: R=chol(A) • R es una matriz triangular superior

• Rt *R = A.

2 -1 0 -1 2 -1 0 -1 2 >> R=chol(A) R = 1.4142 -0.7071 0 1.2247 0 0 >> B=R’*R B = 2.0000 -1.0000 0

-1.0000 2.0000 -1.0000

0 -0.8165 1.1547

0 -1.0000 2.0000

42


Sistemas de Ecuaciones Lineales IV ´ Estimacion ´ a posteriori del error. ´ de errores: Numero • Propagacion de condicion. ´

´ de errores en los datos (segundo miembro) Propagacion • Consideremos el siguiente ejemplo: ⎛ ⎞⎛ ⎞ ⎛ ⎞ −0.10 1.00 x −2.0 ⎝ ⎠ ⎝ 1⎠ = ⎝ ⎠. 0.11 −1.00 2.1 x2

⎛ ´ exacta: Solucion

10.0 ⎠. x=⎝ −1.0

• Supongamos que el segundo miembro b ha sido redondeado a un d´ıgito decimal y que su ´ de este valor redondeado a dos d´ıgitos decimales es b = (−2.00, 2.14)t . La solucion nuevo sistema es:

⎛ ⎝

−0.10 0.11

⎞⎛ ⎞ ⎛ ⎞ x 1.00 −2.00 ⎠ ⎝ 1⎠ = ⎝ ⎠. −1.00 2.14 x2

⎛ ´ exacta: Solucion

14.0

x=⎝

−0.6

⎠.

• Notemos que un error de menos del 2% en los datos produjo un error del 40% en la ´ solucion!!!

43


´ de errores en los datos (matriz) Propagacion • Consideremos de nuevo el mismo ejemplo: ⎞⎛ ⎞ ⎛ ⎞ ⎛ x −0.10 1.00 −2.0 ⎠ ⎝ 1⎠ = ⎝ ⎠. ⎝ 0.11 −1.00 2.1 x2

⎛ ´ exacta: Solucion

10.0 ⎠. x=⎝ −1.0

• Supongamos ahora que la entrada a11 de la matriz es en realidad −0.102 en lugar de ´ de este nuevo sistema es: −0.10 . La solucion ⎞⎛ ⎞ ⎛ ⎞ ⎞ ⎛ ⎛ x −0.102 1.00 −2.00 12.500 ⎠ ⎝ 1⎠ = ⎝ ⎠. ⎠. ⎝ ´ exacta: x = ⎝ Solucion 0.11 −1.00 2.1 −0.725 x2 ´ • Esta vez un error del 2% en los datos produjo un error de alrededor del 25% en la solucion. Otra vez, los errores en los datos se amplificaron, pese a que no se ha usado ´ ´ metodo numerico alguno!

´ de errores en el segundo miembro Propagacion • Supongamos que se quiere resolver el sistema Ax = b, pero que del segundo miembro ´ se conoce un valor aproximado b = b + δb, sujeto a errores δb. b, solo ´ exacta del sistema Ax = b . • Sea x la solucion

´ aproximada x . Entonces, • Sea δx = x − x, el error de la solucion

% % δb δx ≤ A %A−1 % . x b

44


´ Numero ´ de condicion ´ de la matriz A como • Se define el numero ´ de condicion % % cond(A) := A %A−1 % .

• Dado que δx ´ aproximada x , : error relativo de la solucion x δb : error relativo del segundo miembro b , b % % δb δb δx ≤ A %A−1 % = cond(A) , x b b ´ cond(A) es una cota del factor de propagacion ´ entre el el numero ´ de condicion ´ aproximada x . error relativo del dato b y el error relativo de la solucion • Para toda matriz no singular A, cond(A) ≥ 1.

´ de errores en los datos de un sistema Propagacion ´ de la matriz de un sistema tambien ´ rige la propagacion ´ de errores • El numero de condicion ´ en la misma matriz.

• Teorema. Si Ax = b y (A + δA)(x + δx) = (b + δb), con A no singular y δA δA ˜ como para que cond(A) A < 1, entonces, suficientemente pequeno δA δb δx cond(A) ≤ + . x A b 1 − cond(A) δA A

• La capacidad de propagar errores en los datos de un sistema Ax = b depende esencialmente de la matriz A y no del segundo miembro b. • Si cond(A) ≈ 1 decimos que el sistema esta´ bien condicionado. • Si cond(A) 1 decimos que el sistema esta´ mal condicionado.

45


´ de errores de redondeo Propagacion ´ de la matriz tambien ´ determina la capacidad de propagar los • El numero de condicion ´ errores de redondeo cuando el sistema se resuelve computacionalmente. ´ del sistema Ax = b con A ∈ RnĂ—n no singular y • Teorema. Sea x ∈ Rn la solucion b ∈ Rn . ´ calculada mediante el metodo ´ ´ gaussiana con de eliminacion ∈ Rn la solucion ´ Îľ. estrategia de pivoteo parcial, en un computador con constante de precision 1 (k) Sea p = max aij . A ∞ 1≤i,j,k≤n

ˆ Sea x

Entonces, si el sistema no esta´ demasiado mal condicionado de manera que ´ del error relativo de la solucion ´ Îľ cond∞ (A) < 1, se tiene la siguiente acotacion calculada:

ˆ ∞ x − x cond∞ (A) ≤ 2n3 pÎľ . x ∞ 1 − Îľ cond∞ (A)

´ de errores de redondeo (cont.) Propagacion ´ calculada x ˆ es muy grande, • La cota del teorema nos dice que si el error de la solucion necesariamante se debe a alguna (o a varias) de estas razones: ´ del sistema n es muy grande; 1. la dimension Ëœ ´ del computador Îľ no es suficientemente pequena; 2. la constante de precision ´ de la matriz cond(A) es demasiado grande. 3. el numero ´ de condicion

⎧ ⎪ ´ del problema excesivamente grande ⎪ ⎨ dimension

´ es el culpable? • ÂżQuien ´ calculada mala solucion

=⇒

⎪ ⎪ ⎊

´ del computador (pocos d´Ĺgitos) mala precision sistema mal condicionado

´ ´ ´ • Teoremas analogos valen para el metodo de Cholesky, si la matriz A es simetrica y definida positiva, y para el algoritmo de Thomas, si la matriz A es tridiagonal y satisface las desigualdades |b1 | > |c1 |, |bn | > |an | y |bi | ≼ |ai | + |ci |, i = 2, . . . , n − 1.

46


´ a posteriori del error de una solucion ´ calculada Estimacion ´ exacta del sistema Ax = b y sea x ´ calculada. ˆ ≈ x una solucion • Sea x la solucion ´ calculada x ˆ el error de la solucion ˆ. • Sea e := x − x ´ calculada x ˆ. • Sea r := b − Aˆ x el residuo de la solucion ´ calculada coincidir´ıa con la exacta. • Si el residuo fuera nulo (r = 0), la solucion ´ • Si no, ¿como se puede estimar el error e? Notemos que

ˆ ) = Ax − Aˆ Ae = A(x − x x = b − Aˆ x = r. • Por lo tanto, podemos proceder del siguiente modo: 1. Resolvemos computacionalmente

Ae = r. ´ calculada de este sistema e ˆ no va a coincidir exactamente con el error e 2. La solucion ´ del mismo: pero va a ser una aproximacion

ˆ ≈ e =⇒ ˆ e e ≈ e . 3.

´ del tamano ˜ del error e. ˆ e es una estimacion

Sistemas de Ecuaciones Lineales V ´ ´ • Metodos Iterativos: Matrices dispersas. Esquema general. Metodos de Jacobi y de Gauss-Seidel.

47


Matrices dispersas ´ • Cuando la matriz A del sistema a resolver es dispersa, pero no banda, los metodos ´ de Gauss o Cholesky) presentan el defecto (directos) estudiados hasta ahora (eliminacion denominado llenado (fill-in). ´ avanza, se van • El llenado consiste en que, a medida que el proceso de eliminacion creando elementos no nulos en posiciones de L y U en donde la matriz A tiene ceros.

• Como consecuencia del llenado se tiene, por una parte, el aumento del numero de flop y ´ con ello el aumento del error de redondeo. Por otra parte se tiene el aumento en las necesidades de memoria para almacenar las matrices L y U , lo que puede llegar a hacer ˜ ´ imposible aplicar estos metodos cuando A es de gran tamano. ´ • Los metodos que estudieremos en seguida, llamados iterativos, evitan el llenado y sus consecuencias, al trabajar resolviendo reiteradamente sistemas con matriz diagonal o triangular-dispersa.

Llenado de matrices dispersas

48


Llenado de matrices dispersas (cont.) >> load data.0125.mat >> [L,U]=lu(A); >> whos Name Size A L U b

10821x10821 10821x10821 10821x10821 10821x1

Bytes 951580 151325524 151325524 129860

Class sparse sparse sparse sparse

array array array array

Grand total is 25300219 elements using 303732496 bytes

Esquema general • Considere el sistema de ecuaciones Ax = b, con A

∈ Rn×n no singular y b ∈ Rn .

´ Un metodo iterativo para resolver el sistema construye, a partir de un vector inicial x(0) , ´ de vectores x(1) , x(2) , . . . , x(k) , . . . la que, bajo condiciones apropiadas, una sucesion resultara´ convergente a x.

• Si suponemos A = N − P , donde N debe ser invertible, entonces Ax = b

⇐⇒

Nx = P x + b

⇐⇒

x = N −1 P x + N −1 b.

49


Esquema general (cont.) • Se usa la igualdad N x = P x + b para definir un esquema general para construir la ´ {x(k) }. sucesion • Algoritmo del esquema general: Dado el vector inicial x(0) , para k

= 1, 2, . . . resolver:

N x(k) = P x(k−1) + b,

´ hasta que se satisfaga un criterio de detencion. ´ y e(k) := x − x(k) (error de x(k) ), • Definiendo M := N −1 P (matriz de iteracion) para cada k = 1, 2, . . . se tiene

e(k) = M k e(0) ,

k = 1, 2, . . .

´ Convergencia de metodos iterativos. & (k) ' ´ ´ x de Ax = b, si y x • Teorema. (Convergencia) La sucesion converge a la solucion ´ si, ρ(M ) < 1. solo & (k) ' ´ ´ x ´ Si la sucesion x • Observacion. converge, necesariamente lo hace a la solucion de Ax = b. • Lema. (Cota para el radio espectral) Sea A una matriz cuadrada. Para cualquier norma matricial se tiene que

ρ(A) ≤ A .

´ suficiente de convergencia) Una condicion ´ suficiente para que la • Corolario. (Condicion & (k) ' ´ x de Ax = b es que ´ sea convergente a la solucion sucesion x

M < 1, ´ del metodo ´ donde M es la matriz de iteracion que genera a

&

' x(k) . 50


´ Criterio de detencion ´ ´ del proceso. Cuando el proceso iterativo es convergente, este • Detencion se debe (k+1) (k+1) (k+1) detener para un x tal que e = x−x ≤ tol, donde tol indica un nivel de tolerancia prefijado para el error.

• Lema. Para M < 1, se tiene que (k+1) x − x ≤

M (k+1) (k) − x . x 1 − M

´ usual consiste en detener el proceso cuando • Un criterio de detencion (k+1) (k) − x x ≤ tol. Sin embargo, este criterio resulta muchas veces inadecuado! En efecto, si

M 1, usualmente, 1 − M M (k+1) (k) x − x > tol. 1 − M

´ (cont.) Criterio de detencion ´ Al graficar • Observacion.

M F (M ) := , 1 − M

10

9

8

se puede ver que:

1 2 1 M > 2 M ≤

Luego, si M

7

=⇒

F (M ) ≤ 1,

6

5

=⇒

F (M ) > 1.

4

3

> 12 , puede ser incorrecto

´ se tiene detener el proceso cuando solo

(k+1) (k) − x x ≤ tol.

2

1

0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

51


´ (cont.) Criterio de detencion ´ implica calcular M , lo que en general es dif´ıcil. El siguiente • El criterio de detencion lema indica una manera de estimar M .

• Lema. Para k = 1, 2, . . . se tiene: (k+1) x − x(k) mk := x(k) − x(k−1) ≤ M . ´ Demostracion.

( (k+1) (k+1) ) ( ) x x − x(k) − x − x(k) − x ( ) ( ) mk = x(k) − x(k−1) = x(k) − x − x(k−1) − x ( (k) (k+1) ) M e − e(k−1) e − e(k) M y = = M . ≤ max = (k) (k−1) (k) (k−1) n e − e e − e y∈R : y =0 y

´ puede utilizarse mk como una estimacion ´ de M . • En el criterio de detencion En tal caso, el proceso iterativo se detendra´ cuando:

mk (k+1) (k) − x ≤ tol. x 1 − mk

´ de una matriz Descomposicion • Se considera resolver un sistema Ax = b con aii = 0, para i = 1, . . . , n. * +t (0) (0) (0) = x1 , . . . , xn arbitrario y escribamos la matriz A en la forma Sea x A = D − E − F, donde D

= diag(A), −E y −F son: ⎛ ⎜ ⎜ A=⎜ ⎝

..

⎞ .

D −E

−F ⎟ ⎟ ⎟ ⎠ ..

.

• Notemos que tanto D como D − E son matrices invertibles, ya que aii = 0 para i = 1, . . . , n.

52


´ Metodo de Jacobi ´ • El metodo de Jacobi corresponde al esquema iterativo general con

N := D

y

P := E + F .

Dado el vector inicial x(0) ,

• Algoritmo de Jacobi:

para k

= 1, 2, . . . resolver:

Dx(k) = (E + F )x(k−1) + b,

´ hasta que se satisfaga un criterio de detencion. ´ k , el vector x(k) puede obtenerse por componentes como sigue: • En la iteracion Para i

= 1, . . . , n : ⎡ ⎤ i−1 n 1 ⎣ (k) (k−1) (k−1) ⎦ aij xj − aij xj xi = bi − . aii j=1 j=i+1

´ Metodo de Jacobi (cont.) ´ del metodo ´ • La matriz de iteracion de Jacobi verifica: ⎛ ··· 0 − aa12 11 ⎜ .. ⎜ a21 . 0 ⎜ − a22 ⎜ ⎜ . .. .. M = D −1 (E + F ) = ⎜ .. . . ⎜ ⎜ . .. ⎜ .. . ⎝ n1 − aann ··· ···

• Para la norma infinito de M se tiene que

M ∞

···

− aa1n 11

⎟ ⎟ ⎟ ⎟ ⎟ .. ⎟ . ⎟ ⎟ an−1 n ⎟ 0 − an−1 n−1 ⎠ n−1 − anann 0 ⎫ ⎧ ⎪ ⎪ n ⎬ ⎨ 1 = max |aij | . 1≤i≤n ⎪ ⎪ ⎭ ⎩ |aii | j=1 .. . .. .

j =i

• Cuando A es de diagonal dominante estricta, es decir, cuando se tiene que |aii | >

n

|aij |, i = 1, . . . , n,

j=1 j =i

entonces M ∞

´ < 1 y el metodo de Jacobi resulta convergente. 53


´ Metodo de Gauss-Seidel ´ • El metodo de Gauss-Seidel corresponde al esquema iterativo general con

N := D − E ´ es entonces M La matriz de iteracion

y

P := F .

= (D − E)−1 F .

Dado el vector inicial x(0) ,

• Algoritmo de Gauss-Seidel:

para k

= 1, 2, . . . , resolver:

(D − E)x(k) = F x(k−1) + b,

´ hasta que se satisfaga un criterio de detencion. ´ k , el vector x(k) puede obtenerse por componentes como sigue: • En la iteracion Para i

= 1, . . . , n : ⎡ ⎤ i−1 n 1 ⎣ (k) (k) (k−1) ⎦ bi − . aij xj − aij xj xi = aii j=1 j=i+1 (k)

Notemos que esto corresponde a aprovechar en el paso k , los valores xj

ya calculados.

´ Convergencia de los metodos de Jacobi y de Gauss-Seidel ´ • Teorema. Si A es de diagonal dominante estricta, entonces los metodos de Jacobi y de Gauss-Seidel convergen.

´ ´ Para una matriz arbitraria A, la convergencia de uno de estos metodos • Observacion. no implica la convergencia del otro.

´ ´ • Teorema. Si A es simetrica y definida positiva, el metodo de Gauss-Seidel es convergente.

´ ´ ´ Aunque A sea simetrica • Observacion. y definida positiva, el metodo de Jacobi puede ser divergente.

54


´ Convergencia de los metodos (cont.) ´ • Ejemplo. Para s ∈ R, considere la matriz simetrica ⎞ ⎛ 1 s s ⎟ ⎜ ⎟, A=⎜ s 1 s ⎠ ⎝ s s 1 cuyos valores propios son:

1 − s (con multiplicidad 2) y 1 + 2s.

La matriz A es definida positiva cuando s estricta para s

∈ (−0.5, 1) y es de diagonal dominante

∈ (−0.5, 0.5).

´ • Se resolvio´ el sistema Ax = b para un par de valores de s, usando los metodos de t (0) t = (0.5, 0.5, 0.5) . Jacobi y de Gauss-Seidel, con b = (1, 1, 1) y x

• Para s = 0.3, Jacobi itera 37 veces y Gauss-Seidel 12 veces (en ambos casos se ´ visto en clase, con una tolerancia de 10−8 ). implemento´ el criterio de detencion ´ ´ x Ambos metodos entregan como solucion

= (0.6250, 0.6250, 0.6250)t , que es la

´ exacta. solucion

´ Convergencia de los metodos (cont.) • Para s = 0.8, en las mismas condiciones anteriores, Gauss-Seidel converge en la ´ 53 a iteracion

(0.384 615 391 735, 0.384 615 381 035, 0.384 615 381 784)t ´ exacta que difiere de la solucion

x = (0.384 615 384 615, 0.384 615 384 615, 0.384 615 384 615)t en menos de tol

= 10−8 en cada componente.

• En cambio, al cabo de 100 iteraciones Jacobi entrega 1019 × (−1.862 199 431 313, −1.862 199 431 313, −1.862 199 431 313)t , ´ con la solucion ´ del sistema. vector que no tiene ninguna relacion ´ Se nota claramente que, en este caso, el metodo de Jacobi diverge.

55


Sistemas de Ecuaciones Lineales VI ´ ´ • Metodos de descenso: Metodo del gradiente conjugado. Precondicionamiento.

´ asociado a un sistema Problema de minimizacion ´ ´ eficientes para resolver un sistema de ecuaciones • Algunos de los metodos iterativos mas ´ equivalente. lineales se basan en resolver un problema de minimizacion ´ • Si A ∈ Rn×n es simetrica y definida positiva, b ∈ Rn y x, y := xt y denota el ´ cuadratica ´ producto escalar usual en Rn , entonces la funcion

J : Rn −→ R x −→ alcanza un unico m´ınimo en el vector x ´

1 2

Ax, x − b, x

´ del sistema Ax = b. ∈ Rn solucion

56


´ asociado a un sistema (cont.) Problema de minimizacion • En efecto, ∇J(x) =

1 Ax + At x − b = Ax − b, 2

´ si A es simetrica .

´ si Entonces J tiene un punto cr´ıtico en x si y solo

∇J(x) = 0 ´ Ademas,

HJ(x) :=

⇐⇒

∂2J (x) ∂xi ∂xj

Ax = b.

= aij = A

y, por lo tanto, si A es definida positiva, el punto cr´ıtico de J es un m´ınimo.

´ Metodos de descenso ´ • En los metodos de descenso se parte de un punto x(0) ∈ Rn , y, en cada paso k = 0, 1, 2, . . . se determina un nuevo punto x(k+1) ∈ Rn tal que J x(k+1) < J x(k) del siguiente modo: ´ p(k) de descenso de J , 1. se escoge una direccion ´ p(k) , 2. se considera la recta Lk que pasa por el punto x(k) con direccion 3. se escoge el punto x(k+1)

∈ Lk donde J alcanza su m´ınimo sobre Lk . Lk

Lk+1

x(k+1)

p(k)

p(k+1) x(k+2)

x

x(k)

57


´ Metodos de descenso (cont.) • Como Lk = x(k) + Îąp(k) : Îą ∈ R , entonces J(x(k) + Îąp(k) )

= 12 Ax(k) , x(k) − b, x(k) + Ax(k) − b, p(k) Îą + 12 Ap(k) , p(k) Îą2 Por lo tanto,

dJ (k) x + Îąp(k) = 0 dÎą donde r (k)

�⇒

Îą = Îąk :=

r (k) , p(k)

Ap(k) , p(k)

,

= b − Ax(k) es el residuo de x(k) .

Luego

x(k+1) = x(k) + Îąk p(k) .

´ ´ Metodo del maximo descenso ´ ´ de • Los distintos metodos de descenso se distinguen por la manera de escoger la direccion descenso p(k) . ´ mas ´ simple es escoger la direccion ´ de maximo ´ • La eleccion descenso de J :

p(k) = −∇J(x(k) ) = b − Ax(k) = r (k) . ´ conduce al metodo ´ ´ • Esta eleccion del maximo descenso o del gradiente. Dado el vector inicial x(0) ,

r (0) = b − Ax(0) , para k

• Algoritmo:

= 0, 1, 2, . . . (k) (k)

r ,r Îąk = (k) (k) , Ar , r x(k+1) = x(k) + Îąk r (k) , r (k+1) = b − Ax(k+1) = r (k) − Îąk Ar (k) ,

´ hasta que se satisfaga un criterio de detencion. 58


´ Criterio de detencion ´ • Un criterio usual en los metodos de descenso es detener el proceso cuando

r (k)

≤ tol.

b

• Sin embargo, eso no garantiza que el error satisfaga e(k) = x − x(k) ≤ tol !!

´ ´ Convergencia del metodo del maximo descenso ´ • Teorema. (Convergencia) Sean A ∈ RnĂ—n simetrica y deďŹ nida positiva y b ∈ Rn . (k) ´ ´ ´ Para cualquier x(0) ∈ Rn , la sucesion generada por el metodo del maximo x ´ del sistema Ax = b. descenso converge a la solucion ´ los errores e(k) Ademas,

= x − x(k) satisfacen

e(k+1) 2 ≤

donde Îş

Îş − 1 (k)

e 2 , Îş+1

= cond2 (A).

´ del error en cada paso es ´ El factor de reduccion • Observacion.

Îşâˆ’1 2 =1− < 1, Îş+1 Îş+1 lo que asegura la convergencia. Sin embargo, si la matriz es mal condicionada,

Îş 1 =⇒ 1 −

2 ≈1 Îş+1

´ y el metodo converge muy lentamente. 59


Direcciones conjugadas ´ de la direccion ´ de descenso p(k) que genera un metodo ´ ´ eďŹ ciente se • Una eleccion mas (k) respecto a todas las direcciones de descenso basa en ortogonalizar el residuo r anteriores p(j) , j = 1, . . . , k − 1, en el producto interior

x, y A := Ax, y ,

x, y ∈ Rn .

• Las direcciones obtenidas de esta manera satisfacen (k) (j)

Ap , p =0 ∀j = k y por ello se dice que son direcciones conjugadas o A-ortogonales. ´ ´ • Este procedimiento conduce a otro metodo que se denomina el metodo del gradiente conjugado.

´ Metodo del gradiente conjugado Dado el vector inicial x(0) ,

r (0) = b − Ax(0) , p(0) = r (0) , para k

• Algoritmo:

= 0, 1, 2, . . . (k) (k)

r ,p Îąk = (k) (k) , Ap , p x(k+1) = x(k) + Îąk p(k) , r (k+1) = r (k) − Îąk Ap(k) , (k+1) (k+1)

,r r βk+1 = (k) (k) , r ,r p(k+1) = r (k+1) + βk+1 p(k) ,

´ hasta que se satisfaga un criterio de detencion.

60


´ Convergencia del metodo del gradiente conjugado ´ • Teorema. (Convergencia) Sean A ∈ Rn×n simetrica y definida positiva y b ∈ Rn . ´ ´ Para cualquier x(0) ∈ Rn , la sucesion del gradiente x(k) generada por el metodo ´ del sistema Ax = b en a lo mas ´ n pasos. conjugado converge a la solucion ´ los errores e(k) Ademas,

= x − x(k) satisfacen √ κ − 1 (k) (k+1)

e 2 ,

e

2 ≤ √ donde κ = cond2 (A). κ+1

´ Debido a los errores de redondeo, en las condiciones del teorema anterior, • Observacion. ´ ´ de n pasos del metodo. igual pueden ser necesarios mas

´ Convergencia del metodo del gradiente conjugado (cont.) ´ del error en cada paso es • El factor de reduccion √ κ−1 2 √ =1− √ < 1. κ+1 κ+1

´ ´ velozmente que el del maximo ´ converge mas descenso, pues • Si κ > 1, este metodo

2 2 √ . > κ+1 κ+1 Por ejemplo, si κ

= 100, entonces κ−1 ´ del error por paso) ´ ≈ 0.98 (2 % de reduccion – Maximo descenso: κ+1 √ κ−1 ´ del error por paso). ≈ 0.82 (18 % de reduccion – Gradiente conjugado: √ κ+1

´ Sin embargo, si la matriz es muy mal condicionada, el metodo aun ´ converge lentamente.

61


Precondicionamiento • Si la matriz es mal condicionada, una estrategia usual para resolver un sistema Ax = b, −1 se basa en encontrar una matriz P tal que P A sea bien condicionada, para luego resolver el sistema equivalente

P −1 A x = P −1 b.

´ • Sin embargo, si se quiere utilizar un metodo como el del gradiente conjugado, debe −1 ´ notarse que aunque A sea simetrica y deďŹ nida positiva, en general P A no lo es! t ´ • En el caso en que P es simetrica y deďŹ nida positiva, P = HH , con H invertible −1 (Cholesky). En tal caso, P = H −t H −1 y

Ax = b con

ˆ = H −1 AH −t , A

�⇒

x ˆ = H tx

ˆx = ˆ Aˆ b, y

ˆ b = H −1 b.

ˆ = H −1 AH −t tambien ´ ´ lo es, por • Si A es simetrica y deďŹ nida positiva, la matriz A ˆx = ˆ ´ ´ lo que pueden aplicarse metodos como el del gradiente conjugado a Aˆ b. Ademas, −1 −1 −1 Îť P A A max Ďƒ P max ˆ =⇒ cond2 (A) ˆ = −1 = −1 . Ďƒ P A = Ďƒ(A) min Ďƒ P A Îťmin P A

´ Metodo del gradiente conjugado precondicionado Dado el vector inicial x(0) ,

r (0) = b − Ax(0) , resolver P z (0)

= r (0) ,

p(0) = z (0) , para k

• Algoritmo:

= 0, 1, 2, . . . (k) (k)

z ,p Îąk = (k) (k) , Ap , p x(k+1) = x(k) + Îąk p(k) , r (k+1) = r (k) − Îąk Ap(k) , = r (k+1) ,

z (k+1) , r (k+1) = (k) (k) , z ,r

resolver P z

βk+1

(k+1)

p(k+1) = z (k+1) + βk+1 p(k) ,

´ hasta que se satisfaga un criterio de detencion. 62


Precondicionadores ´ • Para que el metodo del gradiente conjugado precondicionado sea eďŹ ciente, debe escogerse un precondicionador P tal que 1. 2.

t ´ P simetrica y deďŹ nida positiva, de manera que P = HH (Cholesky);

P ≈ A, de manera que P −1 A ≈ I , y as´Ĺ −1 P A Îť max ˆ = −1 ≈ 1 cond2 (A) ; cond2 (A) Îťmin P A

3. resolver los sistemas P z

= r sea poco costoso.

• Ejemplo. Precondicionador de Jacobi. Consiste en tomar como P , la diagonal de A: P = diag (A) = diag (a11 , . . . , ann ) . ´ Este precondicionador es efectivo cuando A es simetrica y deďŹ nida positiva y con elementos diagonales muy distintos. ´ resolver sistemas P z Ademas

= r con P diagonal es muy poco costoso.

´ incompleta de Cholesky Descomposicion • Ejemplo. Precondicionador de Cholesky incompleto. Consiste en utilizar P = HH t , ´ ´ de Cholesky, pero solo donde H = (hij ) se obtiene aplicando el algoritmo del metodo para las entradas hij tales que aij = 0. Para las restantes se toma hij = 0. ´ incompleta de Cholesky. • Algoritmo de la descomposicion Para j

= 1, . . . , n j−1 hjj = ajj − h2jk k=1

para i

= j + 1, . . . , n

si aij

= 0, entonces hij = 0, j−1 1 aij − si no, hij = hik hjk hjj k=1

63


´ incompleta de Cholesky (cont.) Descomposicion • Si hjj = 0, j = 1, . . . , n, entonces H resulta no singular y P = HH t puede usarse como precondicionante. ´ de Cholesky ser´Ĺa completa y, en tal • Si A no tuviera entradas nulas, la descomposicion t caso, P = HH = A. Para matrices dispersas, esto no es cierto, pero usualmente P

≈ A.

´ de • Resolver los sistemas P z = r es poco costoso pues ya se dispone de la factorizacion t Cholesky P = HH y basta resolver dos sistemas triangulares. ´ H es igualmente dispersa que A. Ademas

´ de costos computacionales Comparacion • Se considera como ejemplo un sistema con A ∈ RnĂ—n y b ∈ Rn provenientes de un ´ de un problema de EDPs que modela la deformacion ´ programa M ATLAB para la resolucion ´ de una fuerza (como se vera´ en el laboratorio de una membrana bajo la accion correspondiente).

• Se utiliza una tolerancia tol = 10−6 . ´ • Se resuelve el sistema Ax = b mediante el comando M ATLAB pcg (metodo del gradiente conjugado precondicionado): 1. sin precondicionador, 2. con precondicionador P obtenido mediante el comando M ATLAB

cholinc (Cholesky ´ incompleto con rellenado parcial), con el parametro droptol = 10−2 . ´ Tabla I: Numero de iteraciones para cada metodo ´

n MGC MGCP

145

632

2629

10821

44071

32

66

125

261

500

5

10

16

35

65 64


´ de costos operacionales Comparacion Tiempo de Cálculo vs. Tamaño del Sistema

3

10

A\b CG PCG 2

Tiempo de CPU (s)

10

1

10

0

10

−1

10

−2

10

2

3

10

4

10

10

5

10

Número de incógnitas

´ de costos de almacenamiento Comparacion Costo de Almacenamiento vs. Tamaño del Sistema

9

10

A\b CG PCG 8

Memoria utilizada (bytes)

10

7

10

6

10

5

10

4

10 2 10

3

4

10

10

5

10

Número de incógnitas

65


Problemas de M´ınimos Cuadrados • Ajuste de curvas. ´ en el sentido de m´ınimos cuadrados. Ecuaciones • Sistemas rectangulares: Solucion normales. ´ QR. ´ Gram-Schmidt. Factorizacion • Ortogonalizacion: ´ a problemas lineales. • Problemas de cuadrados m´ınimos no lineales: Reduccion

Considere un sistema rectangular de ecuaciones

Ax = b donde A

∈ Rm×n , con n < m, es una matriz rectangular de m filas y n columnas y

b ∈ Rm . ´ sistema sobredeterminado. Este problema, en general, no tiene solucion:

´ en el sentido generalizado siguiente: Una alternativa es buscar una solucion Hallar x

∈ Rn tal que b − Ax 2 sea m´ınima.

´ El vector x que minimiza b − Ax 2 es la solucion ´ en el sentido de m´ınimos Definicion. cuadrados del sistema rectangular.

Ojo! En general:

Ax = b.

66


Ejemplo. Ajuste de polinomios. Dado un conjunto de puntos

(x1 , y1 ), . . . , (xm , ym ), nos proponemos encontrar el polinomio

p(x) = c0 + c1 x + . . . + cn−1 xn−1 , con n

´ cerca de estos puntos en el sentido que < m que este´ mas m

|p(xi ) − yi |2 ,

i=1

sea m´ınima.

Esta suma de cuadrados es el cuadrado de la norma del residuo del sistema rectangular:

1

⎜ ⎜1 ⎜ ⎜ ⎜1 ⎜ ⎜. ⎜ .. ⎝ 1

x1 x2 x3 .. .

xm

. . . xn−1 1

y1

⎜ ⎟ ⎟ c ⎟ ⎜ 0 ⎟ ⎜ y2 ⎟ . . . xn−1 2 ⎜ ⎟ ⎟⎜ c ⎟ ⎜ ⎟ ⎟ n−1 ⎟ ⎜ 1 ⎟ ⎟ . . . x3 ⎟ ⎜ . ⎟ = ⎜ ⎜ y3 ⎟ . ⎟ ⎜ . ⎜ . ⎟ .. ⎟ ⎝ . ⎠ ⎜ .. ⎟ . ⎟ ⎝ ⎠ ⎠ c n−1 . . . xn−1 ym m

67


∈ Rm×n (m ≥ n) y b ∈ Rm . Un vector x ∈ Rn minimiza la norma del ´ si el residuo r es ortogonal a la imagen de A; esto es residuo r 2 = b − Ax 2 si y solo Teorema. Sean A si

At r = 0, t

donde A es la matriz transpuesta de A.

Consecuencia:

x debe satisfacer

At r = 0

⇐⇒

At (b − Ax) = 0

⇐⇒

At Ax = At b.

Estas ultimas ecuaciones reciben el nombre de ecuaciones normales. ´

´ En el caso en que m Observacion:

= n y que la matriz A sea una matriz no singular,

´ la solucion ´ del sistema lineal entonces las ecuaciones normales entregan como solucion

Ax = b.

68


´ unica ´ si todas las columnas de A son l.i.; Las ecuaciones normales tienen solucion si y solo ´ es decir, si rango(A)

= n.

´ la matriz A En este caso, ademas,

t

´ A es simetrica y definida positiva, de donde, las

´ unica ´ ecuaciones normales tienen solucion y se pueden utilizar los metodos estudiados para ´ ´ estas matrices, en particular, el metodo de Cholesky.

Para resolver las ecuaciones normales se puede proceder del siguiente modo: 1. Calcular la matriz A

t

A y el vector At b.

´ de Cholesky: 2. Obtener la matriz L de la factorizacion 3. Resolver el sistema triangular inferior Ly 4. Resolver el sistema triangular superior L

t

At A = LLt .

= At b. x = y.

69


Inconveniente: El condicionamiento de la matriz A

t

A es en general malo, lo que genera

gran sensibilidad respecto a errores de redondeo. Por ejemplo, si A es cuadrada, entonces cond2 (A

t

A) = cond2 (A)2 .

´ factorizacion ´ QR. Ortogonalizar las columnas de A mediante, por ejemplo, Solucion: Gram-Schmidt. Para esto, escribamos:

⎛ ⎜ ⎜ ⎜ ⎜ A=⎜ ⎜a1 ⎜ ⎜ ⎝

donde ai

a2

⎟ ⎟ ⎟ ⎟ m×n . . . an ⎟ ⎟∈R ⎟ ⎟ ⎠

∈ Rm , i = 1, 2, . . . , n, son las columnas de la matriz A.

La idea es construir una matriz

⎜ ⎜ ⎜ ⎜ Q=⎜ ⎜ q1 ⎜ ⎜ ⎝

q2

⎟ ⎟ ⎟ ⎟ m×n . . . qn ⎟ ⎟∈R ⎟ ⎟ ⎠

y una matriz triangular superior

⎛ ⎜ ⎜ ⎜ R=⎜ ⎜ ⎝

r11

r12

...

0

r22

...

.. .

..

.

..

0

...

0

.

r1n

⎟ r2n ⎟ ⎟ ∈ Rn×n , .. ⎟ ⎟ . ⎠ rnn

tales que

A = QR. 70


⎧ ⎪ a1 ⎪ ⎪ ⎪ ⎪ ⎨ a2

⇐⇒

A = QR

⎪ ⎪ ⎪ ⎪ ⎪ ⎩

= r11 q 1 , = r12 q 1 + r22 q 2 , .. .

an

= r1n q 1 + r2n q 2 + . . . + rnn q n .

´ de Gram-Schmidt: Q y R se pueden construir mediante el proceso de ortogonalizacion Para j

= 1, . . . , n :

para i

= 1, . . . , j − 1 :

rij = q ti aj , % % j−1 % % % % rij q i % , rjj = %aj − % % i=1 2 j−1 1 aj − rij q i . qj = rjj i=1

Las columnas de Q son vectores ortonormales:

⎧ ⎨ 1 t q i q j = δij = ⎩ 0

de donde la matriz Q satisface

⎛ ⎜ ⎜ ⎜ t Q Q=⎜ ⎜ ⎜ ⎝

Si rango(A)

q t1 q t2 .. .

q tn

si i = j, si i = j,

⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜q ⎟⎜ 1 ⎟⎜ ⎠⎜ ⎝

q2

⎟ ⎟ ⎟ ⎟ . . . qn ⎟ ⎟ = I. ⎟ ⎟ ⎠

´ de Gram-Schmidt genera una = n, entonces el proceso de ortogonalizacion

matriz R no singular.

71


´ a la resolucion ´ de las ecuaciones normales. Aplicacion Para resolver el sistema de ecuaciones normales:

At Ax = At b,

como

⎧ ⎪ ⎪ ⎨ A = QR, Qt Q = I y ⎪ ⎪ ⎩ R es no singular,

entonces:

At Ax = At b

Cuando A

⇐⇒

Rt Qt QRx = Rt Qt b

⇐⇒

Rt Rx = Rt Qt b

⇐⇒

Rx = Qt b.

∈ Rm×n es una matriz rectangular y b ∈ Rm , el comando MATLAB x=A\b;

´ del sistema rectangular en el sentido de m´ınimos cuadrados. devuelve la solucion ´ mediante el metodo ´ MATLAB obtiene esta solucion QR, pero las matrices Q y R no se obtienen mediante Gram-Schmidt, sino mediante transformaciones de Householder que propagan menos los errores de redondeo.

72


´ polinomial. Ejemplo 1. Un problema de aproximacion

Considere la siguiente tabla de valores:

Se pide ajustar estos datos en el sentido de m´ınimos

x

y

0.0

10.5000

0.5

5.4844

1.0

0.0000

1.5

-3.6094

2.0

-4.5000

2.5

-2.9531

3.0

0.0000

3.5

2.9531

4.0

4.5000

4.5

3.6094

5.0

0.0000

cuadrados por un polinomio de grado 3.

´ Solucion. Nuestro problema se reduce a encontrar constantes a, b, c y d para formar el polinomio

p(x) = ax3 + bx2 + cx + d. Evaluamos el polinomio p en los diferentes valores x de la tabla, obteniendo as´ı el sistema ´ a, b, c y d: lineal rectangular con incognitas

73


0

0.0000

B B 0.1250 B B B 1.0000 B B B 3.3750 B B B 8.0000 B B B 15.6250 B B B 27.0000 B B B 42.8750 B B 64.0000 B B B 91.1250 @ 125.0000 |

0.0000

0.0000

0.2500

0.5000

1.0000

1.0000

2.2500

1.5000

4.0000

2.0000

6.2500

2.5000

9.0000

3.0000

12.2500

3.5000

16.0000

4.0000

20.2500

4.5000

25.0000 5.0000 {z

1.0000

0

1

C 1.0000C C C 1.0000C C C 0 1 1.0000C C a C B C 1.0000C C BbC CB C 1.0000C B C C BcC C@ A 1.0000C C d C 1.0000C | {z } C 1.0000C C x C 1.0000C A 1.0000 }

=

10.5000

1

B C B 5.4844 C B C B C B 0.0000 C B C B C B−3.6094C B C B C B−4.5000C B C B C B−2.9531C B C B C B 0.0000 C B C B C 2.9531 B C B C B 4.5000 C B C B C B 3.6094 C @ A 0.0000 {z } |

A

b

Resolviendo el sistema rectangular en el sentido de m´ınimos cuadrados se obtiene el polinomio:

p(x) = −0.9583x3 + 8.5x2 − 20.7917x + 12. 12 Mediciones Minimos cuadrados 10

8

6

4

2

0

−2

−4

−6

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

74


Ejemplo 2. Un problema no lineal reducible a lineal.

Considere la siguiente tabla de valores

x

0.0000

0.4000

0.8000

1.2000

1.6000

2.0000

y

3.1437

4.4169

6.0203

8.6512

11.0078

16.2161

´ Se quiere ajustar una funcion

f (x) = aebx a estos datos en el sentido de m´ınimos cuadrados.

´ Solucion. Tomando logaritmos se transforma en un problema lineal de cuadrados m´ınimos:

z = ln(y) = ln(f (x)) = ln(a) + bx.

x

0.0000

0.4000

0.8000

1.2000

1.6000

2.0000

z = ln(y)

1.1454

1.4854

1.7951

2.1577

2.3986

2.7860

0

1

B B1 B B B1 B B B1 B B B1 @ |

1

0.0000

1

C 0.4000C C0 1 C C 0.8000C ln(a) A C@ C b 1.2000C C | {z } 1.6000C A 2.0000 {z }

A

x

=

0 1 1.1454 B C B1.4854C B C B C B1.7951C B C B C B2.1577C B C B C B2.3986C @ A 2.7860 | {z }

b

75


Resolvemos el problema de cuadrados m´ınimos y obtenemos:

ln(a) = 1.1539

a = e1.1539 = 3.1705

=⇒

b = 0.8075.

y

Por lo tanto

f (x) = 3.1705e0.8075x . 18 Mediciones Minimos cuadrados 16

14

12

10

8

6

4

2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Otros ejemplos de modelos no lineales reducibles a lineales 2

• f (t) = ceat−bt : en este caso, se aplica logaritmo. • f (t) =

a : en este caso se toman los rec´ıprocos. b+t

• f (t) =

k0 , donde k0 es una constante conocida: en este caso se toman 1 + ae−ct

´ se aplica logaritmo. rec´ıprocos, se resta 1 y despues

76


Ejemplo Inicial M´ınimos Cuadrados

Problema. (Modelo lineal)

En las aguas de un lago hay tres clases de micro-organismos provocadores de enfermedades. Se sabe que, en respuesta a un tratamiento aplicado a las aguas, ´ disminuyendo en forma exponencial de acuerdo al los micro-organismos estan modelo:

p(t) = c1 e−1.5t + c2 e−0.3t + c3 e−0.05t , t ≥ 0, donde p(t) da el numero (en miles) de micro-organismos. De una muestra de las ´ aguas, en un laboratorio se obtuvieron los siguientes datos:

t (horas)

0.5

1

2

3

4

7

5.2

3.8

3.2

2.5

.

p(t) (miles)

´ Ajustar, por m´ınimos cuadrados, los parametros c1 , c2 y c3 del modelo a los datos de la tabla anterior.

77


´ Modelo lineal: continuacion

´ Solucion. Los datos tabulados llevan a que c1 , c2 y c3 verifiquen las ecuaciones:

p(0.5) = c1 e−1.5(0.5) + c2 e−0.3(0.5) + c3 e−0.05(0.5)

= 7.0

p(1.0) = c1 e−1.5(1.0) + c2 e−0.3(1.0) + c3 e−0.05(1.0)

= 5.2

p(2.0) = c1 e−1.5(2.0) + c2 e−0.3(2.0) + c3 e−0.05(2.0)

= 3.8

p(3.0) = c1 e−1.5(3.0) + c2 e−0.3(3.0) + c3 e−0.05(3.0)

= 3.2

p(4.0) = c1 e−1.5(4.0) + c2 e−0.3(4.0) + c3 e−0.05(4.0)

= 2.5

(1)

´ Modelo lineal: continuacion

que matricialmente representamos por AX

e−1.5(0.5)

⎢ ⎢ e−1.5(1.0) ⎢ ⎢ −1.5(2.0) A=⎢ ⎢ e ⎢ −1.5(3.0) ⎢ e ⎣ e−1.5(4.0)

e−0.3(0.5) e−0.3(1.0) e−0.3(2.0) e−0.3(3.0) e−0.3(4.0)

= Y con:

e−0.05(0.5)

⎥ ⎡ c1 e−0.05(1.0) ⎥ ⎥ ⎥ ⎢ ⎢ e−0.05(2.0) ⎥ ⎥ , X = ⎣ c2 ⎥ e−0.05(3.0) ⎥ c3 ⎦ e−0.05(4.0)

⎤ 7.0

⎢ ⎥ ⎢ 5.2 ⎥ ⎢ ⎥ ⎢ ⎥ ⎥ ⎥ e Y = ⎢ 3.8 ⎥ . ⎢ ⎥ ⎦ ⎢ ⎥ ⎢ 3.2 ⎥ ⎣ ⎦ 2.5 ⎤

78


´ Modelo lineal: continuacion

´ ecuaciones que incognitas (sobredeterminado). Este tipo El sistema (1) tiene mas ´ Note que si se resuelven solo ´ las de sistemas, generalmente no tiene solucion. tres primeras ecuaciones de (1) se obtienen:

cˆ1 = 6.6910, cˆ2 = 0.3809 y cˆ3 = 3.6005, pero con estos valores no se satisfacen las otras dos ecuaciones del sistema; a saber, se obtienen p(3)

= 3.3281 = 3.2 y p(4) = 3.0791 = 2.5.

´ Modelo lineal: continuacion

´ de m´ınimos cuadrados de AX Para buscar la llamada solucion el sistema de ecuaciones normales A

t

= Y , se resuelve

t

´ AX = A Y , encontrandose:

c1 = 4.9745, c2 = 3.0079 y c3 = 2.0683 Con estos valores, el modelo ajustado a la tabla es:

p(t) = 4.9745e−1.5t + 3.0079e−0.3t + 2.0683e−0.05t , t ≥ 0.

79


´ Modelo lineal: continuacion

Usando el modelo ajustado se puede predecir, por ejemplo, el n umero de ´ micro-organismos para t

= 1.5 y t = 3.5 que se muestran en seguida:

p(1.5) = 4.3611 ≈ 4.4, y p(3.5) = 2.8150 ≈ 2.8, ´ el numero ademas, inicial de micro-organismos existentes en la muestra debiera ´ ser de p(0)

= c1 + c2 + c3 ≈ 10.1.

´ Modelo lineal: continuacion

11

10

9

8

7

6

5

4

3

2

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Figure 1: Puntos y curva de ajuste

80


´ Interpolacion ´ de Lagrange. • Interpolacion ´ del error. • Estimacion

• Splines cubicas. ´

Idea:

´ esta´ basado en la idea de obtener una El concepto de interpolacion

´ desconocida f de la cual conocemos su ´ p, que aproxime una funcion funcion ´ en un numero valor solo finito de puntos distintos x0 , x1 , . . . , xn . Intuitivamente ´ para que p este´ cerca de f , es natural pedirle que coincida con f en los puntos

x0 , x1 , . . . , xn .

81


´ Polinomial Interpolacion Sean (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ), n + 1 puntos en el plano, tales que

xi = xj si i = j . Diremos que el polinomio p(x) = a0 + a1 x + · · · + am xm , interpola al conjunto de datos, si

p(xi ) = yi ,

i = 0, . . . , n.

´ Dado que se tienen m + 1 parametros independientes a0 , . . . , am y n + 1 condiciones sobre p, es razonable considerar m

= n. El sistema de ecuaciones

´ esta´ dado por que resuelve este problema de interpolacion

⎧ ⎪ a0 + a1 x0 + a2 x20 + · · · + an xn0 = y0 ⎪ ⎪ ⎨ .. .

⎪ ⎪ ⎪ ⎩ a + a x + a x2 + · · · + a xn = y 0 1 n 2 n n n n

Teorema. Dados n + 1 puntos (x0 , y0 ), . . . , (xn , yn ) tales que xi = xj , i = j , entonces existe un unico ´ polinomio p, de grado menor o igual a n, tal que

p(xi ) = yi ,

i = 0, . . . , n.

´ Demostracion. El determinante de la matriz asociada al sistema de ecuaciones que resuelve el ´ esta´ dado por problema de interpolacion

,

(xi − xj ),

0≤j<i≤n

que es evidentemente distinto de cero.

82


Polinomios de Lagrange ´ p, sin tener que resolver un Una manera de calcular el polinomio de interpolacion ´ de los polinomios de Lagrange i , con sistema de ecuaciones, es a traves

i = 0, . . . , n asociados a los puntos x0 , . . . , xn . Estos polinomios de grado n ´ definidos por estan

i (x) :=

n , x − xj j=0 j =i

xi − xj

,

i = 0, . . . , n.

´ : Notar que ellos satisfacen la relacion

⎧ ⎨ 1, i (xj ) = ⎩ 0,

si i

= j,

si i

= j,

i, j = 0, . . . , n.

El conjunto { 0 , 1 , . . . , n } es una base del espacio de polinomios de grado menor o igual a n. Gracias a esto existen escalares α0 , α1 , . . . , αn

∈ R tales

´ p se puede escribir de la siguiente manera: que el polinomio de interpolacion

p(x) = α0 0 (x) + α1 1 (x) + · · · + αn n (x) . Debido a las propiedades de los polinomios de Lagrange es inmediato ver que

αo = y0 , α1 = y1 , . . . , αn = yn , es decir p(x) = y0 0 (x) + y1 1 (x) + · · · + yn n (x) .

83


´ tal que yi = f (xi ), i = 0, 1, . . . , n. Una : R → R una funcion ´ f es a traves ´ del polinomio de interpolacion, ´ manera de aproximar la funcion respecto a x0 , . . . , xn , el que en este caso esta´ dado por Sea f

pn (x) =

n

f (xi ) i (x), n = 0, 1, . . .

i=0

Teorema. ´ real n + 1 veces Sean x0 , . . . , xn numeros reales distintos y f una funcion ´ continuamente diferenciable en el intervalo I = (a, b), donde a = min{x0 , . . . , xn } y b = max{x0 , . . . , xn }. Entonces, para cada x ∈ [a, b], existe ξx ∈ I tal que

E(x) := f (x) −

n

f (xi ) i (x) =

i=0

(x − x0 ) · · · (x − xn ) (n+1) f (ξx ). (n + 1)!

´ Interpolacion ´ lineal. Aplicacion: Para n = 1. Supongamos que x0 ≤ x ≤ x1 , es decir [a, b] = [x0 , x1 ]. Sea h := x1 − x0 , entonces

p(x) = f (x0 )

(x − x1 ) (x − x0 ) + f (x1 ) . (x0 − x1 ) (x1 − x0 )

Luego

f (x) − p(x) = (x − x0 )(x − x1 )

f (ξx ) 2

x0 < ξx < x1 ,

h2 as´ı, como (x − x0 )(x − x1 ) ≤ ∀x ∈ [x0 , x1 ] (ejercicio), entonces 4 max |f (x) − p(x)| ≤

x∈[a,b]

M 2 h , 8

M := max |f (x)| . x∈[a,b]

84


´ Fenomeno de Runge ´ polinomial para un valor de n grande con puntos xi Al realizar una interpolacion equiespaciados, se puede comprobar que se producen grandes oscilaciones del ´ p entre dos puntos consecutivos, especialmente cerca polinomio de interpolacion ´ [a, b]. de los extremos del intervalo de interpolacion

1 , −5 ≤ x ≤ 5, consideremos el 1 + x2 polinomio de grado 10 que interpola f en los puntos xi = −5, −4, −3, . . . , 5. ´ f (x) = Ejemplo: Dada la funcion

2

1./(1+x ) 2 Puntos Exacta Lagrange

1.5

1

0.5

0

−0.5 −5

−4

−3

−2

−1

0

1

2

3

4

5

´ Figure 1: Fenomeno de Runge 85


´ consiste en construir funciones Una estrategia efectiva que evita esta situacion ´ polinomial por tramos (pedazos), en particular las interpolantes de interpolacion spline cubicas. ´

´ por funciones spline cubicas Interpolacion ´ Dados n + 1 puntos (x0 , y0 ), . . . , (xn , yn ) tales que x0

< x1 < . . . < xn .

´ s es una interpolante spline cubica Una funcion ´ en [x0 , xn ], si existen ´ 3, tales que: polinomios q0 , q1 , . . . , qn−1 , de grado a lo mas

• s(x) = qk (x), en [xk , xk+1 ], k = 0, 1, · · · , n − 1, • qk (xk ) = yk ,

qk (xk+1 ) = yk+1 ,

(xk ) = qk (xk ) = s (xk ), k = 1, · · · , n − 1, • qk−1 (xk ) = qk (xk ) = s (xk ), k = 1, · · · , n − 1. • qk−1

86


Las dos ultimas propiedades quieren decir que los polinomios qk tienen la misma ´ pendiente y concavidad en los nodos de acoplamiento. Esto garantiza la suavidad de s en [x0 , xn ]. En particular, cada qk es lineal e interpola a (xk , σk ) y (xk+1 , σk+1 ) en

[xk , xk+1 ], donde σk := s (xk ). En consecuencia: qk (x) = σk con k

x − xk+1 x − xk + σk+1 , xk − xk+1 xk+1 − xk

= 0, 1, · · · , n − 1.

Si hk

:= xk+1 qk , tenemos

− xk , con k = 0, 1, · · · , n − 1, entonces integrando dos veces

σk (xk+1 − x)3 + σk+1 (x − xk )3 qk (x) = + λk (x), 6hk donde λk , con k

= 0, 1, · · · , n − 1, son polinomios de grado 1, que se pueden

escribir de la forma

λk (x) := Ak (x − xk ) + Bk (xk+1 − x), donde Ak y Bk son constantes determinadas por las relaciones qk (xk )

= yk y

qk (xk+1 ) = yk+1 , es decir ellas se determinan despejando su valor de las ecuaciones

yk

=

yk+1

=

σk 2 h + Bk hk , 6 k σk+1 2 h + Ak h k . 6 k

87


Despejando Ak y Bk , y reemplazando dichos valores en el polinomio de qk , obtenemos

-

. (xk+1 − x)3 qk (x) = − hk (xk+1 − x) hk . σk+1 (x − xk )3 − hk (x − xk ) + 6 hk . . xk+1 − x x − xk +yk + yk+1 , hk hk σk 6

k = 0, 1, · · · , n − 1.

´ determinados por el ultimo Los valores σk estan conjunto de condiciones que ´ falta por verificar y que caracterizan a la spline cubica, a saber que la derivada es ´ continua. Es decir, se debe verificar que s resulte continua en cada xk . Para ello derivamos el polinomio qk obteniendo

qk (x)

=

. . 3(xk+1 − x)2 σk+1 3(x − xk )2 σk + hk + − hk − 6 hk 6 hk

+

yk+1 − yk , hk

k = 0, 1, · · · , n − 1.

88


Luego, como qk−1 (xk )

= qk (xk ), k = 1, · · · , n − 1 (continuidad de s ), se

tiene que

σk−1 2σk yk − yk−1 2σk σk+1 yk+1 − yk =− , hk−1 + hk−1 + hk − hk + 6 6 hk−1 6 6 hk para

k = 1, . . . , n − 1.

Es decir, tenemos un sistema de ecuaciones lineales:

/ hk−1 σk−1 + 2(hk−1 + hk )σk + hk σk+1 = 6

yk+1 − yk yk − yk−1 − hk hk−1

0

´ k = 1, . . . , n − 1, constituido por n − 1 ecuaciones y n + 1 incognitas : σ0 , . . . , σn . con

89


Para resolver este sistema, por ejemplo podemos asignar valores arbitrarios a las ´ ´ σ0 y σn , reduciendo as´ı el numero de incognitas a n − 1. Cuando se incognitas ´ toma σ0

= σn = 0, la interpolante que se obtiene se denomina spline

cubica ´ natural. Escribiendo las ecuaciones de manera matricial para la spline ´ cubica natural, se obtiene el siguiente sistema tridiagonal, con matriz simetrica y ´ definida positiva.

⎡ a1 ⎢ ⎢ b1 ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

⎤⎡

b1 a2

b2

..

..

.

.

bn−3

..

.

an−2 bn−2

σ1

d1

⎥⎢ ⎥ ⎢ ⎥ ⎥ ⎢ σ2 ⎥ ⎢ d2 ⎥ ⎥⎢ ⎥ ⎢ ⎥ ⎥⎢ . ⎥ ⎢ . ⎥ ⎥ ⎢ .. ⎥ = 6 ⎢ .. ⎥ ⎥⎢ ⎥ ⎢ ⎥ ⎥⎢ ⎥ ⎢ ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ bn−2 ⎦ ⎣σn−2 ⎦ ⎣dn−2 ⎦ an−1 σn−1 dn−1

donde

ak = 2(hk−1 + hk ), dk =

yk − yk−1 yk+1 − yk − , hk hk−1

bk = h k ,

k = 1, . . . , n − 1,

k = 1, . . . , n − 2,

90


´ f del fenomeno ´ Ejemplo: Consideremos nuevamente la funcion de Runge. Si calculamos la spline cubica natural s que interpola a f en los puntos ´ xi = −5, −4, −3, . . . , 5 , obtenemos

2

1./(1+x ) 2

Puntos Exacta Lagrange Spline

1.5

1

0.5

0

−0.5 −5

−4

−3

−2

−1

0

1

2

3

4

5

91


´ Numerica ´ Integracion I ´ numerica. ´ • Reglas elementales de integracion

• Regla del Punto Medio. • Regla de los Trapecios. • Regla de Simpson.

Para aproximar una integral de la forma

b

f (x) dx, a

puede aproximarse el integrando f por el polinomio p

∈ Pn que interpola a f en (n + 1)

´ puntos x0 , . . . , xn e integrar el polinomio de interpolacion:

b

b

f (x) dx ≈

a

p(x) dx =: In (f ). a

Luego, el valor aproximado de la integral, In (f ), se calcula expl´Ĺcitamente.

El error que se comete al aproximar la integral por In (f ) es

Rn (f ) := a

donde E(x)

b

f (x) dx −

b

p(x) dx = a

b

E(x) dx, a

´ := f (x) − p(x) es el error de interpolacion.

92


´ Si se usa la formula de Lagrange:

p(x) =

n

f (xi ) i (x),

i=0

para calcular expl´Ĺcitamente In (f ), se tiene

b

In (f ) =

p(x) dx = a

n

i (x) dx f (xi ) = a

i=0

con

b

n

Ai f (xi ),

i=0

b

Ai =

i (x) dx,

i = 0, . . . , n.

a

Llamaremos:

•

n

´ numerica ´ Ai f (xi ): regla de integracion o regla de cuadratura.

i=0

´ • xi : nodos de la regla de integracion, ´ • Ai : coeficientes o pesos de la regla de integracion.

´ numerica, ´ El error de la integracion

b

Rn (f ) := a

f (x) dx −

b

p(x) dx, a

´ del error de interpolacion: ´ puede estimarse a partir de la expresion

E(x) := f (x) − p(x) = para algun ´ Ξx

(x − x0 ) ¡ ¡ ¡ (x − xn ) (n+1) (Ξx ), f (n + 1)!

∈ (a, b).

As´Ĺ:

Rn (f ) =

b

b

E(x) dx = a

a

(x − x0 ) ¡ ¡ ¡ (x − xn ) (n+1) (Ξx ) dx. f (n + 1)!

93


Regla del punto medio (elemental): En este caso,

n = 0, con x0 =

A0 = b − a y se obtiene: I0 (f ) = (b − a) f (1 x),

Si f

a+b . 2

con

x 1 :=

a+b . 2

´ esta´ dado por: ∈ C 2 ([a, b]), el error de integracion b b f (Ξx ) R0 (f ) := f (x) dx − I0 (f ) = (x − x 1)2 dx. 2 a a

Llamando M2

:= max |f (x)| y evaluando la integral restante, se obtiene: x∈[a,b]

|R0 (f )| ≤

M2 (b − a)3 . 24

Regla del punto medio (compuesta). El intervalo [a, b] se divide en n subintervalos iguales:

xi := a + ih,

i = 0, 1, . . . , n,

con

h :=

b−a . n

La regla del punto medio compuesta se obtiene aplicando la regla del punto medio elemental en cada subintervalo [xi−1 , xi ]:

b

f (x) dx = a

n

xi

f (x) dx

xi−1

i=1 n

≈ h

i=1

f (1 xi ),

con

x 1i :=

xi−1 + xi . 2

94


La regla del punto medio (compuesta) consiste en aproximar la integral por:

IM (f ) := h

n

f (1 xi ),

con

x 1i :=

i=1

Cuando f

xi−1 + xi . 2

∈ C 2 ([a, b]), para el error

b

RM (f ) :=

f (x) dx − IM (f )

a

se tiene:

|RM (f )| ≤

M2 (b − a)h2 , 24

con

M2 := max |f (x)|. x∈[a,b]

En consecuencia, esta regla es exacta para integrar polinomios de grado menor o igual que uno (P1 ).

n = 1, con x0 = a y x1 = b. b−a En este caso, A0 = A1 = y se obtiene: 2 Regla del trapecio (elemental):

b−a [f (a) + f (b)] . 2

I1 (f ) =

Si f

´ se tiene: ∈ C 2 ([a, b]), para el error de integracion b R1 (f ) := f (x) dx − I1 (f ) a

b

=

(x − x0 )(x − x1 )

a

= para algun ´ Ξ

−

f (Ξx ) dx 2

(b − a)3 f (Ξ), 12

∈ (a, b).

95


Regla de los trapecios (compuesta). El intervalo [a, b] se divide en n subintervalos iguales:

xi := a + ih,

i = 0, 1, . . . , n,

con

h :=

b−a . n

La regla de los trapecios compuesta se obtiene aplicando la regla del trapecio elemental en cada subintervalo [xi−1 , xi ]:

b

f (x) dx = a

≈

n i=1 n i=1

xi

f (x) dx,

xi−1

h [f (xi−1 ) + f (xi )] 2

3 n−1 f (a) + f (b) f (xi ) . + = h 2 i=1 2

La regla de los trapecios (compuesta) consiste en aproximar la integral por:

2

3 n−1 f (a) + f (b) IT (f ) := h f (xi ) . + 2 i=1

Cuando f

∈ C 2 ([a, b]), el error de esta regla satisface: b (b − a)h2 f (Ξ), RT (f ) := f (x) dx − IT (f ) = − 12 a

para algun ´ Ξ

∈ (a, b) y, por lo tanto, |RT (f )| ≤

M2 (b − a)h2 , 12

con

M2 := max |f (x)|. x∈[a,b]

Esta regla es exacta para integrar polinomios de grado menor o igual que uno (P1 ).

96


n = 2, con x0 = a, x1 =

Regla de Simpson (elemental): En este caso,

A 0 = A2 =

I2 (f ) :=

Si f

a+b y x2 = b . 2

b−a b−a y A1 = 4 , y se obtiene: 6 6

b−a [f (a) + 4f (1 x) + f (b)] , 6

con

x 1 :=

a+b . 2

´ se tiene: ∈ C 4 ([a, b]), para el error de integracion 5 b 1 b−a R2 (f ) := f (x) dx − I2 (f ) = − f (4) (Ξ), 90 2 a

para algun ´ Ξ

∈ (a, b).

Regla de Simpson (compuesta) El intervalo [a, b] se divide en 2n subintervalos iguales:

xi := a + ih,

i = 0, 1, . . . , 2n,

con

h :=

b−a . 2n

La regla de de Simpson compuesta se obtiene aplicando la regla de Simpson elemental en cada subintervalo [x2i−2 , x2i ]:

b

f (x) dx = a

≈

n i=1 n i=1

=

x2i

f (x) dx,

x2i−2

2h [f (x2i−2 ) + 4f (x2i−1 ) + f (x2i )] 6

2 3 n n−1 h f (a) + f (b) + 4 f (x2i−1 ) + 2 f (x2i ) . 3 i=1 i=1

97


La regla de Simpson (compuesta) consiste en aproximar la integral por:

2

IS (f ) :=

Cuando f

n

n−1

3

h f (x2i−1 ) + 2 f (x2i ) . f (a) + f (b) + 4 3 i=1 i=1

∈ C 4 ([a, b]), el error de esta regla satisface: b (b − a)h4 (4) RS (f ) := f (x) dx − IS (f ) = − f (Ξ), 180 a

para algun ´ Ξ

∈ (a, b).

Esta regla es exacta para integrar polinomios de grado menor o igual que tres (P3 ).

Observaciones. 1. Es costumbre referirse a las reglas compuestas IM (f ), IT (f ) e IS (f ) simplemente como regla del punto medio, regla de los trapecios y regla de Simpson. 2. Existen versiones de las reglas para nodos no equiespaciados. 3. Se dice que una regla es de orden hp , y se escribe O(hp ), cuando el error satisface

|R| ≤ Chp , para alguna constante C > 0 independiente de h. As´Ĺ, las reglas del punto medio y de los trapecios son O(h2 ), mientras que la regla de Simpson es O(h4 ).

98


´ Numerica ´ Integracion II ´ • Metodo de Romberg.

• Reglas de Gauss-Legendre. • Integrales Multiples. ´ • Integrales Impropias.

´ Metodo de Romberg Usando la regla de trapecios con diferentes pasos h se pueden obtener reglas de mayor ´ orden. El siguiente proceso, aplicable a funciones muy suaves, se llama metodo de Romberg

´ de y se basa en que si IT (f ) es la aproximacion

b

f (x) dx con paso h, entonces a

b

f (x) dx = IT (f ) + c2 h2 + c4 h4 + · · · + c2m h2m + · · ·

a

donde las constantes ci son independientes de h.

Sean

I :=

b

f (x) dx :

a 0 Th :=

IT (f ) :

el valor exacto de la integral, el valor de la integral calculado por trapecios con paso h.

99


´ Con esta notacion,

I = Th0 + c2 h2 + c4 h4 + · · · + c2m h2m + · · ·

(1)

´ Analogamente, calculando I por trapecios con paso h 2 , se tiene

2 4 2m h h h I = T h0 + c2 + c4 + · · · + c2m + ··· 2 2 2 2

(2)

´ Multiplicando la ec. (2) por 4 y restandole la ec. (1), se obtiene 0

I = Th +

T h0 − Th0 2

3

2

4 6 h h + cˆ4 + cˆ6 + ··· 2 2

(3)

Comparando la ec. (2)

2 4 2m h h h I = T h + c2 + c4 + · · · + c2m + ··· 2 2 2 2 0

con la ec. (3) 0

I = Th + 2

T h0 − Th0 2

3

4 6 h h + cˆ4 + cˆ6 + ··· 2 2

(2)

(3)

vemos que

T h0 − Th0 2

3

0

´ de la parte principal del error de T h . es una estimacion 2

1

0

2

2

• T h := T h +

4 h ´ de I de orden es una aproximacion : 2 4 6 h h 1 I = T h + cˆ4 + cˆ6 + ··· 2 2 2

T h0 − Th0 2

3

(4)

100


Calculando I por trapecios con paso h 4 , se tiene

2 4 2m h h h I = T h + c2 + c4 + · · · + c2m + ··· 4 4 4 4 0

(5)

´ Multiplicando la ec. (5) por 4 y restandole la ec. (2), se obtiene 0

I = Th +

T h0 − T h0 4

2

3

4

4 6 h h + cˆ6 + ··· + cˆ4 4 4

(6)

Comparando (5) con (6) vemos que:

T h0 − T h0 4

2

3

´ de la parte principal del error de T h0 . es una estimacion 4

1

0

4

4

• T h := T h +

4 h ´ de I de orden es una aproximacion : 3 4 4 6 h h I = T h1 + cˆ4 + cˆ6 + ··· 4 4 4

T h0 − T h0 4

2

(7)

´ a partir de las ec. (4) y (7): Ademas,

4 6 h h I = T h + cˆ4 + cˆ6 + ··· 2 2 2 1

(4)

4 6 h h I = T h + cˆ4 + cˆ6 + ··· 4 4 4 ´ la ec. (4), se obtiene que: multiplicando la ec. (7) por 16 y restandole 1

T h1 − T h1 4

2

15

(7)

´ de la parte principal del error de T h1 . es una estimacion 4

2

1

4

4

• T h := T h +

T h1 − T h1 4

2

15

6 h ´ de I de orden es una aproximacion : 4 6 h 2 ˆ I = T h + cˆ6 + ··· 4 4

´ Este procedimiento se puede iterar como se indica en el siguiente grafico:

101


Paso

Trap.

h

Th0

0 Th/2

h/2

0 Th/4

h/4

0 Th/8

h/8

h/16

0 Th/16

22

\

24

Δ −1

26

Δ −1

0 0 Th/2 −Th

3

/ \

1 Th/2

0 0 Th/4 −Th/2

3

/ \

1 Th/4

0 0 Th/8 −Th/4

3

/ \

Δ −1

1 Th/8

\

1 1 −Th/2 Th/4

15

/ \

2 Th/4

1 1 −Th/4 Th/8

15

/

2 Th/8

\ /

2 2 −Th/4 Th/8

63

3 Th/8

0 0 Th/16 −Th/8

3

/

1

´ Ejemplo: Calculo de

1 Th/16

...

etc.

2

e−x dx con error menor que 10−9 .

0

Paso

Trapecios

0.5

0.731 370 251

0.25

0.125

0.0625

· · ·

0.00025

0.742 984 097

0.745 865 614

0.746 584 596

22 \ / \ / \ /

Δ −1

0.003 871 281

0.000 960 505

0.746 826 120

0.000 239 660

Δ −1

26

Δ −1

0.746 855 379

0.746 824 257

\ / \ /

−0.000 001 950

0.746 824 169 910

−0.000 000 124

0.746 824 133 230

\ /

−0.000 000 000 582

0.746 824 132 647

0.746 824 128

(n=4000)

0.000125 0.746 824 131

(n=8000)

· · ·

24

Valor exacto de la integral:

0.746 824 132 812 . . . . 102


REGLAS DE GAUSS-LEGENDRE ´ Se considera el calculo de integrales en el intervalo [−1, 1]:

1

f (x) dx, −1

´ de la forma: usando reglas de integracion n

In (f ) =

Ai f (xi ).

i=1

A diferencia de las reglas anteriores, en las reglas Gaussianas, tanto los nodos xi , como las coeficientes Ai , i

= 1, . . . , n, se determinan de modo que In (f ) resulte exacta cuando f

es un polinomio del grado mayor posible.

Polinomios de Legendre Se trata de una base del espacio de polinomios, ortogonal en el producto interior:

1

(p, q) :=

p(x)q(x) dx. −1

´ Puede obtenerse a partir de la base canonica

&

' 1, x, x2 , . . . , mediante el proceso de

Gram-Schmidt:

p0 (x) = 1, p1 (x) = x, 1 3 p2 (x) = x2 − , 2 2 ...

103


Los polinomios de Legendre satisfacen entonces:

• {p0 , . . . , pn } es una base de Pn , • pn ⊥ Pn−1 . ´ ´ recursiva: Pueden calcularse facilmente mediante la siguiente relacion

pn+1 (x) =

2n + 1 n x pn (x) − pn−1 (x). n+1 n+1

Teorema. pn tiene n ra´ıces distintas x1 , . . . , xn , todas en el intervalo (−1, 1). Teorema. Existen coeficientes Ai , i

1

−1

es exacta para f

´ = 1, . . . , n, tales que la regla de integracion

f (x) dx ≈

n

Ai f (xi )

i=1

∈ P2n−1 .

La regla del teorema anterior se llama Regla de Gauss-Legendre:

1

−1

f (x) dx ≈

n

Ai f (xi )

i=1

Errror de la regla de Gauss-Legendre:

∈ C 2n ([−1, 1]), entonces el error de la regla de Gauss-Legendre satisface: 1 n f (2n) (ξ) 1 2 [pn (x)] dx, R := f (x) dx − Ai f (xi ) = (2n)! −1 −1 i=1

Teorema. Si f

para algun ´ ξ

∈ (−1, 1).

104


Cambio de intervalo. Aunque las reglas de Gauss-Legendre se definen sobre el intervalo [−1, 1], mediante el cambio de variables:

a+b b−a + t, 2 2 se pasa de una integral en [a, b] a una integral en [−1, 1]: b b−a 1 f (x(t)) dt, f (x) dx = 2 −1 a x(t) =

´ las reglas de Gauss-Legendre son aplicables a integrales sobre Mediante esta transformacion, cualquier intervalo [a, b].

Tanto los nodos xi , como los coeficientes Ai de las reglas de Gauss-Legedre en el intervalo

[−1, 1] se encuentran tabulados para distintos valores de n (t´ıpicamente 1 ≤ n ≤ 16).

´ Algunos de estos valores se exhiben a continuacion: xi

Ai n=1

0.000000000000000

2.00000000000000

n=3 0.555555555555555 ± 0.774596669241483 0.000000000000000

0.888888888888889

n=5 ± 0.906179845938664 0.236926885056189 ± 0.538469310105683 0.478628670499367 0.000000000000000

0.568888888888889

n=7 ± 0.949107912342759 0.129484966168870 ± 0.741531185599394 0.279705391489276 ± 0.405845151377397 0.381830050505119 0.000000000000000

0.417959183673470

xi

Ai

n=2 1.00000000000000 ± 0.577350269189626 n=4 0.347854845137455 ± 0.861136311594053 ± 0.339981043584856 0.652145154862547 n=6 ± 0.932469514203152 0.171324492379170 ± 0.661209386466265 0.360761573048138 ± 0.238619186083197 0.467913934572691 n=8 ± 0.960289856497537 0.101228536290376 ± 0.796666477413627 0.222381034453375 ± 0.525532409916329 0.313706645877887 ± 0.183434642495650 0.362683783378362

105


Ejemplo: Valor calculado de las siguientes integrales mediante la regla de Gauss-Legendre de n puntos: Z

1 −1

e

−x2

Z dx

√ Ď€ 0

sen x2 dx

n

integral calculada

n

integral calculada

1

2.00000000000000

1

1.253314137315500

2

1.43306262114758

2

0.945846306765387

3

1.49867959566003

3

0.881724441044291

4

1.49333462244954

4

0.895101280858322

5

1.49366392070263

5

0.894873008285135

6

1.49364761415061

6

0.894829867593220

7

1.49364828886942

7

0.894831432899344

8

1.49364826489901

8

0.894831471817628

12

1.49364826562485

12

0.894831469484145

16

1.49364826562485

16

0.894831469484145

...

...

...

...

INTEGRALES MULTIPLES ´ dimensiones. Como ejemplo, considere el calculo ´ Las ideas anteriores se extienden a mas de ´ ´ de dos variables f (x, y) en el rectangulo D la integral de una funcion

I=

b

d

f (x, y) dx dy = a

:= [a, b] Ă— [c, d]:

f (x, y) dy dx.

D

Se tiene que

c

b

I=

F (x) dx, a

para

F (x) :=

d

f (x, y) dy. c

106


La integral I se calcula con una regla

b

F (x) dx ≈

a

n i=0

con error

b

RF :=

F (x) dx −

a

y, para cada i

xi ∈ [a, b],

Ai F (xi ), n

Ai F (xi )

i=0

= 0, . . . , n, F (xi ) se calcula con otra regla d m F (xi ) = f (xi , y) dy ≈ Bj f (xi , yj ), c

j=0

con errores

Rfi

Entonces,

a

b

yj ∈ [c, d],

:=

d

f (xi , y) dy −

c

d

Bj f (xi , yj ),

j=0

f (x, y) dx dy ≈

c

m

m n

Ai Bj f (xi , yj ),

i=0 j=0

´ doble resultante es y el error R de la regla de integracion

b

R := a

c

d

f (x, y) dx dy −

m n i=0 j=0

Ai Bj f (xi , yj ) = RF +

n

Ai Rfi .

i=0

107


INTEGRALES IMPROPIAS ´ anteriores son aplicables cuando: Todas las reglas de integracion

• f es acotada en el intervalo [a, b] y • el intervalo [a, b] es finito. Para aplicarlos a integrales impropias se debe previamente hacer ciertos ajustes que dependen de la integral misma.

Integrando no acotado. Considere la integral

b

f (x) dx a

con integrando f (x) no acotado en x

= a, pero tal que la integral es convergente.

Dada una tolerancia para el error, se debe determinar (anal´ıticamente) r

a

y luego tomar

a

b

r

f (x) dx ≤

f (x) dx ≈

> a tal que

b

f (x) dx. r

108


Dominio no acotado. ´ no es acotado. La misma idea anterior se puede aplicar cuando el intervalo de integracion

Por ejemplo, para

f (x) dx, 0

se debe determinar (anal´ıticamente) r

> 0 tal que ∞ f (x) dx ≤ r

y luego tomar

0

f (x) dx ≈

r

f (x) dx. 0

A veces un cambio de variable es util! ´ Por ejemplo,

• Para cualquier f ∈ C([0, 1]), el cambio x = tn transforma 1 1 1 −n x f (x) dx en n f (tn )tn−2 dt. • El cambio x =

0

0

1 transforma t ∞ −1/x2 e dx x2 1

en

1

2

e−t dt.

0

109


Ecuaciones No Lineales ´ • Ecuaciones no Lineales. Metodos de Convergencia Garantizada: ´ ´ Metodo de Biseccion ´ ´ • Metodos de Convergencia Veloz: Metodos de Newton–Raphson y de la Secante. ´ • Sistemas de Ecuaciones no Lineales. Metodo de Newton.

Ecuaciones y Sistemas de Ecuaciones no Lineales ´ ´ ´ de ecuaciones o sistemas Estudiaremos algunos metodos basicos de resolucion de ecuaciones no lineales. El problema consiste en:

• dada f : R −→ R (no lineal), encontrar x ∈ R tal que f (x) = 0, para el ´ o bien caso de una sola ecuacion,

• dada f : Rn −→ Rn (no lineal), encontrar x = (x1 , . . . , xn )t ∈ Rn tal que f (x) = 0, para el caso de un sistema de ecuaciones. ´ ´ x se denomina ra´ız de la Para el caso escalar (una sola ecuacion), la solucion ´ f. funcion

110


´ Metodos de convergencia garantizada Existencia de ra´ıces ´ continua en el : [a, b] −→ R una funcion intervalo [a, b] y supongamos que f (a) < f (b). Entonces, para cada valor intermedio z tal que f (a) < z < f (b), existe α ∈ (a, b) tal que f (α) = z . Teorema del Valor Intermedio. Sea f

´ se obtiene para el caso que f (a) La misma conclusion

> f (b).

En particular, si f (a) y f (b) tienen signos opuestos, entonces z

= 0 es

precisamente un valor intermedio y, por lo tanto, existe por lo menos una ra´ız α de f en el intervalo (a, b).

´ ´ Algoritmo. Metodo de Biseccion.

< b y f ∈ C([a, b]) tal que f (a)f (b) < 0, sean xa := a y xb := b. Por lo tanto f tiene una ra´ız en el intervalo (xa , xb ). xa + xb 2. Sea xr := . 2 1. Dados a y b tales que a

3. Forzosamente debemos caer en uno de los siguientes casos: (a)

f (xa )f (xr ) = 0: en este caso se tiene que f (xr ) = 0; por lo tanto ya localizamos una ra´ız, xr , y se finaliza el proceso;

(b)

f (xa )f (xr ) < 0: por lo tanto f tiene una ra´ız en el intervalo (xa , xr ) y redefinimos entonces xb como xr ;

(c)

f (xa )f (xr ) > 0: por lo tanto f tiene una ra´ız en el intervalo (xr , xb ) y redefinimos entonces xa como xr .

4. En los casos (b) y (c) anteriores f tiene una ra´ız en el nuevo intervalo

(xa , xb ). Por lo tanto, el proceso se vuelve a repetir desde (2) con el nuevo ´ intervalo (xa , xb ), hasta que se satisfaga algun ´ criterio de detencion.

111


´ comprobar a partir del algoritmo que, si α es la ra´ız de la ecuacion, ´ Es facil entonces los valores xk

= xr calculados en cada paso (donde k denota el

numero de paso) satisfacen ´

k 1 |α − xk | ≤ (b − a) 2

y, por lo tanto,

α = lim xk . k−→∞

Observaciones.

k 1 ´ ´ se reduce a la 1. La cota del error (b − a) en el metodo de biseccion 2 mitad en cada paso.

´ ´ 2. El metodo puede ser demasiado lento, pero al menos es un metodo en el que la convergencia esta´ garantizada. ´ ´ aplicable al caso escalar (de una sola ecuacion), ´ 3. El metodo es solo y no se generaliza al caso de sistemas de ecuaciones.

´ Metodos de convergencia veloz ´ Orden de Convergencia de un Metodo ´ {xk }k∈N que converge a α se dice convergente con ´ Una sucesion Definicion. orden p

≥ 1, si |α − xk+1 | ≤ C|α − xk |p

para alguna constante C Si p

∀k ∈ N,

> 0.

´ converge linealmente a α; si p = 2, que = 1 se dice que la sucesion

´ converge cuadraticamente; etc. ´ velozmente se reduce el error. Cuanto mayor es p, mas

112


´ El metodo de Newton–Raphson. Se basa en usar una recta tangente a la ´ grafica de

´ f para aproximar esta grafica,

´ se anula. cerca del punto donde la funcion

X

1

X2 X3

Y=0

´ Supongamos que tenemos la aproximacion

X

0

xk a la ra´ız α de f (x). Trazamos la recta tangente a la curva en el punto

(xk , f (xk )): y = f (xk ) + f (xk )(x − xk ). Esta recta cruza al eje de abscisas en

xk+1 que sera´ nuestra siguiente ´ a la ra´ız α. aproximacion un punto

El punto xk+1 donde la recta tangente

y = f (xk ) + f (xk )(x − xk ) corta al eje de abscisas queda determinado por

f (xk ) + f (xk )(xk+1 − xk ) = 0. ´ ´ de aproximaciones a α de El metodo de la tangente define entonces la sucesion la manera siguiente:

xk+1 := xk −

f (xk ) , f (xk )

k = 0, 1, 2, . . .

´ inicial x0 dada y siempre que f (xk ) a partir de una aproximacion

= 0.

113


Teorema 1. Sea f

∈ C 2 ([a, b]) con una ra´ız α ∈ (a, b) y sean m1 y M2 tales

que

m1 ≤ min |f (x)|

y

x∈[a,b]

Supongamos que m1

max |f (x)| ≤ M2 .

x∈[a,b]

> 0.

´ obtenida por el metodo ´ ∈ [a, b], sea {xk }k∈N la sucesion de Newton–Raphson. Supongamos que xk ∈ [a, b] ∀k ∈ N. Entonces

Dado x0

M2 2 |α − xk | . 2m1

|α − xk+1 | ≤

Por lo tanto, si x0 se escoge suficientemente cercano a α, se tiene la convergencia

lim xk = α,

k−→∞

con orden p

= 2.

Teorema 2. Sea f

∈ C 2 ([a, b]) y sean m1 y M2 tales que

m1 ≤ min |f (x)| x∈[a,b]

Supongamos que m1

y

max |f (x)| ≤ M2 .

x∈[a,b]

> 0.

´ obtenida por el metodo ´ ∈ [a, b], sea {xk }k∈N la sucesion de Newton–Raphson. Supongamos que xk ∈ [a, b] ∀k ∈ N. Entonces

Dado x0

|α − xk+1 | ≤

M2 2 |xk+1 − xk | , 2m1

k = 0, 1, 2, . . .

114


Observaciones. ´ 1. De acuerdo al Teorema 1, si el metodo de Newton–Raphson converge, lo ´ hace cuadraticamente (es decir, con orden p

= 2).

´ 2. La convergencia esta´ asegurada por el Teorema 1, bajo la hipotesis de que ´ α: x0 este´ suficientemente cerca de la solucion

|α − x0 | <

2m1 . M2

´ Sin embargo, no hay una forma practica de verificar esto. ´ a posteriori del error, siempre 3. El Teorema 2, nos provee de una estimacion que se conozcan las cotas m1 y M2 . Si se itera hasta que

4

|xk+1 − xk | ≤

2m1 , M2

entonces del teorema se obtiene

|α − xk+1 | ≤ .

´ Criterio de detencion. ´ Si el metodo de Newton–Raphson converge, cuando

|xk+1 − xk | ≤ , ˜ como para que con suficientemente pequeno que

|α − xk |

≤ ≤

M2 1, entonces se tiene 2m1

|α − xk+1 | + |xk+1 − xk | M2 2 |xk+1 − xk | + |xk+1 − xk | ≈ |xk+1 − xk | . 2m1

´ |α − xk+1 | Como ademas

|α − xk | , es razonable estimar

|α − xk+1 | ≤ |xk+1 − xk | ≤ . En consecuencia, si se desea calcular la ra´ız α con error menor que mediante ´ ´ confiable este metodo, puede usarse como criterio de detencion

|xk+1 − xk | ≤ .

115


´ Biseccion

Newton–Raphson

1

1.50000000000000

2.00000000000000

2

1.25000000000000

1.50000000000000

3

1.37500000000000

1.41666666666667

4

1.43750000000000

1.41421568627451

x2 − 2 = 0

5

1.40625000000000

1.41421356237469

con error menor que 10−5 .

6

1.42187500000000

7

1.41406250000000

. . .

. . .

15

1.41421508789063

16

1.41419982910156

17

1.41420745849609

´ Ejemplo: Calculo de

2.

´ de la ecuacion ´ Resolucion

Resultados obtenidos por ´ ´ y los metodos de Biseccion Newton–Raphson.

´ El metodo de la Secante. ´ f es dif´ıcil de evaluar, conviene utilizar el Cuando la derivada de la funcion ´ metodo de la secante en lugar del de Newton–Raphson. ´ Este simplemente consiste en reemplazar la derivada

f (xk ) por el cociente incre-

mental

f (xk ) − f (xk−1 ) . xk − xk−1

x

2

x3

x1

x

y=0

0

Es decir,

xk+1 := xk −f (xk ) para k

xk − xk−1 , f (xk ) − f (xk−1 )

= 1, 2, . . . , con x0 , x1 dados.

116


Teorema. Sea f

∈ C 2 ([a, b]) con una ra´ız α ∈ (a, b) y tal que f (x) = 0

∀x ∈ [a, b]. ´ obtenida por el metodo ´ ∈ [a, b], sea {xk }k∈N la sucesion de la secante. Supongamos que xk ∈ [a, b] ∀k ∈ N. Entonces

Dado x0 , x1

p

|α − xk+1 | ≤ C |α − xk | ,

√ 1+ 5 con p = y C > 0. 2 Por lo tanto, si x0 se escoge suficientemente cercano a α, se tiene la convergencia

lim xk = α,

k−→∞

√ 1+ 5 con orden p = ≈ 1.618... 2

´ ´ Como en el metodo Observacion. de Newton–Raphson, la convergencia del ´ metodo de la secante no esta´ siempre garantizada, pero cuando tiene lugar es bastante veloz, con un orden levemente inferior al de Newton–Raphson.

Sistemas de Ecuaciones no lineales ´ de varias variables, no-lineal. Se quiere : Rn −→ Rn una funcion resolver el sistema de ecuaciones f (x) = 0, donde x = (x1 , . . . , xn )t ∈ Rn Sea f

´ representa al vector de incognitas.

´ El metodo de Newton. ´ ´ de su velocidad de Una de las ventajas del metodo de Newton–Raphson ademas ´ convergencia, es que se puede generalizar facilmente a sistemas de ecuaciones ´ se conoce como metodo ´ no lineales. Esta generalizacion de Newton. ´ ´ de Al igual que en el metodo de Newton–Raphson, buscamos una aproximacion ´ mediante un desarrollo de Taylor. la solucion

117


´ del sistema de = (α1 , . . . , αn )t ∈ Rn es la solucion t ecuaciones, y que f = (f1 , . . . , fn ) es dos veces diferenciable.

Supongamos que α

Entonces, aplicando el desarrollo de Taylor para funciones de varias variables de (k)

(k)

´ de la ra´ız x(k) = (x1 , . . . , xn )t , se tiene f en torno a una aproximacion que:

0 = f (α) = f (x

(k)

(k)

) + Df (x

(k)

) (α − x

*

(k) 2

) + O α − x

+ ,

donde Df (x(k) ) es la matriz Jacobiana de f en x(k) :

⎛ ∂f

1

(x(k) )

⎜ ∂x1 ⎜ .. Df (x(k) ) := ⎜ . ⎜ ⎝ ∂f n (x(k) ) ∂x1

∂f1 (k) ⎞ (x ) ⎟ ∂xn ⎟ .. ⎟. . ⎟ ∂fn (k) ⎠ (x ) ∂xn

···

···

˜ el termino ´ Cuando α − x(k) es pequeno, O

´ α − x(k) 2 es mucho mas

˜ aun pequeno ´ y puede despreciarse en en el desarrollo de Taylor anterior:

0

(k)

(k)

) + Df (x

(k)

) (α − x

*

(k) 2

) + O α − x

=

f (x

f (x(k) ) + Df (x(k) ) (α − x(k) ).

+

´ la matriz Df (x(k) ) es invertible, entonces podemos aproximar la Si ademas ´ ´ anterior: ra´ız α despejandola en la ecuacion

α ≈ x(k) − Df (x(k) )−1 f (x(k) ). ´ de la solucion ´ x(k) , ´ El metodo de Newton consiste en, dada la aproximacion ´ x(k+1) el valor de la expresion ´ anterior: tomar como nueva aproximacion

x(k+1) := x(k) − Df (x(k) )−1 f (x(k) ),

k = 0, 1, 2, . . .

´ inicial. donde x(0) es la aproximacion

118


´ En la practica no es necesario (ni conveniente) invertir la matriz Df (x(k) ), sino ´ ´ el sistema de que se utiliza un metodo menos costoso: resolver en cada iteracion ecuaciones lineal

Df (x(k) ) (x(k+1) − x(k) ) = −f (x(k) ). As´ı, llamando δx(k)

:= x(k+1) − x(k) , se obtiene el siguiente algoritmo:

Dado x(0) ∈ Rn , para k = 0, 1, 2, . . . resolver Df (x(k) ) δx(k) = −f (x(k) ), x(k+1) := x(k) + δx(k) , hasta que se satisfaga algun ´ . ´ criterio de detencion

Observaciones. ´ del error del metodo ´ 1. Los teoremas de convergencia, y estimacion de Newton–Raphson se pueden generalizar al caso de sistemas, reemplazando el valor absoluto por una norma vectorial. As´ı se obtiene que

α − x(k+1) ≤ C α − x(k) 2 ,

k = 0, 1, 2, . . .

donde C es una constante positiva que depende de las derivadas primeras y segundas de f . ´ 2. Al igual que en el metodo de Newton–Raphson, si se desea calcular la ´ α del sistema con error menor que , puede usarse solucion

x(k+1) − x(k) ≤ ´ como criterio de detencion.

119


Ejemplo:

Resolver el siguiente ´ de las ra´ıces: Localizacion

sistema de ecuaciones con error menor que tol

−5

= 10

:

1.5

⎧ ⎨ y 2 + x2 = 1 ⎩ y = x2

0.5

Funciones a utilizar:

f (x, y) = ⎝

0

x2 + y 2 − 1 y − x2 ⎛

y=x2

1

⎞ ⎠

−0.5

2 2 x +y =1

−1

2x 2y ⎠ Df (x, y) = ⎝ −2x 1

−1.5 −1.5

−1

−0.5

0

0.5

1

1.5

Algoritmo:

(x0 , y0 ): datos iniciales. Para k

= 0, 1, 2, . . . ⎛ 2xk resolver ⎝ −2xk

⎞⎛

⎛ ⎞ 2 2 δx 1 − xk − y k 2yk ⎠ ⎝ k⎠ = ⎝ ⎠, 1 δyk x2k − yk

xk+1 := xk + δxk , yk+1 := yk + δyk , hasta que δx2k + δyk2 < tol.

Resultados obtenidos:

x

y

1.00000000000000

1.00000000000000

0.83333333333333

0.66666666666667

0.78809523809524

0.61904761904762

0.78615406630609

0.61803444782168

0.78615137776208

0.61803398874999

120


Ecuaciones Diferenciales Ordinarias I ´ • Problemas de valores iniciales (P.V.I.) Existencia y unicidad de solucion. ´ numerica ´ ´ • Solucion de un P.V.I. Metodo de Euler. ´ • Metodos Runge-Kutta.

• Control del error. Esquemas Runge-Kutta-Fehlberg.

Problemas de valores iniciales (P.V.I.) Se considera el problema de valores iniciales (P.V.I.):

⎧ ⎨ y (x) = f (x, y(x)), x ∈ [a, b], ⎩ y(a) = y0 dado,

´ unica, y el que supondremos tiene solucion ´

: [a, b] −→ R, la cual es acotada y

depende continuamente de los datos f e y0 .

121


´ de un P.V.I. Existencia y unicidad de solucion ´ continua en el Teorema. Sean D un subconjunto convexo de R2 , f una funcion dominio D y (a, y0 ) un punto interior de D . Considere el P.V.I.

⎧ ⎨ y = f (x, y), (x, y) ∈ D, ⎩ y(a) = y0 .

´ de Lipschitz Si f satisface la condicion

|f (x, y1 ) − f (x, y2 )| ≤ k|y1 − y2 |

∀(x, y1 ), (x, y2 ) ∈ D

≥ 0, entonces, para algun ´ intervalo I = [a − α, a + α], existe una unica ´ ´ y = y(x) del P.V.I. definida en ese intervalo I . solucion con k

´ Observacion. Si

∂f ´ de (x, y) existe y es acotada en D, entonces la condicion ∂y

Lipschitz se satisface con

∂f k = max (x, y) < ∞. (x,y)∈D ∂y

´ Ejemplo. Considere la ecuacion

y = 1 + sen xy y D = (x, y) ∈ R2 , 0 ≤ x ≤ 1, −∞ < y < ∞ . Se tiene que

f (x, y) = 1 + sen(xy) y

∂f (x, y) = x cos(xy) ⇒ k = 1. ∂y

Luego, dado cualquier (a, y0 ) con 0

< a < 1, por el teorema existe una unica ´ ´ del P.V.I. en algun ´ aun, solucion ´ intervalo centrado en a. Mas ´ puede demostrarse ´ unica que el P.V.I. tiene solucion en todo el intervalo [0, 1]. ´

122


´ Numerica ´ Solucion de un P.V.I. ´ ´ Los metodos numericos para resolver el P.V.I.

⎧ ⎨ y (x) = f (x, y(x)), x ∈ [a, b], ⎩ y(a) = y0 dado,

´ en N subintervalos del intervalo [a, b], se basan en tomar una particion

a = x0 < x1 < · · · < xN = b, y obtener sucesivamente N numeros y1 , y2 , . . . , yN que aproximan a los ´ ´ exacta en los nodos x1 , . . . , xN . valores y(x1 ), . . . , y(xN ) de la solucion ´ definidos por T´ıpicamente los nodos se escogen equiespaciados; es decir, estan

xi = a + ih, i = 0, . . . , N,

con h

=

b−a . N

´ Metodo de Euler (o de la Tangente) Considere el P.V.I.

⎧ ⎨ y (x) = f (x, y(x)), x ∈ [a, b], ⎩ y(a) = y0 . ´ Una manera geometrica de aproximar ´ de este problema consiste la solucion en reemplazar la derivada

i+1

yi

´ aproximacion

y (x) ≈

y

y por la

y(x + h) − y(x) h

´ ˜ valida para h pequeno.

x

i

xi+1

123


´ se encuentra Haciendo este reemplazo en la ecuacion

y(x + h) − y(x) ≈ f (x, y(x)) h de donde,

y(x + h) ≈ y(x) + hf (x, y(x)). ´ inicial y(a) Partiendo de la condicion

˜ el valor = y0 y considerando h pequeno,

y1 := y(a) + hf (a, y(a)) ´ para y(a + h). define una aproximacion ´ se puede utilizar para obtener la Una vez calculada esta aproximacion, ´ y2 de y(a + 2h), a saber, aproximacion

y2 := y1 + hf (a + h, y1 ).

Repitiendo este proceso se pueden obtener aproximaciones para y(a + 3h),

y(a + 4h), . . . , y(a + N h). Usando nodos xi equiespaciados obtenemos el siguiente algoritmo:

Algoritmo (Euler)

= 0, . . . , N − 1 xi = a + ih yi+1 = yi + hf (xi , yi ) fin i. Para i

124


´ Metodos Runge-Kutta ´ Los metodos Runge-Kutta consideran, en cada intervalo [xi , xi+1 ], algunos nodos auxiliares de la forma:

xij := xi + θj h , j = 0, 1, . . . , q, donde, q

´ ∈ N recibe el nombre de rango del algoritmo y los parametros θj

verifican:

0 ≤ θj ≤ 1,

con

θ0 = 0 y θq = 1.

As´ı, en cada caso,

x =x i

i0

xi0 = xi

y

xi2

x

x

i1

xiq = xi+1 .

i3

...

x =x iq

i+1

En los nodos auxiliares se definen los valores:

yi0

:= yi ,

yij

:= yi + h

j−1

Ajl f (xil , yil ),

j = 1, . . . , q,

l=0

siendo yi+1

´ := yiq el valor aproximado por el metodo para y(xi+1 ).

Cuando los puntos xij y las constantes Ajl se determinan de manera que el ´ en hp con el desarrollo de Taylor de la desarrollo de yij coincida hasta el termino ´ exacta del P.V.I. local: solucion

⎧ ⎨ y˜ (x) = f (x, y˜(x)), x ∈ [x , x ], i i+1 ⎩ y˜(xi ) = yi , con yi considerada exacta,

´ el correspondiente metodo se dice de orden p y rango q , y se abrevia por

RKpq .

125


´ Definicion. Se define el error local de truncamiento en xi+1 por

τi+1 := y˜(xi+1 ) − yi+1 , ´ del P.V.I. local anterior e yi+1 el valor obtenido por el donde y ˜ es la solucion ´ metodo. ´ Definicion. Se define el error global en xi+1 por

Ei+1 := y(xi+1 ) − yi+1 , ´ exacta del P.V.I. en el nodo xi+1 e donde y(xi+1 ) es el valor de la solucion ´ yi+1 es el valor obtenido por el metodo. ´ Para un metodo de Runge-Kutta de orden p, los errores locales de truncamiento son O(hp+1 ). Sin embargo, los errores globales son O(hp ):

|τi+1 | ≤ Chp+1 ,

i = 0, . . . , N − 1,

pero

max

0≤i≤N −1

|Ei+1 | ≤ Chp .

´ Otra vez: metodo de Euler o de la tangente (RK11 ) Corresponde al caso en que q

´ = p = 1; es decir, el metodo Runge-Kutta de orden 1 y rango 1: RK11 . Por lo tanto, θ0 = 0, θ1 = 1 y, en consecuencia,

xi0 = xi

y

xi1 = xi + h = xi+1 .

Los valores de yi0 e yi1 se obtienen mediante

yi0 = yi , yi1 = yi + hA10 f (xi0 , yi0 ). Por lo tanto, como yi+1

:= yi1 , se tiene que yi+1 = yi + hA10 f (xi , yi ).

´ Como se trata de un metodo de orden 1, el coeficiente A10 debe determinarse

de modo que el error local de truncamiento sea O(h2 ).

126


Considere el P.V.I. local

⎧ ⎨ y˜ (x) = f (x, y˜(x)), x ∈ [x , x ], i i+1 ⎩ y˜(xi ) = yi , con yi considerada exacta.

´ es El desarrollo de Taylor de la solucion

h2 y˜ (ξi ) 2 h2 = yi + hf (xi , yi ) + y˜ (ξi ), 2

y˜(xi+1 ) = y˜(xi ) + h˜ y (xi ) +

con xi

< ξi < xi+1 .

Comparando este desarrollo con el anterior:

yi+1 = yi + hA10 f (xi , yi ), se ve que debe escogerse A10

´ = 1 para que coincidan hasta los terminos en h.

´ Esto conduce al metodo de Euler (o de la tangente), ya deducido anteriormente:

i = 0, . . . , N − 1.

yi+1 = yi + hf (xi , yi ),

´ Los errores locales de truncamiento de este metodo resultan O(h2 ):

τi+1

h2 y˜ (ξi ), = 2

i = 0, . . . , N − 1.

Por lo tanto, los errores globales son O(h):

max

0≤i≤N −1

|Ei+1 | ≤ Ch.

127


Ejemplo.

⎧ ⎨ y = y, ⎩ y(0) = 1.

3

Solución exacta Método de Euler 2.5

´ Solucion:

2

y(x) = ex . 1.5

´ Metodo de Euler. 1

[a, b] = [0, 1] N =5 b−a = 0.2 h= N

0.5 −0.2

0

0.2

0.4

0.6

0.8

1

1.2

´ Metodos RK22 ´ Estos metodos resultan ser de orden 2 (p

= 2) y rango 2 (q = 2). Por lo tanto los errores locales de truncamiento son O(h3 ) y el error global es O(h2 ).

Los nodos se obtienen con θ0

xi0 = xi ,

= 0, θ1 arbitrario y θ2 = 1. Por lo tanto,

xi1 = xi + θ1 h

y

xi2 = xi + h = xi+1 .

´ donde el parametro θ1 debe escogerse de manera tal que 0

< θ 1 ≤ 1.

Los desarrollos en potencias de h para los correspondientes valores yi1 e yi2 se ´ de yi+1 que se iguala al desarrollo de Taylor utilizan para obtener una expresion

´ del P.V.I. local y ´ de la solucion ˜(xi+1 ) hasta los terminos en h2 . As´ı se obtiene la ´ siguiente familia de algoritmos RK22 (dependiente del parametro θ1 ):

xi1 := xi + θ1 h, yi1 := yi + hθ1 f (xi , yi ), 1 1 f (xi , yi ) + h f (xi1 , yi1 ). yi+1 := yi2 := yi + h 1 − 2θ1 2θ1

128


Casos particulares

´ 1.- Metodo de Euler mejorado (tangente mejorada) ´ de θ1 Corresponde a la eleccion

= 12 , con lo cual xi1 resulta ser el punto medio

del intervalo [xi , xi+1 ]. De las ecuaciones anteriores se obtiene

yi+1 = yi + hf (xi1 , yi1 ) y el

algoritmo queda as´ı: Algoritmo (Euler mejorado)

= 0, . . . , N − 1 xi = a + ih

Para i

xi1 = xi + yi1 = yi +

h 2 h 2 f (xi , yi )

yi+1 = yi + hf (xi1 , yi1 ) fin i.

Método de Euler Mejorado

yi+1

y

yi

i1

x

i

xi1

x

i+1

129


´ 2.- Metodo de Euler-Cauchy Corresponde al caso en que θ1

= 1, con lo cual xi1 = xi+1 y el algoritmo

queda as´ı: Algoritmo (Euler-Cauchy)

= 0, . . . , N − 1 xi = a + ih xi1 = xi + h yi1 = yi + hf (xi , yi )

Para i

yi+1 = yi + h2 [f (xi , yi ) + f (xi1 , yi1 )] fin i.

Método de Euler−Cauchy

yi+1

yi1

y

i

xi

x

=x

i+1

i1

130


´ ´ Metodo RK44 clasico (o RK4) ´ ´ de parametros ´ Este metodo es de rango 4 y corresponde a la la eleccion

θ0 = 0,

θ 1 = θ2 =

1 , 2

θ3 = θ4 = 1.

Por lo tanto,

xi0 = xi ,

xi1 = xi2 = xi +

h , 2

xi3 = xi4 = xi + h = xi+1 .

Para deducirlo, se obtienen desarrollos en potencias de h para yi1 , yi2 , yi3 , e

yi4 . ´ de yi+1 que se obtiene a partir de esos desarrollos se iguala al La expresion ´ ´ y ˜(xi+1 ) del P.V.I. local, hasta los terminos en desarrollo de Taylor de la solucion

h4 (p = 4).

As´ı se obtiene un algoritmo con error local de truncamiento O(h5 ) y, por lo tanto, error global O(h4 ).

´ ´ conocido como RK4, es sumamente utilizado debido a su Este metodo, tambien ´ alta precision. ´ El algoritmo del metodo puede escribirse convenientemente del siguiente modo:

Algoritmo (RK4)

= 0, . . . , N − 1 xi = a + ih k1 = hf (xi , yi ) k2 = hf (xi + h2 , yi + 12 k1 ) k3 = hf (xi + h2 , yi + 12 k2 ) k4 = hf (xi + h, yi + k3 ) yi+1 = yi + 16 [k1 + 2(k2 + k3 ) + k4 ] fin i. Para i

131


Ejemplo.

⎧ ⎨ y = y, ⎩ y(0) = 1.

´ exacta: Solucion

h = 0.1

y(x) = ex .

Error

Euler: h = 0.025 Sol. Cal. Error

Sol. Cal.

Error

0.0

1.000000

1.000000

0.0

x

Sol. Ex.

Euler: Sol. Cal.

0.0

1.000000

1.000000

0.1

1.105170

1.100000

0.2

1.221402

1.210000

0.3

1.349858

1.331000

0.4

1.491824

1.464100

0.5

1.648721

1.610510

0.6

1.822118

1.771561

0.7

2.013752

1.948717

0.8

2.225540

2.143588

6.5 × 10−2 8.1 × 10−2

0.9

2.459603

2.357947

0.1

2.432535

1.0

2.718281

2.593742

0.12

2.685063

1.1

3.004166

2.853116

0.15

2.963808

1.2

3.320116

3.138428

0.18

3.271489

1.3

3.669296

3.452271

0.21

3.611112

1.4

4.055199

3.797498

0.25

3.985992

1.5

4.481689

4.177248

0.30

4.399789

5.1 × 10−3 1.1 × 10−2 1.8 × 10−2 2.7 × 10−2 3.8 × 10−2 5.0 × 10−2

0.0

1.3 × 10−3 2.9 × 10−3

1.103812 1.218402

4.9 × 10−3 7.3 × 10−3

1.344888 1.484505

1.0 × 10−2 1.3 × 10−2

1.638616 1.808725

1.7 × 10−2 2.1 × 10−2

1.996495 2.203756

2.7 × 10−2

3.3 × 10−2 4.0 × 10−2 4.8 × 10−2 5.8 × 10−2 6.9 × 10−2 8.1 × 10−2

RK44 : h = 0.1 1.105170 1.221402 1.349858 1.491824 1.648720 1.822117 2.013751 2.225539 2.459601 2.718279 3.004163 3.320113 3.669293 4.055195 4.481683

8.4 × 10−8 1.8 × 10−7 3.1 × 10−7 4.5 × 10−7 6.3 × 10−7 8.3 × 10−7 1.0 × 10−6 1.3 × 10−6 1.6 × 10−6 2.0 × 10−6 2.5 × 10−6 3.0 × 10−6 3.6 × 10−6 4.3 × 10−6 5.1 × 10−6

5

4.5

Solución exacta Método de Euler, h=0.2 Método de Euler, h=0.1 Método RK4, h=0.2

4

3.5

3

2.5

2

1.5

1

0.5 −0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

132


Control del Error Local de Truncamiento ˜ del paso h a utilizar no es contante, sino que se Usualmente, el tamano determina en cada paso a fin de que los errores se mantengan por debajo de una tolerancia prefijada. ´ ´ es el tamano ˜ del paso h En la practica, no es posible determinar a priori cual que debe utilizarse para calcular la solucion de un P.V.I. con error global menor que una tolerancia. ´ numerica ´ Una alternativa consiste en, una vez calculada la solucion con un ˜ de paso h, estimar a posteriori el error local a fin de decidir si la tamano ´ calculada es aceptable o no y, en caso negativo, intentar recalcularla con solucion ˜ de paso h otro tamano

< h.

Esquemas Runge-Kutta-Fehlberg Una estrategia para el control del error es la de los esquemas Runge-Kutta-Fehlberg. En particular, uno muy utilizado es el de cuarto orden, RKF45, el cual consiste en un RK45 acoplado con un RK56 . Este esquema minimiza el numero de evaluaciones de f , ya que el RK56 utiliza ´ ´ las mismas 5 evaluaciones del RK45 y una sola mas. ´ calculado por el metodo ´ En cada paso, el valor de la solucion de mayor orden

(RK56 ) se utiliza para estimar a posteriori el error del calculado por el de menor orden (RK45 ). ´ ´ automatica ´ De ese modo, este metodo permite una seleccion del paso de ´ h (metodos ´ integracion adaptivos de paso variable) como se puede apreciar en el algoritmo que sigue. Este esquema se utiliza en M ATLAB mediante el comando ode45. A su vez el comando ode23 implementa un esquema RKF23 similar.

133


Algoritmo (RK45) Dados f (x, y), a, y0 , b, y h (paso inicial tentativo)

= 0, 1, 2, ... xi+1 = xi + h k1 = hf (xi , yi ) k2 = hf (xi + 14 h, yi + 14 k1 ) 3 k1 + k3 = hf (xi + 38 h, yi + 32

Para i (1)

9 k ) 32 2 h, yi + 1932 k − 7200 k + 7296 k ) k4 = hf (xi + 12 13 2197 1 2197 2 2197 3 845 k − 8k2 + 3680 k − 4104 k4 ) k5 = hf (xi + h, yi + 439 216 1 513 3 8 k1 + 2k2 − 3544 k + 1859 k − 11 k ) k6 = hf (xi + 12 h, yi − 27 2565 3 4104 4 40 5 25 k1 + 1408 k + 2197 k − 15 k5 yi+1 = yi + 216 2565 3 4104 4 1 128 2197 1 2 τi+1 := 360 k1 − 4275 k3 − 75240 k4 + 50 k5 + 55 k6 1/4 s := 0.84 ( / |τi+1 |)

Si |τi+1 |

(2)

< , OK: h = 2sh −→ (2) Si no, h = sh −→ (1) fin i, hasta que xi+1 ≥ b.

Ecuaciones Diferenciales Ordinarias II ´ • Metodos de paso multiple. ´

• Estabilidad y E.D.O. stiff. • Sistemas de E.D.O. y E.D.O. de orden superior.

134


´ Metodos de paso multiple ´ Se considera el problema de valores iniciales (P.V.I.)

⎧ ⎨ y (x) = f (x, y(x)), x ∈ [a, b], ⎊ y(a) = y0 dado,

´ unica, y el que supondremos tiene solucion ´

: [a, b] −→ R, la cual es acotada y depende

continuamente de los datos f e y0 .

´ del intervalo [a, b]: Dada una particion

a = x0 < x1 < ¡ ¡ ¡ < xN = b, ´ ´ usan la informacion ´ del valor yi de la solucion ´ los metodos que hemos visto hasta aqu´Ĺ solo ´ calculada en xi para obtener yi+1 . Por eso se denominan metodos de paso simple.

´ podr´Ĺan utilizarse los valores yi−k , . . . , yi Parece razonable pensar que tambien obtenidos en los nodos xi−k , . . . , xi , para k Para ello, si integramos y (x)

> 0.

= f (x, y(x)) en el intervalo [xi , xi+1 ], se tiene:

xi+1

xi+1

y (x) dx = xi

y, por lo tanto,

f (x, y(x)) dx xi

xi+1

y(xi+1 ) = y(xi ) +

f (x, y(x)) dx. xi

La integral puede calcularse aproximando el integrando mediante el polinomio de ´ de f (x, y(x)) en los puntos xi−k , . . . , xi . Sin embargo, como los valores interpolacion ´ exactos de y(xi−k ), . . . , y(xi ) no se conocen, no podemos utilizarlos en la evaluacion ´ calculada de f (x, y(x)). En su lugar podemos utilizar los valores de la solucion

yi−k , . . . , yi . ´ ´ Los metodos que as´Ĺ se obtienen se denominan metodos de paso multiple. ´

135


´ Metodos expl´Ĺcitos de paso multiple ´ Sea p el polinomio que interpola los puntos (xi−k , fi−k ), . . . , (xi , fi ), donde

j = i − k, . . . , i.

fj := f (xj , yj ), Reemplazando f (x, y(x)) por p(x) en

xi+1

y(xi+1 ) = y(xi ) +

f (x, y(x)) dx xi

se obtiene

xi+1

yi+1 = yi +

p(x) dx, xi

´ que, al calcular la integral, genera los metodos conocidos como de Adams–Bashforth.

k=0

´ Metodo de Adams–Bashforth de primer orden (Euler). En este caso p(x)

= fi , de donde yi+1 = yi + hfi .

k=1

´ Metodo de Adams–Bashforth de segundo orden. En este caso

p(x) = de donde

yi+1

= yi +

xi+1

xi

xi − x x − xi−1 fi−1 + fi , h h xi+1 xi − x x − xi−1 dx fi−1 + dx fi h h xi

y al calcular las integrales se obtiene

yi+1 = yi +

h (3fi − fi−1 ). 2

136


k=2

´ Metodo de Adams–Bashforth de tercer orden. En este caso

p(x) =

(xi−1 − x)(xi − x) (x − xi−2 )(xi − x) fi−2 + fi−1 2 2h h2 (x − xi−2 )(x − xi−1 ) + fi , 2h2

de donde

yi+1 = yi +

k=3

h (23fi − 16fi−1 + 5fi−2 ). 12

´ Metodo de Adams–Bashforth de cuarto orden. ´ Analogamente,

yi+1 = yi +

h (55fi − 59fi−1 + 37fi−2 − 9fi−3 ). 24

Observaciones ´ 1. El error global del metodo de Adams–Bashforth de orden k

+ 1 es O(hk+1 ).

´ 2. El error local de truncamiento es O(hk+2 ). As´ı, por ejemplo, para el metodo de Adams–Bashforth de cuarto orden se tiene:

τi+1 =

251 (5) y (ζ)h5 , 720

ζ ∈ [xi−3 , xi+1 ].

´ ´ una evaluacion ´ de f por paso, 3. El costo de los metodos de paso multiple es de solo ´ ´ independientemente del orden del metodo (a diferencia de los Runge-Kutta). ´ 4. Para iniciar el metodo de Adams–Bashforth de orden k ´ numerica ´ valores de la solucion en k

+ 1, necesitamos conocer los

+ 1 puntos anteriores.

´ ´ pueden usarse a partir de xi Por ello estos metodos solo Si k

= xk+1 .

> 0, para calcular los valores iniciales y1 , . . . , yk puede utilizarse, por ejemplo,

´ metodos Runge–Kutta de igual orden. ´ que se dice que los metodos ´ Es por esta razon de Adams–Bashforth de orden dos en ´ adelante no son de partida autonoma.

137


´ Metodos impl´ıcitos de paso multiple ´ ´ p de grado k que utilice los Por otra parte, si construimos un polinomio de interpolacion ´ puntos (xi−k+1 , fi−k+1 ), . . . , (xi+1 , fi+1 ), se generara´ una nueva clase de metodos conocidos como de Adams–Moulton. ´ ´ Analogamente, a los metodos de Adams–Bashforth tenemos:

k=0

´ Metodo de Adams–Moulton de primer orden (Euler impl´ıcito). En este caso p(x)

= fi+1 , de donde yi+1 = yi + hfi+1 .

k=1

´ Metodo de Adams–Moulton de segundo orden. En este caso p(x)

=

xi+1 − x x − xi fi + fi+1 , de donde h h

yi+1 = yi +

k=2

´ Metodo de Adams–Moulton de tercer orden:

yi+1 = yi +

k=3

h (fi+1 + fi ). 2

h (5fi+1 + 8fi − fi−1 ). 12

´ Metodo de Adams–Moulton de cuarto orden:

yi+1 = yi +

h (9fi+1 + 19fi − 5fi−1 + fi−2 ). 24

138


Observaciones ´ ´ descritos se dicen impl´ıcitos, pues la incognita ´ ´ 1. Los metodos recien yi+1 tambien ´ aparece en el segundo miembro. Por ejemplo, para el metodo de Adams–Moulton de primer orden (Euler impl´ıcito),

yi+1 = yi + hf (xi+1 , yi+1 ). ´ anterior En consecuencia, para hallar el valor de yi+1 debe resolverse la ecuacion que, si f no es lineal en y , resulta no lineal. ´ 2. El error global del metodo de Adams–Moulton de orden k

+ 1 es O(hk+1 ).

´ 3. El error local de truncamiento es O(hk+2 ). As´ı, por ejemplo, para el metodo de Adams–Moulton de cuarto orden se tiene

τi+1 = − 4. Para k

19 (5) y (ζ)h5 , 720

ζ ∈ [xi−2 , xi+1 ].

´ ´ > 0, los metodos de Adams–Moulton tampoco son de partida autonoma.

´ Metodos predictor–corrector ´ ´ Estos metodos consisten en combinar un metodo expl´ıcito con otro impl´ıcito. ´ Por ejemplo, consideremos el metodo de Adams–Bashforth de cuarto orden:

yi+1 = yi +

h (55fi − 59fi−1 + 37fi−2 − 9fi−3 ), 24

´ y el metodo de Adams–Moulton de cuarto orden:

yi+1 = yi +

h (9fi+1 + 19fi − 5fi−1 + fi−2 ). 24

139


p

´ Con el metodo expl´ıcito se predice el valor de y(xi+1 ) que denotaremos por yi+1 y con el impl´ıcito se corrige el valor encontrado obteniendo otro valor calculado de y(xi+1 ) que c : denotaremos por yi+1

h (55fi − 59fi−1 + 37fi−2 − 9fi−3 ), 24 p = f (xi+1 , yi+1 ),

p yi+1 = yi + p fi+1

c = yi + yi+1

h p (9fi+1 + 19fi − 5fi−1 + fi−2 ). 24

´ A este metodo lo llamaremos predictor–corrector de Adams de cuarto orden.

p

c Despreciando los errores de los valores yi−3 , . . . , yi utilizados para calcular yi+1 e yi+1 , ´ los errores locales de truncamiento de estos metodos satisfacen

251 (5) y (ζ)h5 , 720 19 (5) =− y (ζ)h5 , 720

p p τi+1 = y(xi+1 ) − yi+1 = c c τi+1 = y(xi+1 ) − yi+1

ζ ∈ [xi−3 , xi+1 ] ζ ∈ [xi−2 , xi+1 ].

˜ de modo que y (5) es casi constante en Supongamos que h es suficientemente pequeno

[xi−3 , xi+1 ]. Entonces, restando ambas expresiones se tiene 251 (5) 19 (5) 270 (5) y (ζ)h5 + y (ζ)h5 = y (ζ)h5 . 720 720 720 c ´ para τi+1 De aqu´ı se obtiene una estimacion : p c yi+1 − yi+1 ≈

19 (5) 19 c p ) =: δi+1 . y (ζ)h5 ≈ − (yi+1 − yi+1 720 270 ˜ entonces Si el error local de truncamiento estimado δi+1 no es suficientemente pequeno, p c ´ usando ´ ´ se repite el proceso de correccion yi+1 en el nuevo calculo de fi+1 : c τi+1 =−

p c fi+1 = f (xi+1 , yi+1 ).

140


Estabilidad y E.D.O. STIFF Una E.D.O. y

= f (x, y) se dice estable si

∂f < 0 pues, dadas dos soluciones de la ∂y

E.D.O. con distintas condiciones iniciales,

⎧ ⎨ y (x) = f (x, y), ⎩ y(a) = y0 ,

⎧ ⎨ yˆ (x) = f (x, yˆ), ⎩ yˆ(a) = yˆ0 ,

y

se demuestra que

|y(x) − yˆ(x)| < |y0 − yˆ0 | Rec´ıprocamente, una E.D.O. y

∀x > a.

= f (x, y) se dice inestable si

∂f > 0 pues, en tal caso, ∂y

se demuestra que dos soluciones de la E.D.O. con distintas condiciones iniciales satisfacen

|y(x) − yˆ(x)| > |y0 − yˆ0 |

E.D.O. estable

E.D.O. inestable

6

12

5

10

4

8

3

6

2

4

1

2

0 −0.2

0

0.2

0.4

0.6

∀x > a.

0.8

1

1.2

0 −0.2

0

0.2

0.4

0.6

0.8

1

1.2

´ ´ Al aplicar un metodo numerico a una E.D.O. inestable es natural que los errores crezcan con xi . En cambio, para una E.D.O. estable ser´ıa deseable que los errores no crecieran significativamente con xi . ´ ´ Los metodos numericos que satisfacen esto ultimo, se denominan estables. Los que no, ´ inestables.

141


⎧ ⎨ y (x) = −α(y − sen x), x ∈ [0, 1], Ejemplo. Considere el siguiente P.V.I. ⎩ y(0) = 1. ´ exacta: Solucion

e−αx α eαx cos x − α2 eαx sen x − α2 − α − 1 y(x) = − . α2 + 1

f (x, y) = −α(y − sen x) =⇒

∂f = −α =⇒ E.D.O. estable para α > 0. ∂y

´ Para este problema se usaron los metodos

• EULER (expl´ıcito):

yi+1 = yi + hf (xi , yi ) = yi − hα(yi − sen xi ),

• EULER IMPL´ICITO: yi+1 = yi + hf (xi+1 , yi+1 ) = yi − hα(yi+1 − sen xi+1 ). ´ Como en este caso la E.D.O. es lineal, en el metodo impl´ıcito puede despejarse yi+1 :

yi+1 =

yi + hα sen(xi+1 ) . (1 + hα)

La siguiente tabla muestra los errores al resolver el P.V.I. anterior para α

= 100 y

diferentes pasos h.

h = 0.05 x

h = 0.02

h = 0.01

Error Exp.

Error Imp.

Error Exp.

Error Imp.

Error Exp.

Error Imp.

0.0

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.1

16.1500

0.0280

-1.0100

0.0041

-0.4169e-04

9.3664e-04

0.2

258.5500

7.3867e-04

1.0100

-0.0014e-04

0.0911e-04

-0.0783e-04

0.3

4136.9000

-0.4340e-04

-1.0100

-0.2692e-04

0.1398e-04

-0.1365e-04

0.4

66191.0000

-0.8821e-04

1.0100

-0.3646e-04

0.1870e-04

-0.1839e-04

0.5

1.0591e+06

-1.1167e-04

-1.0100

-0.4558e-04

0.2324e-04

-0.2294e-04

0.6

1.6945e+07

-1.3345e-04

1.0101

-0.5423e-04

0.2754e-04

-0.2726e-04

0.7

2.7112e+08

-1.5387e-04

-1.0099

-0.6235e-04

0.3157e-04

-0.3131e-04

0.8

4.3379e+09

-1.7276e-04

1.0101

-0.6984e-04

0.3528e-04

-0.3504e-04

0.9

6.9407e+10

-1.8992e-04

-1.0099

-0.7663e-04

0.3864e-04

-0.3842e-04

1.0

1.1105e+12

-2.0519e-04

1.0101

-0.8266e-04

0.4162e-04

-0.4143e-04

142


α = 100

h = 0.02

2 Solución exacta Euler explícito Euler implícito

1.5

1

0.5

0

−0.5

−1

0

0.1

0.2

0.3

0.4

α = 100

0.5

0.6

0.7

0.8

0.9

1

0.7

0.8

0.9

1

h = 0.01

1

0.9

Solución exacta Euler explícito Euler implícito

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

0

0.1

0.2

0.3

0.4

0.5

0.6

143


´ ´ La tabla y los graficos anteriores muestran que, en este ejemplo, el metodo de Euler ´ es estable si el paso h es suficientemente chico. expl´ıcito solo ´ En cambio, el metodo de Euler impl´ıcito es estable cualquiera sea el paso h. Este es un ejemplo de una E.D.O. “stiff”. Estas E.D.O. se caracterizan por

∂f <0 ∂y En este ejemplo,

∂f muy grande. ∂y

y

∂f = −α = −100. ∂y

Lo que observamos en este ejemplo vale en general: ´ ´ dan resultados aceptables con pasos • Para las E.D.O. stiff, los metodos expl´ıcitos solo ˜ h excesivamente pequenos. Cuando el paso h no es suficientemente chico, los ´ ´ metodos expl´ıcitos aplicados a una E.D.O. stiff dan soluciones numericas que oscilan ´ exacta con amplitud creciente. alrededor de la solucion ´ ´ • Para las E.D.O. stiff, deben utilizarse metodos impl´ıcitos. Estos metodos son estables cualquiera sea el paso que se utilice.

Sistemas de E.D.O. Considere el P.V.I. definido por el sistema de ecuaciones de primer orden

⎧ ⎪ y1 (x) = f1 (x, y1 (x), · · · , yn (x)), ⎪ ⎪ ⎪ ⎪ ⎨ .. .

⎪ yn (x) = fn (x, y1 (x), · · · , yn (x)), x ∈ [a, b], ⎪ ⎪ ⎪ ⎪ ⎩ y (a) = y , . . . , y (a) = y (dados). 1 10 n n0 ⎧ ⎨ y (x) = f (x, y(x)), x ∈ [a, b], el sistema se escribe: ⎩ y(a) = y (dado), 0

donde

⎜ y(x) = ⎜ ⎝

y1 (x)

f1 (x, y1 (x), . . . , yn (x))

y10

⎜ ⎟ ⎟ ⎜ ⎟ .. ⎟ , f (x, y(x)) = ⎜ ⎟ , y 0 = ⎜ .. ⎟ . . ⎝ . ⎠ ⎠ ⎝ ⎠ yn (x) fn (x, y1 (x), . . . , yn (x)) yn0 .. .

144


´ ´ ´ se generalizan directamente al caso de Los metodos numericos vistos para una ecuacion un sistema de n ecuaciones de primer orden. Por ejemplo, considere un sistema con dos ecuaciones (n

= 2):

⎧ ⎪ ⎪ ⎨ y1 (x) = f1 (x, y1 (x), y2 (x)), ⎪ ⎪ ⎩

y2 (x) = f2 (x, y1 (x), y2 (x)), x ∈ [a, b], y1 (a) = y10 , y2 (a) = y20 (dados),

o, en su forma vectorial,

⎧ ⎨ y (x) = f (x, y(x)), x ∈ [a, b], ⎩ y(a) = y (dado). 0

´ El metodo de Euler (RK11 ) se expresa como sigue:

⎧ ⎨ y : dato, 0 ⎩ y i+1 = y i + hf (xi , y i ), i = 0, 1, 2, . . . , N − 1.

o bien por componentes:

⎧ ⎪ ⎪ ⎨ y10 , y20 : datos, y1,i+1 = y1,i + hf1 (xi , y1,i , y2,i ), ⎪ ⎪ ⎩ y2,i+1 = y2,i + hf2 (xi , y1,i , y2,i ), i = 0, 1, 2, . . . , N − 1.

´ ´ Todos los otros metodos numericos estudiados se pueden formular similarmente en forma vectorial para sistemas.

145


E.D.O. de orden superior ´ diferencial de orden n Una ecuacion

y (n) (x) = f (x, y(x), y (x), . . . , y (n−1) (x)) se puede expresar como un sistema de n ecuaciones de primer orden al definir

z1 (x)

y(x)

⎟ ⎜ ⎟ ⎜ ⎜ z2 (x) ⎟ ⎜ y (x) ⎟ ⎟ ⎜ ⎟ ⎜ z(x) = ⎜ . ⎟ = ⎜ ⎟. .. ⎟ ⎜ .. ⎟ ⎜ . ⎠ ⎝ ⎠ ⎝ zn (x) y (n−1) (x)

En efecto,

y (x)

z2 (x)

⎟ ⎜ ⎟ ⎜ ⎟ ⎜ y (x) ⎟ ⎜ z (x) 3 ⎟ ⎜ ⎟ ⎜ z (x) = ⎜ . ⎟ = ⎜ ⎟ =: f (x, z) . ⎟ ⎜ .. ⎟ ⎜ .. ⎠ ⎝ ⎠ ⎝ y (n) (x) f (x, z1 , z2 , . . . , zn ) y luego, z (x)

= f (x, z) es un sistema de E.D.O. de primer orden al que se pueden

´ ´ aplicar los metodos numericos vistos.

Por el mismo procedimiento, un sistema de ecuaciones diferenciales de orden superior, ´ puede expresarse mediante un sistema de E.D.O. de primer orden. tambien

146


Ejemplo. ´ del pendulo. ´ Resolver el P.V.I. para la ecuacion

´ Solucion ´ ´ Considere la dinamica del pendulo que

θ

muestra la figura:

L

⎧ ⎨ θ¨ + g sen θ = 0, t ∈ [0, 2π], L ⎩ θ(0) = π , θ(0) ˙ = 0, 4 donde

•M

θ˙ y θ¨ denotan derivadas respecto

del tiempo.

´ no lineal (que no tiene solucion ´ anal´ıtica) debemos hacer el Para resolver esta ecuacion siguiente cambio de variable

θ1 = θ, θ2 = θ˙1 , de donde obtenemos el siguiente sistema:

⎧ ⎪ θ˙1 = θ2 , ⎪ ⎪ ⎪ ⎨ g θ˙2 = − sen(θ1 ), L ⎪ ⎪ ⎪ ⎪ ⎩ θ1 (0) = π , θ2 (0) = 0. 4 ´ Notemos que θ1 corresponde al angulo θ y θ2 a la velocidad angular θ˙.

147


´ Aplicamos el metodo de RK44 al sistema anterior: Algoritmo (RK4)

= 0, . . . , N − 1 xi = a + ih k1 = hf (xi , yi ) k2 = hf (xi + h2 , yi + 12 k1 ) k3 = hf (xi + h2 , yi + 12 k2 ) k4 = hf (xi + h, yi + k3 ) y i+1 = y i + 16 [k1 + 2(k2 + k3 ) + k4 ] fin i. Para i

⎛ ⎛ ⎞ ⎞ θ θ1 2 ⎠. x = t, y = ⎝ ⎠ , f (x, y) = ⎝ g − sen(θ1 ) θ2 L ´ 2. Notemos que k1 , . . . , k4 tambien son vectores de dimension donde

Resolviendo para g

= 9.8 m/s y L = 0.5 m, obtenemos RK44, h=0.01

0.8

0.6

0.4

0.2

0

−0.2

−0.4

−0.6

−0.8

0

1

2

3

4

5

6

7

148


Ecuaciones Diferenciales Ordinarias III ´ • Problemas de valores de contorno (P.V.C.). El metodo de ”shooting”. ´ • El metodo de diferencias finitas. ´ • El metodo de elementos finitos.

Problemas de valores de contorno (P.V.C.) ´ El metodo de “shooting” Consideremos el problema de valores de contorno (P.V.C.)

⎧ ⎨ y (x) = f (x, y, y ), x ∈ (a, b), ⎩ y(a) = α, y(b) = β.

´ ´ Para resolver este problema, el primer metodo que veremos es el metodo de “shooting” (o del disparo): Dado z

∈ R consideremos el P.V.I. asociado ⎧ ⎨ y (x) = f (x, y, y ), x ∈ (a, b), ⎩ y(a) = α, y (a) = z.

´ y denotemos por yz su solucion. 149


´ La idea del metodo de “shooting” es encontrar z¯ tal que yz¯(b)

= β. yz(b)

´ Para esto, si definimos la funcion

E(z) := yz (b) − β, z ∈ R,

yz (x)

E(z)=yz (b) − β

β

vemos que

E(z) = 0 ⇐⇒ yz (b) = β. Se trata entonces de encontrar que

y (x) α

z¯ tal

E(¯ z ) = 0. Es decir, encontrar

´ (en general una ra´ız para la ecuacion no lineal) E(z)

a

b

= 0.

Ejemplo. Se lanza una piedra de masa 1 kg verticalmente hacia arriba. Sobre la piedra actuan la fuerza de gravedad y una fuerza de roce igual a 0.1 kg/s por la velocidad de la ´ ´ del tiempo, sabiendo que al cabo de piedra. Determinar la altura de la piedra como funcion 3 s la piedra esta´ exactamente a 50 m del punto de partida.

´ Sea h(t) la altura de la piedra en el instante t ≥ 0. El P.V.C. a resolver es: Solucion. ⎧ ⎨ h ¨ = −g − 0.1h, ˙ t ∈ (0, 3), ⎩ h(0) = 0, h(3) = 50, donde g

= 9.8 m/s2 .

150


´ es la velocidad inicial z para que al cabo de 3 s la altura Para ello debemos averiguar cual de la piedra sea exactamente de 50 m. Esto conduce al P.V.I. asociado:

⎧ ⎨ h ¨ = −g − 0.1h, ˙ t ∈ [0, 3], ⎩ h(0) = 0, h(0) ˙ = z,

´ anal´ıtica puede calcularse en funcion ´ de z , a saber: cuya solucion

hz (t) = −(10z + 100g)e−0.1t + 10z + 100g − 10gt. ´ hz (3) Al resolver la ecuacion

= 50, se obtiene z¯ = 34.7 y sustituyendo este valor en la

´ del tiempo esta´ dada ´ de hz (t) se tiene que la altura de la piedra como funcion expresion por

hz¯(t) = −(347 + 100g)e−0.1t + 347 + 100g − 10gt = 1327 1 − e−0.1t − 98t.

´ anal´ıtica de la funcion ´ E(z), pero, dado z En general no se tiene una expresion

∈ R,

´ ´ ´ yz puede usarse cualquiera de los metodos numericos estudiados para calcular la solucion del P.V.I. asociado

⎧ ⎨ y (x) = f (x, y, y ), x ∈ (a, b), ⎩ y(a) = α, y (a) = z,

y con ella evaluar E(z)

= yz (b) − β .

´ E(z) Para resolver la ecuacion

´ = 0 puede utilizarse cualquiera de los siguientes metodos:

´ ´ para lo cual deber´ıamos encontrar previamente dos valores • El metodo de biseccion, z0 y z1 tales que E(z0 ) < 0 < E(z1 ).

151


´ • El metodo de Newton-Raphson: ´ inicial, z0 : aproximacion E(zk ) , zk+1 = zk − E (zk )

k = 1, 2, . . .

´ ´ complejo, pues requiere evaluar Usar el metodo de Newton-Raphson es mas

E (z) =

∂ ∂yz [yz (b) − β] = (b). ∂z ∂z

´ anal´ıtica de la funcion ´ yz para calcular esa En general no se tiene una expresion derivada, pero derivando impl´ıcitamente respecto de z en el P.V.I. asociado se obtiene que uz

:=

∂yz ´ del siguiente P.V.I.: es la solucion ∂z ⎧ ⎨ u = ∂f (x, y, y )u + ∂f (x, y, y )u , x ∈ (a, b), ∂y ∂y ⎩ u(a) = 0, u (a) = 1.

´ Entonces, si se quiere aplicar el metodo de Newton, en cada paso debe resolverse ´ numericamente el sistema de E.D.O. de segundo orden

⎧ ⎪ y (x) = f (x, y, y ), x ∈ (a, b), ⎪ ⎪ ⎨ ∂f ∂f (x, y, y )u + (x, y, y )u , x ∈ (a, b), u = ⎪ ∂y ∂y ⎪ ⎪ ⎩ y(a) = α, y (a) = z, u(a) = 0, u (a) = 1, para as´ı evaluar E(z)

´ calculada = yz (b) y E (z) = uz (b), con (yz , uz ) la solucion

de este sistema.

152


´ • El metodo de la secante:

z0 , z1 : aproximaciones iniciales, E(zk ) zk+1 = zk − , E(zk ) − E(zk−1 ) zk − zk−1

k = 1, 2, . . .

´ ´ El metodo de “shooting” aplicando el metodo de la secante se puede resumir mediante el siguiente algoritmo:

1. Dar un par de estimaciones iniciales para z¯, z0 y z1 , y resolver los P.V.I. asociados con

z = z0 y z = z1 para calcular E(z0 ) y E(z1 ). 2. Para k (a)

= 1, 2, . . .

zk+1 = zk −

E(zk ) . E(zk ) − E(zk−1 ) zk − zk−1

´ (b) Resolver numericamente el P.V.I. asociado con z

= zk+1 :

⎧ ⎨ y (x) = f (x, y, y ), x ∈ (a, b), ⎩ y(a) = α, y (a) = zk+1 . ´ numerica ´ (c) Utilizar la solucion obtenida yzk+1 para calcular

E(zk+1 ) = yzk+1 (b) − β . ˜ entonces terminar: la solucion ´ yzk+1 es (d) Si |E(zk+1 )| es suficientemente pequeno, la correcta. Si no, volver a (2).

153


Ejemplo. Consideremos un problema como el anterior pero en el que la fuerza de roce es no lineal, por ejemplo:

⎧ ⎨ h ¨ = −g − 0.01h˙ 2 , t ∈ [0, 3], ⎩ h(0) = 0, h(3) = 50.

Aplicamos el algoritmo anterior con z0

= 10 y z1 = 20.

Utilizamos el comando ode45 para resolver el P.V.I.

Iteramos el procedimiento hasta que |E(zk+1 )|

< 10−3 .

60

Z0 Z1 Z2 Z3 Z4 Z5

50

hzk (3)

k

zk

0

10.0000

−16.4545

1

20.0000

10.0826

2

35.0421

40.1375

20

3

39.9782

48.3124

10

4

40.9972

49.9199

5

41.0480

49.9993

40

30

0

−10

−20

0

0.5

1

1.5

2

2.5

3

154


´ Metodo de Diferencias Finitas Supongamos que queremos resolver el P.V.C.

⎧ ⎨ −y + ry + ky = f (x), ⎩ y(a) = α, y(b) = β,

x ∈ (a, b),

donde k y r son constantes positivas. Supondremos que el problema tiene una unica ´ ´ la cual es al menos cuatro veces diferenciable. solucion,

´ El metodo de diferencias finitas se basa en las siguientes aproximaciones para las derivadas de y :

y (x) ≈

y(x + h) − y(x − h) , 2h

y (x) ≈

y(x + h) − 2y(x) + y(x − h) , h2

´ ˜ las cuales son validas si h es suficientemente pequeno.

En efecto. Consideremos los siguientes desarrollos de Taylor:

y(x + h) = y(x) + y (x)h +

h2 h3 y (x) + y (x) + O(h4 ), 2! 3!

y(x − h) = y(x) − y (x)h +

h2 h3 y (x) − y (x) + O(h4 ). 2! 3!

´ Sumandolos se tiene

y(x + h) + y(x − h) = 2y(x) + h2 y (x) + O(h4 ), de donde

y (x) =

y(x + h) − 2y(x) + y(x − h) + O(h2 ). h2

155


Por otra parte, restando los desarrollos de Taylor anteriores,

y(x + h) = y(x) + y (x)h +

h2 h3 y (x) + y (x) + O(h4 ), 2! 3!

y(x − h) = y(x) − y (x)h +

h2 h3 y (x) − y (x) + O(h4 ), 2! 3!

se tiene

y(x + h) − y(x − h) = 2hy (x) + O(h3 ), y de aqu´ı

y (x) =

y(x + h) − y(x − h) + O(h2 ). 2h

´ Las aproximaciones de las derivadas que se obtuvieron reciben el nombre Observacion: de diferencias centradas.

´ uniforme del intervalo [a, b] en n subintervalos de igual Consideremos una particion longitud:

h=

b−a , n

xi = a + ih, i = 0, . . . , n.

a x0

b x1

x i−1

xi

x i+1

x n−1

Entonces, las aproximaciones de y e y en los nodos interiores xi , i

xn

= 1, . . . , n − 1,

pueden escribirse como sigue:

y (xi ) =

y(xi+1 ) − y(xi−1 ) + O(h2 ), 2h

y (xi ) =

y(xi+1 ) − 2y(xi ) + y(xi−1 ) + O(h2 ). 2 h

156


Sustituyendo estas expresiones en el P.V.C.

⎧ ⎨ −y + ry + ky = f (x), ⎩ y(a) = α, y(b) = β,

para cada uno de los nodos interiores xi , i

x ∈ (a, b),

= 1, . . . , n − 1, se tiene:

⎧ y(xi+1 ) − 2y(xi ) + y(xi−1 ) y(xi+1 ) − y(xi−1 ) ⎪ ⎪ +r ⎪ 2 ⎨ − h 2h + ky(xi ) = f (xi ) + τi , i = 1, . . . , n − 1, ⎪ ⎪ ⎪ ⎩ y(x ) = α, y(x ) = β, 0

n

´ donde los terminos τi

´ de = O(h2 ) provienen de los errores O(h2 ) de la aproximacion

las derivadas mediante las diferencias centradas.

´ ´ Al despreciar los terminos τi , que se denominan errores de truncamiento, el metodo de diferencias finitas permite aproximar los valores y(xi ) mediante valores yi que satisfacen

⎧ − 2yi + yi−1 y yi+1 − yi−1 ⎪ ⎨ − i+1 + kyi = f (xi ), i = 1, . . . , n − 1, + r h2 2h ⎪ ⎩ y = α, y = β. 0

n

´ numerica ´ De esta forma, la resolucion del P.V.C. por diferencias finitas se reduce a resolver un sistema de ecuaciones lineales.

Multiplicando por h2 , las ecuaciones pueden reescribirse como sigue:

⎧ rh rh ⎪ 2 2 ⎪ ⎪ ⎨ −1 − 2 yi−1 + 2 + kh yi + −1 + 2 yi+1 = h f (xi ), i = 1, . . . , n − 1, ⎪ ⎪ ⎪ ⎩ y = α, y = β. 0 n

157


As´ı, definiendo para i

ai := −1 −

= 1, . . . , n − 1, rh rh , bi := 2 + kh2 , ci := −1 + , fi = f (xi ), 2 2

llegamos a la forma matricial del sistema de ecuaciones:

b1

⎜ ⎜ ⎜a2 ⎜ ⎜ ⎜0 ⎜ ⎜. ⎜ .. ⎝ 0

c1

0

···

..

.

..

.

..

.

..

.

..

.

..

.

..

.

..

.

..

.

···

0

an−1

0

⎞⎛

y1

f1

a1 α

⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎟⎜ ⎜ f2 ⎟ ⎜ 0 ⎟ ⎟ ⎜ y2 ⎟ ⎟ ⎜ ⎟ ⎜ ⎟ ⎟⎜ ⎜ ⎟ ⎜ . ⎟ ⎟ ⎜ .. ⎟ 2 ⎜ .. ⎟ ⎟ ⎜ ⎟ 0 ⎟ . ⎟ = h ⎜ . ⎟ − ⎜ .. ⎟ . ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎟⎜ ⎟ ⎜f ⎟ ⎜ 0 ⎟ ⎜y ⎟ ⎝ n−2 ⎠ ⎝ ⎠ cn−2 ⎠ ⎝ n−2 ⎠ cn−1 β yn−1 fn−1 bn−1 .. .

´ de verificar que si h es suficientemente pequeno ˜ (h ´ Es facil Observacion:

< 2/r),

entonces la matriz del sistema es de diagonal dominante. Por lo tanto, puede utilizarse el algoritmo de Thomas para resolver el sistema.

Llamemos A a la matriz tridiagonal del sistema anterior, y

:= (y1 , . . . , yn−1 )t al vector

´ de incognitas y z al segundo miembro. Es decir,

Ay = z. Sea y ex

´ exacta. := (y(x1 ), . . . , y(xn−1 ))t el vector de valores de la solucion

Si no se desprecian los errores de truncamiento se tiene

Ay ex = z + τ ,

donde

Entonces el vector de errores y ex

% % τ = %(τ1 , . . . , τn−1 )t % = O(h2 ).

− y satisface

A(y ex − y) = Ay ex − Ay = τ y, por lo tanto, y ex − y = A−1 τ . %

Se demuestra que %A se tiene que

%

−1 %

≤ C , con C una constante independiente de h. Por lo tanto,

% % y ex − y ≤ %A−1 % τ = O(h2 ). 158


´ Metodos de Elementos Finitos Supongamos que queremos resolver el P.V.C.

⎧ ⎨ −u + u = f, en (a, b), ⎊ u(a) = 0, u(b) = 0.

´ Para poder aplicar el metodo de elementos finitos (M.E.F.) primero debemos obtener la ´ v tal ´ debil ´ formulacion del problema. Para ello, multiplicamos la E.D.O. por una funcion que v(a)

= v(b) = 0, e integramos sobre el intervalo (a, b): b b b − u (x)v(x) dx + u(x)v(x) dx = f (x)v(x) dx. a

a

a

´ Integrando por partes el primer termino vemos que

−

b

u (x)v(x) dx = a

b

b u (x)v (x) dx − u (x)v(x) =

a

a

b

u (x)v (x) dx,

a

´ anterior se tiene que la solucion ´ u del P.V.C. con lo que sustituyendo en la expresion satisface

b

u (x)v (x) dx + a

b

b

u(x)v(x) dx = a

f (x)v(x) dx. a

´ debil ´ Esto conduce a la formulacion del P.V.C.: Hallar

u : (a, b) → R tal que u(a) = u(b) = 0 y que satisfaga b b b u (x)v (x) dx + u(x)v(x) dx = f (x)v(x) dx a

para toda v

a

a

: (a, b) → R tal que v(a) = v(b) = 0. 159


´ ´ de la El objetivo del metodo de elementos finitos (M.E.F.) es buscar una aproximacion ´ finita Vh (llamado espacio discreto) que satisfaga ´ u en un espacio de dimension funcion ´ debil ´ con todas las funciones vh del mismo espacio Vh : la formulacion Hallar uh

b

a

∈ Vh tal que

u h (x)vh (x) dx

+

b

uh (x)vh (x) dx = a

b

f (x)vh (x) dx

∀vh ∈ Vh .

a

´ ´ debil ´ Esta se denomina la formulacion discreta del P.V.C.

´ sencillo de espacio discreto Vh (y el mas ´ usado) es el de las funciones El ejemplo mas ´ arbitraria del intervalo continuas y lineales a trozos en una particion

a = x0 < x1 < ¡ ¡ ¡ < xn = b, que se anulan en los extremos a y b: Vh := vh ∈ C(a, b) : vh |[xi−1 ,xi ] ∈ P1 , i = 1, . . . , n, y vh (a) = vh (b) = 0 . ´ h = max (xi − xi−1 ) denota la norma de la particion. 1≤i≤n

a=x 0

x1

x2

x n−1

x n =b

x

160


´ de Vh es n − 1. La dimension En efecto, la base natural de este espa-

ÎŚ i(x)

cio esta´ formada por las llamadas fun- 1 ciones techo, φ1 , . . . , φn−1 , que satisfacen

⎧ ⎨ 1, si i = j, φi (xj ) = ⎊ 0, si i = j.

x i−1

a=x 0

xi

x i+1

xn =b

x

´ definidas por Estas funciones estan

⎧ x−x i−1 ⎪ ⎪ ⎪ ⎪ ⎨ xi − xi−1 xi+1 − x φi (x) := ⎪ xi+1 − xi ⎪ ⎪ ⎪ ⎊ 0

si

x ∈ [xi−1 , xi ],

si

x ∈ [xi , xi+1 ],

si

x ∈ [xi−1 , xi+1 ].

´ discreta uh Con respecto a esta base, la solucion

uh (x) =

n−1

∈ Vh puede representarse como

ιj φj (x), con ιj = uh (xj ).

j=1

´ de uh en la formulacion ´ debil ´ discreta Usando esta expresion

a

b

u h (x)vh (x) dx

+

b

b

uh (x)vh (x) dx = a

f (x)vh (x) dx

∀vh ∈ Vh

a

= φi , i = 1, . . . , n − 1, por la linealidad del problema se llega a b n−1 b φ j (x)φ i (x) dx + φj (x)φi (x) dx Îąi

y tomando vh

i=1

a

a

=

b

f (x)φi (x) dx, i = 1, . . . , n − 1.

a

´ ´ Este es un sistema de (n − 1) ecuaciones con (n − 1) incognitas Îąi

= uh (xi ). 161


1 ÎŚ j (x)

a=x 0

ÎŚ i (x)

xj

xi

x N=b

x

∈ / {i − 1, i, i + 1}, entonces b b φj (x)φi (x) dx = 0 y φj (x)φi (x) dx = 0.

Como se ve en la figura, si j

a

a

´ debil ´ discreta se reduce a resolver un sistema de ecuaciones As´Ĺ, vemos que la formulacion ´ ´ se demuestra es definida positiva (en ese con matriz tridiagonal y simetrica, que ademas ´ puede usarse el algoritmo de Thomas para resolver el sistema): caso tambien

⎛

a1

⎜ ⎜ ⎜ b2 ⎜ ⎜ ⎜0 ⎜ ⎜. ⎜ .. � 0

b2

0

¡¡¡

..

.

..

.

..

.

..

.

..

.

..

.

..

.

..

.

..

.

¡¡¡

0

0

⎞⎛

Îą1

⎞

⎛

f1

⎞

âŽ&#x;⎜ âŽ&#x; ⎜ âŽ&#x; âŽ&#x;⎜ ⎜ f2 âŽ&#x; âŽ&#x; ⎜ Îą2 âŽ&#x; âŽ&#x; ⎜ âŽ&#x; âŽ&#x;⎜ ⎜ . âŽ&#x; âŽ&#x; ⎜ .. âŽ&#x; âŽ&#x; ⎜ âŽ&#x; 0 âŽ&#x; . âŽ&#x; = ⎜ .. âŽ&#x; , âŽ&#x;⎜ ⎜ âŽ&#x; ⎜ âŽ&#x; âŽ&#x;⎜ âŽ&#x; ⎜ âŽ&#x; âŽ&#x; bn−1 ⎠âŽ?Îąn−2 ⎠âŽ?fn−2 ⎠ιn−1 fn−1 an−1 .. .

bn−1

donde

b

ai = a

b

bi = a

fi =

b

2 [φ i (x)]

dx +

b

2

[φi (x)] dx, i = 1, . . . , n − 1,

a

φ i−1 (x)φ i (x) dx

+

b

φi−1 (x)φi (x) dx, i = 2, . . . , n − 1,

a

f (x)φi (x) dx, i = 1, . . . , n − 1.

a

162


Para estimar el error, consideramos la siguiente norma:

5 v :=

b

61/2 2

|v(x)| dx

.

a

´ del P.V.C. y uh la solucion ´ calculada por el metodo ´ Teorema: Sea u la solucion de elementos finitos y supongamos que u tiene derivada segunda acotada en [a, b]. ´ del error: Entonces se tiene la siguiente estimacion

u − uh ≤ Ch2 max |u (x)|, 0≤x≤1

u − u h ≤ Ch max |u (x)|, 0≤x≤1

donde C es una constante positiva independiente de h.

Observaciones: ´ • Si se aplica el metodo de elementos finitos en una particion uniforme y se calculan las ´ de los trapecios, se integrales que definen los coeficientes ai , bi y fi por el metodo ´ llega exactamente al mismo sistema de ecuaciones lineales que con el metodo de diferencias finitas. ´ • Ambos metodos, diferencias finitas y elementos finitos, se extienden a Ecuaciones en ´ Derivadas Parciales (E.D.P.), que es donde se manifiesta la mayor eficacia del metodo de elementos finitos. ´ • El metodo de “shootingâ€?, en cambio, es muy eficiente para resolver P.V.C. para E.D.O., pero no se extiende a E.D.P. ´ acerca del metodo ´ ´ a la • Para mayor informacion de elementos finitos, y de su aplicacion ´ de E.D.P., se sugiere el siguiente texto: resolucion E.B. B ECKER , G.F. C AREY, J.T. O DEN . Finite Elements. An Introduction. Prentice Hall, 1981.

163


1. Sea el sistema lineal Ax

= b con ⎛ ⎞ 4 1 0 ⎜ ⎟ ⎟ A=⎜ 1 4 1 ⎝ ⎠ 0 1 4

⎛ ⎞ 1 ⎜ ⎟ ⎟ b=⎜ ⎝1⎠ . 0

y

´ ´ ´ Si se aplica el metodo de maximo descenso (o metodo del gradiente) con un vector inicial x

(0)

*

= 0

+t ´ de descenso 0 , entonces, la direccion

1

´ es: p(0) a utilizar en la primera iteracion * +t (a) p(0) = 0 3 −1 ;

* = 0

(0)

(b)

p

(c)

* p(0) = 0

+t

−3 1 ; −3

+t −1 ;

(d) ninguna de las anteriores.

´ 2. Se aplica el metodo de Gauss con pivoteo parcial a una matriz A de n × n. Si ´ la matriz que se obtiene en la etapa k -esima es

A

(k)

⎛ (k) a ⎜ 11 ⎜ ⎜ 0 ⎜ ⎜ ⎜ ⎜ =⎜ . ⎜ . ⎜ . ⎜ ⎜ ⎜ ⎝ 0

(k)

(k)

···

a1,k−1

a1k

..

.

.. .

.. .

..

.

ak−1,k−1

ak−1,k

0

akk

.. .

.. .

0

ank

(k)

···

(k)

(k)

(k)

···

(k)

a1n

⎟ ⎟ ⎟ ⎟ ⎟ (k) ak−1,n ⎟ ⎟ ⎟, (k) ⎟ akn ⎟ ⎟ .. ⎟ ⎟ . ⎠ (k) ann .. .

··· ··· ···

´ es el pivote a utilizar en la siguiente etapa: indique cual (k) aik

(a)

max

(b)

max aik

(c)

akk ;

(k)

!

: 1≤i≤n ; ! : k≤i≤n ;

(k)

(d) ninguno de las anteriores. 164


3. Considere el sistema lineal Ax

= b, con A una matriz no singular. Sean L,

U y P las matrices que entrega el comando M ATLAB [L,U,P] = lu(A); ´ de las siguientes sentencias M ATLAB devuelve la solucion ´ x del Indique cual sistema: (a)

x = U\(L\b);

(b)

x = U\(L\(P*b));

(c)

x = U\(P*(L\b));

(d)

x = P*(U\(L\b));

⎛ 1 4. Sea > 0. Considere la matriz A = ⎝ 0 ⎞ ⎛ 1 − ⎠. Entonces: A−1 = ⎝ 0 1 (a)

cond∞ (A) = (1 − 2 );

(b)

cond∞ (A) = (1 + );

(c)

cond∞ (A) = (1 + )2 ;

⎠ y su inversa 1

(d) ninguna de las anteriores.

165


´ 5. Se aplica el metodo de Gauss con pivoteo parcial a la matriz

⎛ 7 ⎜ A=⎜ ⎝4 1

⎞ 0 ⎟ 6⎟ ⎠ 0

8 5 2

´ LU . En la primera etapa se obtiene a fin de obtener una factorizacion

A

(1)

⎛ 7 ⎜ ⎜ =⎜ ⎜0 ⎝ 0

8

0

⎟ ⎟ 6⎟ ⎟. ⎠ 0

3 7 6 7

Los elementos en la diagonal de U al final del proceso son: (a)

u11 = 7, u22 = 3/7 y u33 = −12;

(b)

u11 = 7, u22 = 6/7 y u33 = 6;

(c)

u11 = 7, u22 = 6/7 y u33 = 3;

(d) ninguna de las anteriores.

6. Se quiere resolver el siguiente sistema de ecuaciones lineales:

4 −1 0 ⎜ ⎜−1 4 −1 ⎜ ⎜ ⎜ 0 −1 4 ⎝ −1

0 −1

−1

⎞⎛

x1 −1 ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0⎟ ⎟ ⎜x2 ⎟ ⎜ 0 ⎟ ⎟⎜ ⎟ = ⎜ ⎟. ⎜ ⎟ ⎜ ⎟ −1⎟ ⎠ ⎝x3 ⎠ ⎝ 3 ⎠ 4

0.5

x4

´ Considere la siguiente iteracion:

4

⎜ ⎜0 ⎜ ⎜ ⎜0 ⎝

0

0

4

0

0

4

0

0

0

⎞⎛ ⎞ ⎛ (k+1) x1 0 0 ⎟ ⎜ (k+1) ⎟ ⎜ ⎜ ⎟ ⎜1 0⎟ ⎟ ⎜x2 ⎟ ⎜ ⎟ ⎜ (k+1) ⎟ = ⎜ ⎜ ⎟ ⎜0 0⎟ ⎠ ⎝x3 ⎠ ⎝ (k+1) 4 1 x4

1

0

0

1

1

0

0

1

⎞ −1 ⎟ ⎜ (k) ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0⎟ ⎟ ⎜x2 ⎟ ⎜ 0 ⎟ ⎟ ⎜ (k) ⎟ + ⎜ ⎟ . ⎜ ⎟ ⎜ ⎟ 1⎟ ⎠ ⎝x3 ⎠ ⎝ 3 ⎠ (k) 0 0.5 x4 1

⎞⎛

(k)

x1

´ de alguno de los siguientes metodos: ´ Indique si se trata de un paso de iteracion (a) Jacobi;

(b) Gauss-Seidel;

(c) Gradiente Conjugado;

(d) ninguno de las anteriores.

166


= b con una matriz tal que A 2 = 10 y A−1 2 = 10. Si el segundo miembro 7 b presenta un error relativo (calculado ´ de las siguientes en norma 2) de 1% con respecto al vector b, indique cual

7. Se resuelve un sistema Ax

´ precisa: afirmaciones es mas ´ x 7 con respecto a la El error relativo (calculado en norma 2) de la solucion ´ x es: solucion (a) menor o igual a un 1%; (b) menor o igual a un 10%; (c) menor o igual a un 100%; (d) ninguna de las anteriores.

8. Se desea resolver el sistema de ecuaciones

4 1 0 ⎜ ⎜1 4 1 ⎜ ⎜ ⎜0 1 4 ⎝ 0 0 1

⎞⎛

⎛ ⎞ 0 0.25 x1 ⎟⎜ ⎟ ⎜ ⎟ ⎜x ⎟ ⎜1.75⎟ 0⎟ ⎟ ⎜ 2⎟ ⎜ ⎟ ⎟⎜ ⎟ = ⎜ ⎟. ⎜x3 ⎟ ⎜0.50⎟ 1⎟ ⎠⎝ ⎠ ⎝ ⎠ 4 1.50 x4

´ de las siguientes afirmaciones es correcta: Indique cual ´ (a) el sistema puede resolverse por el metodo de Jacobi, pero no por el algoritmo de Thomas; ´ (b) el sistema no puede resolverse por el metodo de Jacobi, pero s´ı por el algoritmo de Thomas; ´ (c) el sistema no puede resolverse ni por el metodo de Jacobi ni por el algoritmo de Thomas; (d) ninguna de las anteriores.

167


9. Considere el siguiente programa M ATLAB:

A = [ 3 0 1 ; 0 0 0 ; 1 0 3]; b = [ 5 ; 2 ; -1]; x = A\b; ´ de las siguientes afirmaciones es correcta: Indique cual (a) el programa entrega x

∈ R3 tal que Ax = b;

(b) el programa entrega x

∈ R3 tal que b − Ax 2 es m´ınimo;

´ del sistema; (c) el programa no entrega una solucion (d) ninguna de las anteriores.

10. Dados A

´ de las ∈ Rm×n una matriz de rango n y b ∈ Rm , indique cual

siguientes afirmaciones es necesariamente cierta:

x (a) hay un unico ´

∈ Rn tal que At Ax = At b;

x (b) hay un unico ´

∈ Rm tal que At x = b;

x (c) hay un unico ´

∈ Rn tal que Ax = b;

(d) ninguna de las anteriores.

168


* 11. El punto del plano generado por los vectores v

+ 0 y

= 1 1 * + ´ cercano al punto P = (1, 1, 1) es x = αv + βw , w = 1 0 1 mas ´ en el sentido de m´ınimos cuadrados de: con (α, β) solucion ⎛ ⎞ ⎛ ⎞ 1 1 1 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ α ⎟ ⎝ ⎠ = ⎜1⎟; (a) ⎜ ⎝ ⎠ ⎝1 0⎠ β 1 0 1 ⎛ ⎞ ⎛ ⎞ 1 1 1 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ α ⎟ ⎝ ⎠ = ⎜1⎟; (b) ⎜ ⎝ ⎠ ⎝1 0⎠ β 0 1 1 ⎛ ⎞ ⎛ ⎞ 1 1 1 ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ α ⎟ ⎝ ⎠ = ⎜0⎟; (c) ⎜ ⎝ ⎠ ⎝1 1⎠ β 1 0 1 (d) ninguno de las anteriores.

= ae(bx+c/x) se dispone de ˜ m. dos vectores (columna) de datos, x e y, ambos de tamano

´ 12. Para ajustar los parametros a, b y c del modelo y

´ Los comandos M ATLAB necesarios para calcular los valores de los parametros son: (a)

A d a b c

= = = = =

[x exp(x) exp(1./x)]; A\y; d(1) d(2) d(3)

(b)

A d a b c

= = = = =

[ones(m,1) exp(x) exp(1./x)]; A\y; log(d(1)) d(2) d(3)

169


(c)

A d a b c

= = = = =

[ones(m,1) x 1./x]; log(A\y); d(1) d(2) d(3)

(d)

A=[ones(m,1) x 1./x]; d=A\log(y); a = exp(d(1)) b = d(2) c = d(3)

⎛ 13. Sea A

=⎝

⎞ 0

1

1

1

⎠. Entonces, de las afirmaciones

i. existen matrices L, triangular inferior con unos en la diagonal, U , triangular superior invertible, tales que A

= LU ;

ii. la matriz A es invertible; iii. existe una matriz L, triangular inferior invertible, tal que A

= LLt ;

son verdaderas: (a) i) y ii); ´ i); (b) solo ´ ii); (c) solo (d) i), ii) y iii).

170


14. El sistema lineal Ax

´ = b se resuelve mediante un metodo iterativo y se

implementa como test de parada el siguiente:

xk+1 − xk < tol . Entonces, podemos afirmar que el error x − xk+1 es: (a) estrictamente menor que el valor tol; (b) menor o igual que tol 2 ; (c) menor que cond(A) tol; (d) ninguna de las anteriores.

15. El numero de bacterias de un cultivo bajo condiciones de escasez de nutrientes ´ ´ se modela mediante la expresion 2

N (t) = N0 at−bt . Se dispone de la siguiente tabla de numero de bacterias contadas en d´ıas ´ sucesivos:

t (d´ıas)

1

2

3

4

5

N (millones de bacterias)

1.39

2.54

2.77

2.74

2.45

´ de los siguientes modelos lineales puede utilizarse para ajustar los Indique cual ´ parametros del modelo: (a)

N (t) = N0 + at − bt2 ;

(b)

ln(N (t)) = N0 + a ln t − b ln(t2 );

(c)

N (t) = N0 + at − bt ;

2

(d) ninguno de las anteriores.

171


´ 1. Una de las cuatro figuras siguientes corresponde a la grafica de un spline ´ cubico que interpola los puntos indicados por ◦. Indique cual. ´ 1

0.5

0

−0.5

−1

−1.5

−2

0

1

2

3

4

5

6

7

8

0

1

2

3

4

5

6

7

8

0

1

2

3

4

5

6

7

8

0

1

2

3

4

5

6

7

8

(a) 1

0.5

0

−0.5

−1

−1.5

−2

(b)

1

0.5

0

−0.5

−1

−1.5

−2

(c) 1

0.5

0

−0.5

−1

−1.5

−2

(d)

172


2. Dada la siguiente tabla:

xi

−1

0

1

yi

7

3

5

´ de los siguientes polinomios la interpola: indique cual

x(x − 1) (x + 1)x ; − 3(x + 1)(x − 1) + 5 2 2 (b) p(x) = 7x(x − 1) + 3(x + 1)(x − 1) + 5(x + 1)x;

(a)

p(x) = 7

(c)

p(x) =

(x + 1)x x(x − 1) − (x + 1)(x − 1) + ; 2 2

(d) ninguno de las anteriores.

3. Considere el siguiente programa M ATLAB:

x=0:3; y=[1 7 4 -2]; p=polyfit(x,y,3); z=polyval(p,0) Indique que´ resultado entrega: (a)

z = 0;

(b)

z = 1;

(c)

z = 3;

(d) ninguno de las anteriores.

173


1

4. Se calcula la integral

4 x2 + 1 dx mediante la regla de Gauss con

−1

5 puntos. Sea R el error del valor calculado de la integral, h

= 2/5 y C una

´ de las siguientes afirmaciones constante estrictamente positiva. Indique cual es verdadera: (a)

R ≈ Ch2 ;

(b)

R ≈ Ch5 ;

(c)

R ≈ Ch9 ;

(d) ninguna de las anteriores.

´ de los siguientes programas M ATLAB calcula la integral 5. Indique cual

b

f (x) dx mediante la regla del punto medio: a

function int=PtoMed(f,a,b,N) h=(b-a)/N; (a) x=a+h*(0:N); int=h*(sum(feval(f,x)));

function int=PtoMed(f,a,b,N) h=(b-a)/N; (b) x=a+h*(1:N-1); int=h*(sum(feval(f,x)));

174


function int=PtoMed(f,a,b,N) h=(b-a)/N; (c) x=a+h*((1:N)-1/2); int=h*(sum(feval(f,x)));

(d) ninguno de los anteriores.

´ de las curvas 6. Para hallar un punto de interseccion

⎧ ⎨ y + xy = 1, ⎩ x2 − xy = 1,

´ ´ es: se utiliza el metodo de Newton, cuyo paso de iteracion

xk1=xk-feval(’Df’,xk)\feval(’f’,xk);

´ Indique cuales de los siguientes programas M ATLAB permiten evaluar las funciones f y Df:

175


(a)

function y=f(x) y=[x(2)+x(1)*x(2); x(1)ˆ2-x(1)*x(2)];

function z=Df(x) z=[x(2) 1; 1 -x(1)];

(b)

function y=f(x) y=[x(2)+x(1)*x(2); x(1)ˆ2-x(1)*x(2)];

function z=Df(x) z=[x(2) 1+x(1); 2*x(1)-x(2) -x(1)];

(c)

function y=f(x) y=[x(2)+x(1)*x(2)-1; x(1)ˆ2-x(1)*x(2)-1];

function z=Df(x) z=[x(2) 1+x(1); 2*x(1)-x(2) -x(1)];

(d) ninguno de los anteriores.

176


´ no lineal 7. Considere el problema de determinar una ra´ız α de una ecuacion ´ ´ f (x) = 0. Un metodo numerico para resolver este problema se dice de orden ´ xn de la ra´ız satisface p (p > 1) si la aproximacion

|xn+1 − α| = C < ∞, n→∞ |xn − α|p lim

lo que a su vez implica que |xn+1

− α| ≤ C|xn − α|p , cuando xn → α.

´ de las siguientes afirmaciones es verdadera: Indique cual ´ (a) el metodo de Newton-Raphson y el de la secante son ambos de orden p ´ (b) el metodo de Newton-Raphson es de orden 1 y el de la secante de orden p

<p<2

= 2;

´ (c) el metodo de Newton-Raphson es de orden p y el de la secante de orden 1

= 2;

=2

< p < 2;

(d) ninguna de las anteriores.

´ ´ ´ de las siguientes formulas corresponden a un metodo 8. Indique cuales predictor-corrector:

⎧ ⎨ yˆ i+1 = yi + hf (xi+1 , yi+1 ), (a) ⎩ yi+1 = yi + hf (xi+1 , yˆi+1 ); ⎧ ⎨ yˆ i+1 = yi + hf (xi , yi ), (b) ⎩ yi+1 = yi + hf (xi+1 , yˆi+1 ); ⎧ ⎨ yˆ ˆi+1 ), i+1 = yi + hf (xi+1 , y (c) ⎩ yi+1 = yi + hf (xi+1 , yˆi+1 );

(d) ninguna de las anteriores.

177


9. Dado el P.V.I.

⎧ ⎨ y = f (x, y), 0 ≤ x ≤ 1, ⎩ y(0) = y0 ,

´ ´ y un valor de N , considere el siguiente metodo numerico:

yn+1 = yn + hf (xn+1 , yn+1 ), donde h

=

n = 0, 1, . . . , N − 1,

1 ´ de las siguientes y xn = nh, n = 0, . . . , N . Indique cual N

afirmaciones es verdadera:

´ ´ costoso que un paso del metodo ´ (a) cada paso de este metodo es mas de Euler (expl´ıcito), pero su orden de convergencia es superior; ´ ´ costoso que un paso del metodo ´ (b) cada paso de este metodo es mas de Euler (expl´ıcito), ´ grande; pero para problemas stiff permite utilizar h mas ´ ´ economico ´ ´ (c) cada paso de este metodo ser´ıa mas que un paso del metodo de Euler (expl´ıcito), pero no hay forma de determinar yn+1 ; (d) ninguna de las anteriores.

´ ´ 10. La formula del metodo de Adams-Bashforth de orden 4 es la siguiente:

yi+1 = yi +

h (55fi − 59fi−1 + 16fi−2 − 9fi−3 ) , 24

donde fk

´ de las siguientes formas pueden = f (xk , yk ). Indique de cual ´ calcularse los valores de y1 , y2 e y3 , a fin de que el error global del metodo 4 sea O(h ): ´ (a) por el metodo de Runge-Kutta de orden 4; ´ (b) por el metodo de Adams-Moulton de orden 4:

yi+1 = yi +

h (9fi+1 + 19fi − 5fi−1 + fi−2 ) ; 24

´ (c) por el mismo metodo de Adams-Bashforth de orden 4; (d) ninguna de las anteriores.

178


11. Considere el siguiente problema de valores de contorno, donde a y b son constantes (b

≥ 0): ⎧ ⎨ −y + ay + by = f (x), 0 < x < 1, ⎩ y(0) = α, y(1) = β.

Dado un valor de N , sea h

=

1 y sean xi = ih, fi = f (xi ), para N +1

´ de los siguientes es un esquema valido ´ i = 0, . . . , N + 1. Indique cual para ´ de la solucion ´ de este problema, yi ≈ y(xi ): obtener una aproximacion

yi+1 − yi−1 yi+1 − 2yi + yi−1 + a i = 1, . . . , N , + byi = fi , h2 2h y0 = α, yN +1 = β ; ⎧ ⎧ ⎨ y (1) = α, ⎨ y (1) = y (1) + hy (2) , i+1 i 0 *i + i = 0, . . . , N ; (b) (2) (2) (2) ⎩ y = β, ⎩ yi+1 = yi + h ayi(2) + byi(1) − fi ,

(a)

0

(c)

yi+1 = yi +

h (fi − byi + yi ) , a

i = 1, . . . , N,

y0 = α, y0 = α ;

(d) ninguno de los anteriores.

= 1.345 × 109 kg que cae verticalmente sobre la ´ tierra, ingresa a la atmosfera terrestre a 5.43 × 104 m de altura sobre su ´ que superficie y a una velocidad de descenso de 0.57 × 103 m/s. La ecuacion

12. Un meteorito de masa m

rige su ca´ıda es la siguiente:

⎧ ⎨ my + (b − cy)y +

mK = 0, (y + R)2 ⎩ y(0) = 5.43 × 104 , y (0) = 0.57 × 103 , donde y es la altura del meteorito sobre la superficie de la tierra, ´ terrestre, K = 3.98 × 1014 m3 kg/s2 es la constante de gravitacion 6 R = 6.371 × 10 m es el radio de la tierra y (b − cy) es la resistencia del aire, con b = 1.230 × 107 /s y c = 2.265 × 102 /m. Al cabo de 12.37 s el meteorito se desintegra. Se quiere determinar la altura y la velocidad en ese instante, para lo cual se utiliza el siguiente comando M ATLAB:

179


[t,y]=ode45(’F’,[0 12.37],[5.43e4; -0.57e3]);

´ de las siguientes funciones F debe utilizarse: Indique cual

(a)

function Z=F(Y) m=1.345e9; K=3.98e14; R=6.371e6; b=1.230e7; c=2.265e2; Z=[-K/(Y+R)ˆ2-(b-c*Y)*Y’/m];

(b)

function Z=F(t,Y) m=1.345e9; K=3.98e14; R=6.371e6; b=1.230e7; c=2.265e2; Z=[-K/(Y(1)+R)ˆ2-(b-c*Y(1))*Y(2)/m];

180


(c)

function Z=F(t,Y) m=1.345e9; K=3.98e14; R=6.371e6; b=1.230e7; c=2.265e2; Z=[Y(2); -K/(Y(1)+R)ˆ2-(b-c*Y(1))*Y(2)/m];

(d) ninguna de las anteriores.

13. Sea el siguiente P.V.I.

y = y + cos(2πx) , y(0) = 0 , ´ el cual se resuelve por el metodo de Euler impl´ıcito con un paso h valor y1

= 0.5. El

´ ≈ y(x1 ) que entrega el metodo es:

(a)

y1 = −0.5;

(b)

y1 = −1;

(c)

y1 = 0.5;

(d) ninguno de las anteriores.

181


´ representada en la siguiente figura: 14. Sea f la funcion 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0

0

0.5

1

1.5

2

2.5

3

3.5

´ tiene una unica Esta funcion ra´ız en el ´ ´ esta ra´ız es: intervalo [0, 3.5]. Una forma segura de encontrar numericamente ´ (a) aplicar el metodo de la secante partiendo de x0

= 0.5, x1 = 3;

´ ´ partiendo del intervalo [0.5, 3]; (b) aplicar el metodo de biseccion ´ (c) aplicar el metodo de Newton partiendo de x0

= 3;

(d) ninguna de las anteriores.

15. Sean A1 , . . . , An y x1 , . . . , xn los puntos de cuadratura de Gauss en el intervalo [−1, 1]. Al aproximar la integral

I=

sen2 (x) dx ,

0

´ resultante es: la expresion (a)

I≈π

n

Ai sen2 (π(xi + 1));

i=1

(b)

I≈

n

Ai sen2 (π(xi + 1));

i=1

(c)

I≈π

n

Ai sen2 (xi );

i=1

(d) ninguna de las anteriores.

182


´ del PVI 16. Sea y la solucion

⎧ ⎨ y = f (x, y) , a < x < b , ⎩ y(a) = y0 .

´ de subdividir el intervalo [a, b] en N subintervalos con puntos Despues

xi = a + ih, i = 0, . . . , N , entonces y satisface xi+1 y(xi+1 ) = y(xi ) + f (x, y(x))dx . xi

´ que utiliza los Al aproximar f (x, y(x)) por el polinomio de interpolacion ´ que se obtiene es: puntos (xi , yi ) y (xi+1 , yi+1 ), el metodo

xi+1 − xi (f (xi , yi ) + f (xi+1 , yi+1 )) ; 2 = yi + (xi+1 − xi ) f (xi , yi ) ;

(a)

yi+1 = yi +

(b)

yi+1

(c)

yi+1 = yi + (xi+1 − xi ) f (xi+1 , yi+1 ) ;

(d) ninguna de las anteriores.

´ 17. El costo operacional de un paso del metodo Runge-Kutta-Fehlberg, que combina un RK45 con un RK56 , es ´ f; (a) 11 evaluaciones de la funcion ´ f; (b) 5 evaluaciones de la funcion ´ f; (c) 6 evaluaciones de la funcion (d) ninguno de las anteriores.

183


18. Si en el siguiente PVC

−y + y

=

f (x) en (0, 1) ,

y(0)

=

1

y(1)

=

1,

´ se aplica el metodo de diferencias finitas con:

y (xi )

y (xi )

y(xi+1 ) − 2y(xi ) + y(xi−1 ) , h2 y(xi+1 ) − y(xi ) , h

entonces el sistema lineal a resolver es: (a)

(−1 − h2 )yi−1 + (2 + h2 ) yi + (−1 + h2 )yi+1 = h2 fi , i = 1, . . . , n − 1 .

(b)

−yi−1 + (2 − h)yi + (−1 + h)yi+1 = h2 fi , i = 1, . . . , n − 1 .

(c)

(1 − h2 ) yi−1 + (2 + h2 − h)yi + (−1 + h)yi+1 = h2 fi , i = 1, . . . , n − 1

(d) Ninguna de las anteriores.

184


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.