Iteraciones funcionales

Descripción de la práctica

En esta práctica vamos a estudiar iteraciones de punto fijo pero en las que se itera un operador que actúa sobre funciones. Por tanto las sucesiones que resultan son sucesiones de funciones. Este es un procedimiento corriente para calcular soluciones aproximadas de ecuaciones funcionales (se llaman así las ecuaciones en las que la incógnita es una función). Hay que destacar las llamadas iteraciones de Picard para obtener soluciones aaproximadas (exactas en el límite) de problemas de valores iniciales de una ecuación diferencial ordinaria.

Ejercicio 1

a) Define una función "F[func_]" que actúa sobre una función "func" y la convierte en la función  F[func][x] = x -  func[1.0 - x]/3 (consulta el comando "Function" en la ayuda de Mathematica). 
b) Partiendo de la función identidad "Identity" itera la función antes definida 15 veces. Representa gráficamente las funciones así obtenidas en el intervalo [-10,10]. ¿Converge la sucesión de iteradas así definida? Repite el proceso anterior partiendo inicialmente de la función f[x] = (x^2). Comenta los resultados obtenidos.
Sugerencias: Es conveniente usar "Table", "Simplify" y "Nest" en vez de "NestList" que no va bien para lo que queremos. 
c)  Define una función "G[func_]" que actúa sobre una función "func" y la convierte en la función  G[func][x] = Sin[x] + 5 Cos[func[1.0 - x]].  Partiendo de la función identidad "Identity" itera la función G 5 veces. Representa gráficamente las funciones así obtenidas en el intervalo [-1,1]. ¿Converge la sucesión de iteradas así definida?

Iteraciones de Picard

Se trata de hallar una función, x, definida en un intervalo I con derivada continua y que verifique la igualdad x' (t) = f (t, x (t))  para todo t ∈ I y x(a) = α. Suponemos que f es una función conocida de dos variables suficientemente buena y que a es un punto de I. La ecuación anterior puede escribirse de forma equivalente como:
					x(t) = α + 
                (∫_a^t) f(s, x(s)) ds  	(t ∈ I)
Lo que nos dice que la función x es un punto fijo de la aplicación G  :  C(I)  →  C(I) que a cada función x  ∈  C(I) hace corresponder la función G(x) ∈  C(I)  definida por G(x) (t) = α + (∫_a^t) f(s, x(s)) ds para todo t ∈ I, donde C (I) es el espacio de las funciones continuas en I. Siguiendo la analogía con el caso numérico, podemos partir de una función inicial (Subscript[x, 1]) ∈ C(I) con (Subscript[x, 1]) = α, y formar la sucesión de funciones (Subscript[x, n + 1]) = G((Subscript[x, n])). Esto se conoce como método de las iteraciones de Picard para resolver el problema de valores iniciales dado.

Ejercicio 2

a) Dado un problema de valores iniciales y' (x) = f(x, y(x)),  y(a) = α, define la sucesión de las iteradas de Picard partiendo de la función inicial constante igual a α. 
Sugerencia. No olvides hacer la definición de forma que Mathematica recuerde las iteradas que ha calculado.
b) Calcula las primeras 5 iteradas de Picard para los problemas de valores iniciales:
y' = x + Sin[x] +  9  y /10,  y(0) = 1 
y' = x + 1/3 (y^2), y(1/2) = 1/2
y' = x Exp[x] + 5  y, y(0) = 1
En cada caso calcula la solución exacta con el comando "DSolve". Elige intervalos apropiados para representar gráficamente las iteradas obtenidas en cada caso y compáralas con la solución exacta. En el último caso puedes calcular más iteradas para estudiar si hay convergencia. Comenta los resultados obtenidos.