Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
tema1 (1).pdf
1. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Introducción al cálculo numérico
y algunas nociones sobre los errores
Julio Mulero
@juliomulero
julio.mulero
Departamento de Matemáticas
Universidad de Alicante
Carmen Gandı́a
Departamento de Matemáticas
Universidad de Alicante
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 1 / 66
2. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Outline
1 Introducción
Qué son los métodos numéricos
Recorrido histórico
2 Construcción de los métodos
Ideas básicas para la construcción de métodos
3 Definiciones básicas
Fuentes de error
Análisis del error
4 Otras consideraciones importantes
El desarrollo de Taylor
Herramientas informáticas
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 2 / 66
3. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Outline
1 Introducción
Qué son los métodos numéricos
Recorrido histórico
2 Construcción de los métodos
Ideas básicas para la construcción de métodos
3 Definiciones básicas
Fuentes de error
Análisis del error
4 Otras consideraciones importantes
El desarrollo de Taylor
Herramientas informáticas
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 3 / 66
4. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Qué son los métodos numéricos
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 4 / 66
5. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Qué son los métodos numéricos
Se puede decir que el Análisis Numérico moderno comienza con el documento
de 1947 de John von Neumann y Herman Goldstine, “Inversión numérica de
matrices de alto orden” (Bulletin of the AMS, Noviembre de 1947), uno de los
primeros trabajos en estudiar el error de redondeo e incluir una discusión de lo
que hoy se llama computación cientı́fica . Aunque el Análisis Numérico tiene
una historia más larga y rica, el Análisis Numérico “moderno” se caracteriza por
el uso de ordenadores numéricos programables y Análisis Matemático frente a
la necesidad de resolver problemas matemáticos cuyas aplicaciones resultan
complejas. La necesidad de avances en dichas aplicaciones, como la predicción
balı́stica, el transporte de neutrones y la dinámica de fluidos multidimensional no
constante, impulsó el desarrollo de la computadora y dependı́a fuertemente de los
avances en Análisis Numérico y Modelización Matemática.
SIAM Historia del análisis numérico y la computación cientı́fica Proyecto 2007.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 5 / 66
6. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Qué son los métodos numéricos
Peter Karl Henrici (1923-1987), un matemático suizo experto en
Análisis Numérico , lo definió como:
la teorı́a de los métodos constructivos en Análisis Matemático.
El carácter constructivo del Cálculo Numérico es muy importante puesto
que, propuesto un problema matemático, además de estudiar la existencia
de solución, hay que dar un procedimiento para calcularla de modo explicito.
Esta solución se construirá mediante algoritmos , entendiendo por tal una
especificación no ambigua de operaciones aritméticas en un orden prefijado.
Estos procedimientos son los llamados métodos numéricos .
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 6 / 66
7. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Qué son los métodos numéricos
Un método numérico de resolución de un determinado problema es:
un conjunto de reglas que permite la obtención mediante un número finito
de operaciones elementales, de un resultado que se aproxima de alguna
manera a la solución del problema en cuestión.
La aparición de los ordenadores y su creciente potencia de cálculo ha
potenciado el uso y desarrollo de métodos numéricos para resolver multitud
de problemas y ha hecho posible abordar problemas tan complejos como el
de la predicción meteorológica.
Esto ha supuesto un cambio radical en la situación que el estudio de los
métodos numéricos lleva camino de convertirse en una de las ramas más
importantes de las matemáticas y, desde luego una de las de más
actualidad.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 7 / 66
8. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Qué son los métodos numéricos
Los objetivos esenciales de esta disciplina son:
1) Dado un problema matemático, encontrar/construir algoritmos que, bajo
ciertas condiciones, permitan obtener una solución aproximada del problema
propuesto.
2) Analizar las condiciones bajo las cuales la solución del algoritmo es próxima
a la verdadera, estimando los errores en la solución aproximada.
Se trata pues de encontrar métodos aproximados para resolver todo tipo de
problemas matemáticos y analizar los errores producidos en estas
aproximaciones.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 8 / 66
9. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Un breve recorrido histórico
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 9 / 66
10. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
Las matemáticas suministran un lenguaje que se utiliza en las ciencias e
ingenierı́as para describir con rigor modelos que pretenden representar
fenómenos reales.
Las dificultades que surgen en el estudio de estos problemas ha estimulado
el desarrollo de las matemáticas generando la necesidad de teorı́as
abstractas y contribuyendo de este modo a construir el pensamiento
matemático actual.
Pero, junto a cada nuevo concepto que permite profundizar en la estructura
del conocimiento matemático, surge la necesidad de desarrollar técnicas
que permitan utilizar esos conceptos de un modo cuantitativo preciso.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 10 / 66
11. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
En la primera parte del siglo XX es ya muy manifiesta la insuficiencia del
cálculo simbólico para resolver ecuaciones de la complejidad con la que se
presentaban en los modelos de las ciencias e ingenierı́as.
De hecho, durante la primera mitad de este siglo aparece un
sentimiento de incapacidad por la imposibilidad material de llevar a cabo
los cálculos por procedimientos numéricos aproximados.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 11 / 66
12. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
Por ejemplo, las siguientes integrales definidas:
Z 2
0
sin x2
dx
Z 2
1
e
√
x
dx
O las siguientes ecuaciones:
ex
= cos x x5
+ x4
− 3x2
+ x − 12 = 0 tanx = 5/3
¡No tienen solución “formal”!
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 12 / 66
13. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
Este sentimiento se mitiga en la segunda mitad del siglo con el desarrollo
exponencial de las capacidades de cálculo automático . Este hecho
condiciona de un modo radical el modo de calcular y las técnicas comienzan
a adaptarse a este nuevo medio de cálculo.
Los medios de cálculo electrónico permiten realizar una elevada cantidad de
operaciones algebraicas en periodos muy reducidos de tiempo. En ese
momento surge la necesidad de diseñar algoritmos capaces de aproximar las
soluciones a los problemas, mediante operaciones elementales.
Los sistemas de ecuaciones numéricas lineales, por ejemplo, aun cuando el
número de variables fuese muy elevado, podı́an ya directamente ser
resueltos por estas técnicas. También, las ecuaciones diferenciales, que
tienen funciones como incógnitas y que involucran operadores diferenciales,
podı́an ser resueltas eficientemente, si bien necesitaban de un paso
intermedio que permitiera convertirlas en ecuaciones numéricas.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 13 / 66
14. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
No es de extrañar que los nombres de los que han fundamentado el análisis
matemático clásico, como Newton, Fourier, Gauss, Legendre, Euler,
Chebyshev y otros, se utilicen para denominar métodos y procedimientos
del cálculo numérico.
En todo el proceso de desarrollo de las matemáticas, el ser humano ha
tratado de ayudarse mediante artilugios que simplificaran su labor. Primero
fueron simples guijarros (calculi, en latı́n), después fueron instrumentos
mecánicos simples como el ábaco, instrumentos mecánicos articulados
como las máquinas de Pascal , de Schickard o la máquina analı́tica de
Babbage (aunque nunca la terminó) y, finalmente, los ordenadores .
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 14 / 66
15. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
Máquina de Pascal (1642) Máquina de Shickard (1623)
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 15 / 66
16. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
Máquina analı́tica
Charles Babbage (1791–1871)
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 16 / 66
17. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
La creación de los programas que ejecutan los cálculos requieren que un
ordenador los interprete y ejecute las instrucciones escritas en él, debe
escribirse en un lenguaje de programación .
El trabajo que Ada Lovelace , hija de Anabella Milbanke Byron y Lord
Byron, realizó para la máquina de Babbage le hizo ganarse el tı́tulo de
primera programadora de computadoras del mundo, aunque Babbage nunca
completó la construcción de la máquina.
Alan Mathison Turing es considerado el padre de la informática moderna.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 17 / 66
18. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
Lenguajes de programación
Ada Lovelace (1815–1852)
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 18 / 66
19. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Breve recorrido histórico
Alan Mathison Turing (1912–1954)
q https://elultimoversodefermat.wordpress.com/2019/06/28/
alan-mathison-turing-enhebrasmatematicas/
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 19 / 66
20. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
El conocimiento y tecnologı́a actual permite realizar cálculos de gran complejidad.
Sin embargo, un computador produce resultados en respuesta a cálculos
programados que posiblemente difieren ligeramente de los valores exactos esperados.
Esto es consecuencia de que trabajan con una aritmética discreta que no coincide
plenamente con la aritmética exacta de los números enteros o reales.
El ser humano no ha logrado todavı́a realizar por medios fı́sicos, todos los cálculos
que su mente puede concebir, ni siguiera a representar en la memoria de un
ordenador más que un subconjunto finito del conjunto de todos los números que
puede manejar.
Es cierto, sı́, los ordenadores han ayudado mucho, pero hay que
comprender bien su funcionamiento porque pueden ser incluso fuentes de
errores . . .
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 20 / 66
21. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Outline
1 Introducción
Qué son los métodos numéricos
Recorrido histórico
2 Construcción de los métodos
Ideas básicas para la construcción de métodos
3 Definiciones básicas
Fuentes de error
Análisis del error
4 Otras consideraciones importantes
El desarrollo de Taylor
Herramientas informáticas
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 21 / 66
22. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 22 / 66
23. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
El objetivo principal de esta disciplina es la construcción y aplicación de
métodos numéricos fiables y eficientes para resolver un determinado
problema matemático. Se suelen tener en cuenta los siguientes
aspectos/pasos:
1) Sustituir el problema inicial por un algoritmo de cálculo, que contiene un
parámetro n.
2) Probar la convergencia del algoritmo, es decir asegurar que las
aproximaciones, xn, a la solución, x, son tan próximas como se desee;
estimando la rapidez o velocidad de convergencia.
3) Procurar la estabilidad del algoritmo, que significa, hablando
coloquialmente, que pequeñas modificaciones en los datos no ocasionen
fuertes cambios en el resultado final; o, de otra forma, si los cálculos no se
efectúan con exactitud (debido a los redondeos) no obstante se tiene
convergencia a la solución.
4) Realizar el organigrama y/o el programa del algoritmo en cuestión en un
adecuado lenguaje de programación.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 23 / 66
24. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
La convergencia
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 24 / 66
25. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
Definición (convergencia)
Un algoritmo es un procedimiento que describe de forma precisa una sucesión
finita de operaciones elementales que deben ser ejecutadas en un orden
especificado para resolver un problema o para obtener una aproximación a
dicha solución a partir de unos datos de entrada.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 25 / 66
26. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
Definición (convergencia)
Un algoritmo es un procedimiento que describe de forma precisa una sucesión
finita de operaciones elementales que deben ser ejecutadas en un orden
especificado para resolver un problema o para obtener una aproximación a
dicha solución a partir de unos datos de entrada.
Los algoritmos implementan los métodos numéricos para la resolución de prob-
lemas. Estos métodos pueden ser:
Iterativos: Si el método va generando una sucesión que, en determinadas
condiciones, converge a la solución exacta del problema, es
decir, si el algoritmo es reiterativo, en el sentido de que hay
pasos de él que se repiten un número arbitrario de veces hasta
que se cumpla cierto criterio de parada.
Directos: Si no son iterativos.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 25 / 66
27. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
Se entiende que un método numérico iterativo converge si la sucesión
formada por las aproximaciones obtenidas en cada iteración (xn)n∈N
converge a lo que será la solución de nuestro problema.
Cuanto menor sea el número de iteraciones necesarias para obtener la
solución del problema con una tolerancia fijada de antemano, mayor será la
velocidad de convergencia del método.
Se dice que un método numérico iterativo diverge si los resultados
obtenidos en cada iteración se van alejando cada vez más de la solución
exacta.
Por este motivo, al implementar un método numérico mediante el
correspondiente algoritmo suele ser una buena técnica que el criterio de
parada contemple un número máximo de iteraciones a realizar.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 26 / 66
28. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
La estabilidad
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 27 / 66
29. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
Definición (estabilidad)
Un algoritmo es estable cuando un error “pequeño” en las condiciones ini-
ciales produce desviaciones “pequeñas” en el resultado. En caso contrario,
el algoritmo se dice inestable.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 28 / 66
30. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
import numpy as np
# Resolucion del sistema de ecuaciones
# x + y = 2
# x + 1. 00001y = 2.00001
A=np.array([[1,1],[1,1.00001]])
b=np.array([2,2.00001])
np.linalg.solve(A,b)
Out[1]: array([1., 1.])
# Resolucion del sistema de ecuaciones
#x + y = 2
#x + 1. 00001y = 2
A=np.array([[1,1],[1,1.00001]])
b=np.array([2,2])
np.linalg.solve(A,b)
Out[2]: array([2., 0.])
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 29 / 66
31. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
Definición
Supongamos que ε representa un error inicial y que ε(n) representa el creci-
miento de dicho error después de n operaciones.
Si |ε(n)| ≈ nε, se dice que el crecimiento es lineal.
Si |ε(n)| ≈ Kn
ε, entonces se dice que el crecimiento es exponencial.
Si K > 1, entonces un error exponencial crece cuando n → ∞ sin que
podamos acotarlo; pero si 0 < K < 1, entonces un error exponencial
disminuye a cero cuando n → ∞.
Y Un crecimiento lineal es casi inevitable y puede ser permitido. Un crecimiento
exponencial debe evitarse. El objetivo de esta asignatura no es el análisis de estas
consideraciones, pero conviene saber que la teorı́a del error constituye una parte
muy importante de los métodos numéricos.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 30 / 66
32. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
El tiempo invertido
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 31 / 66
33. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
La elección de un método numérico para la resolución de un problema
matemático se realiza atendiendo a varios criterios:
1) Elegir aquel método que minimice los errores.
2) Elegir aquel método que minimice el número de operaciones efectuadas,
directamente relacionado con el costo computacional.
3) Elegir aquel método que minimice la memoria requerida para almacenar
datos, cada vez menos importante debido a las grandes capacidades actuales
de los medios de cálculo a nuestra disposición.
O simplemente, podrı́amos adoptar como criterio más adecuado el de
seleccionar aquel método que produciendo errores dentro de márgenes
admisibles, necesite el menor costo computacional. . .
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 32 / 66
34. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Ideas básicas para la construcción de métodos
La elección de un método numérico para la resolución de un problema
matemático se realiza atendiendo a varios criterios:
1) Elegir aquel método que minimice los errores.
2) Elegir aquel método que minimice el número de operaciones efectuadas,
directamente relacionado con el costo computacional.
3) Elegir aquel método que minimice la memoria requerida para almacenar
datos, cada vez menos importante debido a las grandes capacidades actuales
de los medios de cálculo a nuestra disposición.
O simplemente, podrı́amos adoptar como criterio más adecuado el de
seleccionar aquel método que produciendo errores dentro de márgenes
admisibles, necesite el menor costo computacional. . .
y, por tanto, la menor inversión de tiempo .
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 32 / 66
35. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
Ejemplo 1
Sea el polinomio p(x) = a0 + a1x + a2x2
+ · · · + an−1xn−1
+ anxn
, donde
ai ∈ R, i = 1, . . . , n. Supongamos que deseamos calcular el número de
operaciones necesarias para conocer el valor del polinomio p en el punto x0.
¿Cuántas operaciones serán necesarias?
1 El cálculo de una potencia de orden k (xk
o ) implica k − 1 productos. El
número total de productos será:
0 + 1 + 2 + · · · + n =
n(n + 1)
2
.
2 La suma de n + 1 sumandos implica n sumas.
3 El número total de operaciones será:
n +
n2
+ n
2
=
n2
+ 3n
2
.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 33 / 66
36. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
Ejemplo 1
Ahora bien, el polinomio puede escribirse también como
p(x) = a0 + x(a1 + x(a2 + · · · + x(an−1 + anx))).
donde ai ∈ R, i = 1, . . . , n. ¿Cuántas operaciones serán necesarias ahora?
Cada paréntesis contiene dos operaciones elementales: un producto y una
suma.
Hay n paréntesis.
El número total de operaciones será 2n.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 34 / 66
37. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
Ejemplo 2
Supongamos que queremos resolver un sistema de ecuaciones lineales: Sea
a11x1 + a12x2 + · · · + a1nxn
= b1
.
.
.
an1x1 + an2x2 + · · · + annxn
= bn
¿Cuántas operaciones serán necesarias?
Sabemos que el sistema se puede escribir como AX = b, donde
A =
a11 . . . a1n
.
.
.
...
.
.
.
an1 . . . ann
, X =
x1
.
.
.
xn
y b =
b1
.
.
.
bn
,
donde A ∈ Mn×n(R) y b ∈ Mn×1(R).
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 35 / 66
38. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
Si el sistema es compatible determinado, podemos aplicar la Regla de
Cramer.
Si llamamos ∆ al determinante de la matriz A y ∆i al determinante de la
matriz que resulta de sustituir la columna i-ésima de la matriz A por la
columna b, se tiene que:
xi =
∆i
∆
, para todo i = 1, . . . , n.
La pregunta es. . . ¿Cuántas operaciones elementales necesitamos realizar
para resolver el sistema?
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 36 / 66
39. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
Recordemos que el determinante de una matriz cuadrada
A =
a11 a12 . . . . . . a1n
a21 a22 . . . . . . a2n
.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
. . . . a(n−1)(n−1) a(n−1)n
an1 an2 . . . an(n−1) ann
se define como
|A| =
X
σ∈S
(−1)inv(σ)
a1i1 a2i2 . . . anin .
donde inv(σ) se define como el número de inversiones de la permutación σ
con respecto a la permutación principal de n elementos,
1, 2, 3, . . . , n.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 37 / 66
40. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
¿Cuántas operaciones elementales debemos realizar?
|A| =
X
σ∈S
(−1)inv(σ)
a1i1 a2i2 . . . anin .
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 38 / 66
41. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
¿Cuántas operaciones elementales debemos realizar?
|A| =
X
σ∈S
(−1)inv(σ)
a1i1 a2i2 . . . anin .
Cada sumando de la suma anterior tiene n factores: n − 1 productos por
cada sumando.
Hay un total de n! sumandos: En total, n!(n − 1) productos.
Los n! sumandos dan lugar a n! − 1 sumas.
Como debemos resolver n + 1 determinantes y, además, calcular n
cocientes, obtenemos un total de
(n+1)(n!(n−1)+n!−1)+n = (n+1)n!(n−1+1)−1 = nΓ(n+2)−1 operaciones.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 38 / 66
43. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Outline
1 Introducción
Qué son los métodos numéricos
Recorrido histórico
2 Construcción de los métodos
Ideas básicas para la construcción de métodos
3 Definiciones básicas
Fuentes de error
Análisis del error
4 Otras consideraciones importantes
El desarrollo de Taylor
Herramientas informáticas
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 40 / 66
44. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Primeras observaciones
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 41 / 66
45. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Primeras observaciones
El uso de ordenadores implica conocer, al menos tener una idea, de cómo
funciona internamente.
La clave del trabajo interno del ordenador reside en el sistema binario. Y
esto implica que no todos los números pueden ser “representados” con
exactitud en su memoria (finita).
Ejemplo
El número 0.1 posee infinitos dı́gitos en base 2, ası́ que, al ser almacenado en un
ordenador digital, necesitará ser “redondeado”.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 42 / 66
46. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Primeras observaciones
Pero. . . ¿Cómo almacena los números un ordenador? Para hacernos una
idea es suficiente con trabajar en base 10.
Como es sabido todo número real no nulo x puede expresarse de modo
único en la forma x = ±m × 10q
con 0.1 ≤ m < 1 y q ∈ Z, a m se le
denomina mantisa y a q, exponente .
A fin de almacenar dicho número en el ordenador, debemos guardar su
signo, la mantisa y su exponente con su signo, pero para guardar m y q
solo disponemos de un número finito de dı́gitos.
Si, por ejemplo, q solo pudiera tener dos dı́gitos en base 10 el intervalo de
los números representables estarı́a contenido en el dado por:
10−100
≤ |x| < 1099
.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 43 / 66
47. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Primeras observaciones
Y, además, dentro de dicho intervalo no todos los números podrán ser
representados con exactitud, como ya hemos visto anteriormente.
Si, por ejemplo, solo pueden ser utilizados k dı́gitos para almacenar m,
dado x cualquiera del intervalo anterior, quedarı́a representado como:
x = ±m × 10q
,
con m obtenida por redondeo (lo más usual) o corte tras el k-ésimo dı́gito.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 44 / 66
48. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Primeras observaciones
El “Institute for Electrical and Electronic Engineers” estableció en 1985 un
protocolo de representación de números reales en los ordenadores que
vienen observando desde entonces los fabricantes de los procesadores donde
los ordenadores realizan las operaciones.
En la actualidad, la mayorı́a de los procesadores que realizan los cálculos en
un ordenador trabajan con números reales que se representa en coma
flotante en binario (base 2) utilizando registros de 32 o 64 dı́gitos (bits).
En ellos, se utiliza el primer dı́gito para señalar el signo del número y/o:
Precisión simple (float): 32 bits, de los cuales uno corresponde al signo, ≈ 8
al exponente y 8 a la mantisa.
Precisión doble (double): 64 bits, de los cuales uno corresponde al signo,
≈ 11 al exponente y 52 a la mantisa.
q En Faires and Burden (2004) encontraréis una breve descripción.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 45 / 66
50. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Fuentes de error
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 47 / 66
51. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Fuentes de error
q https://elultimoversodefermat.wordpress.com/2020/01/09/
la-guerra-es-siempre-el-mayor-error/
q http://www-users.math.umn.edu/~arnold/disasters/patriot.html
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 48 / 66
52. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Fuentes de error
q http://www-users.math.umn.edu/~arnold/disasters/ariane.html
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 49 / 66
53. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Fuentes de error
q http://www-users.math.umn.edu/~arnold/disasters/sleipner.html
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 50 / 66
54. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Fuentes de error
La aplicación de métodos numéricos nos lleva a la consideración de los
errores inherentes a los mismos, que son básicamente los que siguen:
Errores en los datos iniciales , por ejemplo si son resultado de una medida
con algún instrumento.
Errores de redondeo , debidos al hecho de que el ordenador maneja solo un
número finito de cifras significativas o dı́gitos.
Errores de truncatura o discretización , que provienen de sustituir un
problema continuo por otro discreto, por ejemplo una serie por una suma
finita, una derivada por un cociente incremental, o una integral defi
nida por una suma de un número finito de términos, etc.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 51 / 66
55. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Fuentes de error
Tal y como hemos visto, (0.1)10 tiene infinitos decimales en el sistema binario. . .
x=0
while x!=10:
x=x+0.1
Traceback (most recent call last):
File "<ipython -input -31 -8597211ccc15 >", line 3, in <module>
x=x+0.1
KeyboardInterrupt
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 52 / 66
56. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Fuentes de error
import math
18817 - 10864*math.sqrt(3)
Out[1]: 2. 6571717171464115e -05
1/(18817 + 10864*math.sqrt(3))
Out[2]: 2. 6571717083117823e -05
18817 - 10864*math.sqrt(3)==1/(18817 + 10864*math.sqrt(3))
Out[3]: False
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 53 / 66
57. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Análisis del error
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 54 / 66
58. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Análisis del error
La diferencia (en valor absoluto) entre el valor exacto x y el valor obtenido
en un cálculo x, determina el error absoluto cometido:
ea(x) = |x − x| (en las mismas unidades que los datos).
Otra representación del error cometido viene dada por el error relativo ,
que se define como el cociente:
er (x) =
ea(x)
|x|
=
|x − x|
|x|
, si x 6= 0 (sin unidades).
Si multiplicamos por 100, obtendremos el error relativo porcentual que da
idea del porcentaje de error en la medida.
Y, por último, podemos considerar:
ẽr (x) =
ea(x)
|x|
=
|x − x|
|x|
, si x 6= 0.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 55 / 66
59. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Análisis del error
Ejemplo
Supongamos que se tiene que medir la longitud de un puente y de un
remache, obteniéndose 9999cm y 9cm, respectivamente. Si los valores ver-
daderos son 10000cm y 10cm, calcula en cada caso:
El error absoluto.
Los errores relativos.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 56 / 66
60. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Análisis del error
Ejemplo
Supongamos que se tiene que medir la longitud de un puente y de un
remache, obteniéndose 9999cm y 9cm, respectivamente. Si los valores ver-
daderos son 10000cm y 10cm, calcula en cada caso:
El error absoluto.
Los errores relativos.
Solución
ea(x) = |x − x| = |10000 − 9999| = 1cm,
er (x) =
|x − x|
|x|
=
|10000 − 9999|
|10000|
= 0.0001.
ea(x) = |10 − 9| = 1cm,
er (x) =
|10 − 9|
|10|
= 0.1.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 56 / 66
61. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Análisis del error
Ejemplo
Si un determinado cálculo produce como resultado x = 1.2345×1012
siendo
el valor exacto esperado x = 1.2331 × 1012
. Calcula:
El error absoluto.
Los errores relativos.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 57 / 66
62. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Análisis del error
Dado que x es desconocido, también lo serán los errores absoluto y relativo.
Por este motivo, se suelen manejan cotas de error εa(x) y εr (x):
|ea(x)| ≤ εa(x) y |er (x)| ≤ εr (x).
A efectos prácticos, muchos métodos numéricos generan una sucesión de
aproximaciones (xn)n∈N de forma que xn → x, donde x es el valor buscado
(métodos iterativos). En este contexto, suele utilizarse también el cociente,
que se conoce como error relativo aproximado ,
en =
xn − xn−1
xn
para todo n ∈ N.
Además, suele establecerse una tolerancia como criterio de parada. En cada
iteración se calculará el error relativo aproximado que se comparará con la
tolerancia establecida de forma que el proceso iterativo finaliza cuando
en < t, siendo t la tolerancia fijada de antemano.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 58 / 66
63. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Outline
1 Introducción
Qué son los métodos numéricos
Recorrido histórico
2 Construcción de los métodos
Ideas básicas para la construcción de métodos
3 Definiciones básicas
Fuentes de error
Análisis del error
4 Otras consideraciones importantes
El desarrollo de Taylor
Herramientas informáticas
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 59 / 66
64. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
El desarrollo de Taylor
Brook Taylor (1685–1731)
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 60 / 66
65. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
El desarrollo de Taylor
Por su utilidad en el resto de la asignatura, vamos a recordar brevemente
las fórmulas de Taylor para funciones reales de una o varias variables.
Teorema
Si f : [a, b] → R continua y derivable hasta el orden n + 1, entonces para
cualquier x0 ∈ (a, b):
f (x) = Pn(x) + Rn(x),
donde
Pn(x) =
n
X
k=0
f (k)
(x0)
k!
(x − x0)k
,
es el polinomio de Taylor de grado n para f en x0, y
Rn(x) =
f (n+1)
(ξx )
(n + 1)!
(x − x0)n+1
,
donde ξx es un punto entre x0 y x, es el resto n-ésimo de Taylor de f en x0.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 61 / 66
66. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
El desarrollo de Taylor
Ejemplos
Algunos desarrollos notables son:
ex
= 1 + x +
x2
2!
+
x3
3!
+ · · · +
xn
n!
+
xn+1
(n + 1)!
eξx
.
sin x = x +
x3
3!
+
x5
5!
+ · · · +
(−1)n−1
x2n−1
(2n − 1)!
+
sin(ξx + (2n + 1)π
2
)
(2n + 1)!
x2n+1
.
log(1 + x) = x −
x2
2
+
x3
3
−
x4
4
+ · · · +
(−1)n−1
xn
n
+
(−1)n
xn+1
(n + 1)(ξx + 1)n+1
.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 62 / 66
67. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Herramientas informáticas
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 63 / 66
68. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Qué es Python
Python es un lenguaje de programación interpretado (se ejecuta sin
necesidad de ser procesado por el compilador y se detectan los errores en
tiempo de ejecución) de tipado dinámico (las variables se comprueban en
tiempo de ejecución.) cuya filosofı́a hace hincapié en una sintaxis que
favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma (soporta
programación funcional, programación imperativa y programación orientada
a objetos), gratuito (no dispone de licencia para programar) y disponible en
los sistemas operativos más usuales.
https://www.python.org/
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 64 / 66
69. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Qué es Spyder
Spyder es un potente entorno de desarrollo interactivo para el lenguaje
Python que posee funciones avanzadas de edición, pruebas interactivas,
depuración e introspección y un entorno informático numérico gracias al
soporte de IPython (intérprete interactivo mejorado de Python) y
bibliotecas populares de Python como Numpy, Scipy o matplotlib (trazado
interactivo 2D / 3D).
https://www.spyder-ide.org/
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 65 / 66
70. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Introducción al cálculo numérico
y algunas nociones sobre los errores
Julio Mulero
@juliomulero
julio.mulero
Departamento de Matemáticas
Universidad de Alicante
Carmen Gandı́a
Departamento de Matemáticas
Universidad de Alicante
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 66 / 66