Análisis Numérico Clase 2 – Algoritmos y convergencia Contenido

Anuncio
Algoritmos y convergencia
Algoritmos y convergencia
Contenido
Análisis Numérico
Clase 2 – Algoritmos y convergencia
CNM-425
Departamento de Matemáticas
Facultad de Ciencias Exactas y Naturales
Universidad de Antioquia
1
Algoritmos y convergencia
Algoritmos
Convergencia
c 2008. Reproducción permitida bajo los
Copyleft términos de la licencia de documentación libre GNU.
Algoritmos y convergencia
Algoritmos y convergencia
Algoritmos y convergencia
Estructuras básicas
Algoritmo: lista bien definida, ordenada y finita de operaciones que
permite hallar la solución a un problema.
Pseudocódigo = pseudo (supuesto) + código (instrucción).
Descripción informal y compacta de un algoritmo que utiliza
convenciones estructurales de ciertos lenguajes de programación.
Estructuras de control
Secuencial
Selectiva (decisión lógica)
Iterativa (repetitiva)
Secuencial
Selectiva (decisión lógica)
instrucción 1
instrucción 2
.
.
.
si P entonces
instrucciones 1;
si no
instrucciones 2;
fin si
instrucción n
Iterativa (repetitiva)
Iterativa (repetitiva)
mientras P hacer
instrucciones;
fin mientras
para i = inicio hasta f inal
hacer
instrucciones;
fin para
Algoritmos y convergencia
Algoritmos y convergencia
El siguiente algoritmo calcula
n
X
Ejemplos
xi = x1 + x2 + · · · + xn .
i=1
El polinomio de Taylor de f (x) = ln x en torno de x0 = 1 está dado por
leer n, x1 , x2 , . . . , xn ;
SU M A = 0;
Pn (x) =
para i = 1 hasta n
SU M A = SU M A + xi ;
fin para
escribir ’La suma es’, SU M A;
El siguiente algoritmo calcula
n
Y
xi = x1 · x2 · · · xn .
i=1
n
X
(−1)i−1
(x − 1)i
i
i=1
(1)
y podemos utilizarlo para calcular ln 1,5 cuyo valor aproximado a ocho
cifras decimales es 0,40546511
El siguiente algoritmo calcula el número n de términos necesarios de
(1) para que
leer n, x1 , x2 , . . . , xn ;
| ln 1,5 − Pn (1,5)| < 10−5
(2)
P RODU CT O = 1;
para i = 1 hasta n
P RODU CT O = P RODU CT O · xi ;
fin para
teniendo en cuenta que para series alternantes convergentes
Sn = a1 + a2 + · · · + an → S, se cumple que
escribir ’El prodcuto es’, P RODU CT O;
|S − Sn | ≤ |an+1 |
Algoritmos y convergencia
Algoritmos y convergencia
Ejemplos
Estabilidad
leer x, T OL y M ;
// TOL es la tolerancia y M es el número máximo de iteraciones.
N =1;
y = x − 1;
SU M A = 0;
P OT EN CIA = y;
T ERM IN O = y;
SIGN O = −1;
mientras N ≤ M hacer
SIGN O = −SIGN O;
SU M A = SU M A + SIGN O × T ERM IN O;
P OT EN CIA = P OT EN CIA × y;
T ERM IN O = P OT EN CIA/(N + 1);
si |T ERM IN O| < T OL entonces
escribir ’Términos requeridos: ’, N );
parar;
fin si
N = N + 1;
fin mientras
Escribir ’El método falló’
parar;
(3)
Un algoritmo recibe unos datos de entrada (“input”) y produce unos
datos de salida o solución (“output”).
Un algoritmo es estable si cambios “pequeños” en los datos de
entrada producen cambios “pequeños” en los datos de salida.
¿Cómo influyen los errores de redondeo en la estabilidad de un
algoritmo?
Definición
Suponga E0 > 0 un error inicial y En el error que se obtiene después de
ejectuarse n operaciones sucesivas.
Error lineal: si En ≈ CnE0 con C una constante positiva, el crecimiento del
error es lineal.
Error exponencial: si En ≈ C n E0 con C > 1, el crecimiento del error es
exponencial.
Algoritmos y convergencia
Algoritmos y convergencia
Crecimiento exponencial
Crecimiento exponencial
Ejemplo: consideremos la ecuación en diferencias
xn =
10
xn−1 − xn−2 ,
3
para
Con aritmética de redondeo a cinco cifras, x̂0 = 1,0000 y x̂1 = 0,33333
y para las constantes obtenemos ĉ1 = 1,0000 y ĉ2 = 0,12500 × 10−5 y
(4) queda
n = 2, 3, . . .
cuya solución está dada por
xn = c1
„ «n
1
+ c2 3n
3
x̂n = 1,0000
(4)
donde c1 y c2 son constantes que dependen de las “condiciones
iniciales” x0 y x1 .
„ «n
1
− 0,12500 × 10−5 3n
3
y por tanto el error de redondeo
xn − x̂n = 0,12500 × 10−5 3n
Con x0 = 1 y x1 =
1
3
obtenemos c1 = 1 y c2 = 0 y (4) queda
„ «n
1
xn =
3
crece exponencialmente.
Algoritmos y convergencia
Algoritmos y convergencia
Crecimiento lineal
Crecimiento lineal
Ejemplo: consideremos ahora la ecuación en diferencias
xn = 2xn−1 − xn−2 ,
para
Con aritmética de redondeo a cinco cifras, x̂0 = 1,0000 y x̂1 = 0,33333
y para las constantes obtenemos ĉ1 = 1,0000 y ĉ2 = 0,66667 × 10−5 y
(5) queda
n = 2, 3, . . .
cuya solución está dada por
xn = c1 + c2 n
x̂n = 1,0000 − 0,66667 n
(5)
donde c1 y c2 son constantes que dependen de las “condiciones
iniciales” x0 y x1 .
y por tanto el error de redondeo
„
Con x0 = 1 y x1 =
1
3
xn − x̂n =
obtenemos c1 = 1 y c2 = − 32 y (5) queda
xn = 1 −
2
n
3
Algoritmos y convergencia
Errores aritméticos y de redondeo
Errores aritméticos y de redondeo
Definición “O mayúscula”
Sea {βn } una suceción tal que βn → 0 y {αn } una sucesión tal que αn → α.
La suceción {αn } converge a α con rapidez de convergencia O(βn ) si
existe una constante K tal que
βn :=
1
n
y
β̂n :=
1
,
n2
entonces
=⇒
αn = 0 + O
n+3
n + 3n
1
≤
= 4 · 2 = 4β̂n
n3
n3
n
=⇒
α̂n = 0 + O
y
Ejemplo: consideremos
|α̂n − 0| =
y
α̂n =
n+3
→ 0.
n3
Algoritmos y convergencia
Algoritmos y convergencia
Errores aritméticos y de redondeo
Errores aritméticos y de redondeo
„
Definición
Suponga lı́m G(h) = 0 y lı́m F (h) = L.
h→0
h→0
De (6),
F (h) = L + O(G(h))
˛„
˛ ˛
˛
«
˛
˛ ˛
˛
˜ ˛ ≤ 1 h4 → 0
˛ cos h + 1 h2 − 1˛ = ˛ 1 h4 cos ξ(h)
˛
˛ ˛ 24
˛
2
24
si existe una constante positiva K tal que
|F (h) − L| ≤ K|G(h)|,
para h suficientemente pequeño.
y por tanto
Por lo general G(h) = hp con p > 0.
cos h +
Ejemplo: al utilizar el tercer polinomio de Taylor de coseno,
cos h = 1 −
˜
con 0 < ξ(h)
< h.
„ «
1
n
n+1
n+n
1
≤
= 2 · = 2βn
n2
n2
n
|αn − 0| =
1
con p > 0.
np
n+1
→0
n2
n
Ambas sucesiones convergen a cero pero una lo hace más “rápido” que
otra: si
αn = α + O(βn )
αn =
«
para n grande,
y en tal caso se acostumbra a escribir
Por lo general βn =
2
3
crece linealmente.
Algoritmos y convergencia
|αn − α| ≤ K|βn | ,
0,66667 −
1 2
1 4
˜
h +
h cos ξ(h)
2
24
(6)
1 2
h = 1 + O(h4 )
2
1
n2
«
Descargar