SlideShare una empresa de Scribd logo
1 de 70
Descargar para leer sin conexión
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Por ejemplo. . .
Supongamos ahora que nuestro sistema es el siguiente:
















16 3 13 14 9 6 15 17 7 2
18 19 1 1 8 14 5 5 17 1
3 19 17 6 15 13 10 16 12 11
18 10 19 1 16 3 14 5 11 16
13 16 14 2 4 2 18 19 18 19
2 3 15 16 10 10 19 7 6 3
6 8 15 14 9 19 11 4 15 11
11 18 8 6 13 7 3 5 15 9
19 16 13 19 14 12 3 12 8 0
19 19 3 1 15 4 5 9 11 7
































x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
















=
















1
1
1
1
1
1
1
1
1
1
















Necesitaremos hacer 10Γ(12) − 1 = 10 − 11! − 1 = 399167999 operaciones,
lo que supone un total de unos 400 segundos (suponiendo que cada
operación requiere 10−6
segundos).
Si el sistema tuviera dimensión 15, el tiempo empleado serı́a de unos 10
años.
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 39 / 66
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
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
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
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
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
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
Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes
Primeras observaciones
import struct
def float_to_bin (num):
return format(struct.unpack(’!I’, struct.pack(’!f’, num))
[0], ’032b ’)
def bin_to_float (binary):
return struct.unpack(’!f’,struct.pack(’!I’, int(binary , 2
)))[0]
float_to_bin (0.1)
# ’00111101110011001100110011001101 ’
bin_to_float (’00111101110011001100110011001101 ’)
# 0. 10000000149011612
@juliomulero (julio.mulero@ua.es) Métodos Numéricos 46 / 66
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Más contenido relacionado

Similar a tema1 (1).pdf

Matematica aplicada
Matematica aplicadaMatematica aplicada
Matematica aplicadasilviamtl
 
Metodosnumericos 14
Metodosnumericos 14Metodosnumericos 14
Metodosnumericos 14mdpilar
 
Métodos numéricos
Métodos numéricosMétodos numéricos
Métodos numéricosadrianaroab
 
Metodos_Numericos_Aplicados_a_la_ingenie (1).pdf
Metodos_Numericos_Aplicados_a_la_ingenie (1).pdfMetodos_Numericos_Aplicados_a_la_ingenie (1).pdf
Metodos_Numericos_Aplicados_a_la_ingenie (1).pdfHobertBarreramejia
 
Tematicas de Economìa
Tematicas de EconomìaTematicas de Economìa
Tematicas de EconomìaAdmisión Uteq
 
Matematica economia administracion
Matematica economia administracionMatematica economia administracion
Matematica economia administracionKlever Alfonso
 
Modelos matematicos equipo n.2
Modelos matematicos equipo n.2Modelos matematicos equipo n.2
Modelos matematicos equipo n.2YamilAlbertoCasado
 
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdfINSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdfJeancarlosPatalasanc
 
El cálculo en ingeniería
El cálculo en ingenieríaEl cálculo en ingeniería
El cálculo en ingenieríanmayor1605
 
Matematicas
MatematicasMatematicas
Matematicasdios08
 
Consideraciones generales del curso
Consideraciones generales del cursoConsideraciones generales del curso
Consideraciones generales del cursoAmando Ferrer
 
Consideraciones generales del curso
Consideraciones generales del cursoConsideraciones generales del curso
Consideraciones generales del cursoamando.ferrer
 
116053196 metodo-matricial-de-rigidez
116053196 metodo-matricial-de-rigidez116053196 metodo-matricial-de-rigidez
116053196 metodo-matricial-de-rigidezjavierchampi
 
Análisis Numérico Benalcazar.pdf
Análisis Numérico Benalcazar.pdfAnálisis Numérico Benalcazar.pdf
Análisis Numérico Benalcazar.pdfYapuChura1
 
Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos
Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos
Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos Emmanuel Navarro
 

Similar a tema1 (1).pdf (20)

Matematica aplicada
Matematica aplicadaMatematica aplicada
Matematica aplicada
 
Metodosnumericos 14
Metodosnumericos 14Metodosnumericos 14
Metodosnumericos 14
 
Historia de los metod. cuantitativos
Historia de los metod. cuantitativosHistoria de los metod. cuantitativos
Historia de los metod. cuantitativos
 
Métodos numéricos
Métodos numéricosMétodos numéricos
Métodos numéricos
 
Metodos_Numericos_Aplicados_a_la_ingenie (1).pdf
Metodos_Numericos_Aplicados_a_la_ingenie (1).pdfMetodos_Numericos_Aplicados_a_la_ingenie (1).pdf
Metodos_Numericos_Aplicados_a_la_ingenie (1).pdf
 
Tematicas de Economìa
Tematicas de EconomìaTematicas de Economìa
Tematicas de Economìa
 
Matematica economia administracion
Matematica economia administracionMatematica economia administracion
Matematica economia administracion
 
Modelos matematicos equipo n.2
Modelos matematicos equipo n.2Modelos matematicos equipo n.2
Modelos matematicos equipo n.2
 
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdfINSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
 
El cálculo en ingeniería
El cálculo en ingenieríaEl cálculo en ingeniería
El cálculo en ingeniería
 
Matematicas
MatematicasMatematicas
Matematicas
 
Consideraciones generales del curso
Consideraciones generales del cursoConsideraciones generales del curso
Consideraciones generales del curso
 
Consideraciones generales del curso
Consideraciones generales del cursoConsideraciones generales del curso
Consideraciones generales del curso
 
116053196 metodo-matricial-de-rigidez
116053196 metodo-matricial-de-rigidez116053196 metodo-matricial-de-rigidez
116053196 metodo-matricial-de-rigidez
 
Erasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 anErasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 an
 
Erasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 anErasmo avellaneda tbj 1 an
Erasmo avellaneda tbj 1 an
 
Introducción a la materia
Introducción a la materiaIntroducción a la materia
Introducción a la materia
 
Análisis Numérico Benalcazar.pdf
Análisis Numérico Benalcazar.pdfAnálisis Numérico Benalcazar.pdf
Análisis Numérico Benalcazar.pdf
 
Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos
Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos
Presentación acerca de los modelos Iconógraficos, Analógicos y Matemáticos
 
César Camacho
César CamachoCésar Camacho
César Camacho
 

Último

tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 

Último (20)

tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
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
  • 42. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes Por ejemplo. . . Supongamos ahora que nuestro sistema es el siguiente:                 16 3 13 14 9 6 15 17 7 2 18 19 1 1 8 14 5 5 17 1 3 19 17 6 15 13 10 16 12 11 18 10 19 1 16 3 14 5 11 16 13 16 14 2 4 2 18 19 18 19 2 3 15 16 10 10 19 7 6 3 6 8 15 14 9 19 11 4 15 11 11 18 8 6 13 7 3 5 15 9 19 16 13 19 14 12 3 12 8 0 19 19 3 1 15 4 5 9 11 7                                 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10                 =                 1 1 1 1 1 1 1 1 1 1                 Necesitaremos hacer 10Γ(12) − 1 = 10 − 11! − 1 = 399167999 operaciones, lo que supone un total de unos 400 segundos (suponiendo que cada operación requiere 10−6 segundos). Si el sistema tuviera dimensión 15, el tiempo empleado serı́a de unos 10 años. @juliomulero (julio.mulero@ua.es) Métodos Numéricos 39 / 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
  • 49. Introducción Construcción de los métodos Definiciones básicas Otras consideraciones importantes Primeras observaciones import struct def float_to_bin (num): return format(struct.unpack(’!I’, struct.pack(’!f’, num)) [0], ’032b ’) def bin_to_float (binary): return struct.unpack(’!f’,struct.pack(’!I’, int(binary , 2 )))[0] float_to_bin (0.1) # ’00111101110011001100110011001101 ’ bin_to_float (’00111101110011001100110011001101 ’) # 0. 10000000149011612 @juliomulero (julio.mulero@ua.es) Métodos Numéricos 46 / 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