SlideShare una empresa de Scribd logo
1 de 196
Descargar para leer sin conexión
Análisis Numérico
 Facultad de Ciencias
            Kay Tucci
           kay@ula.ve


              SUMA
       Facultad de Ciencias
  Universidad de Los Andes (ULA)
    ´
   Merida, 5101 - VENEZUELA




                                     ´         ´
                                   Analisis Numerico – p. 1/196
Programa del Curso

 Fuente y propagación de errores
 Solución de ecuaciones no lineales de una variable
 Solución de sistemas de ecuaciones lineales
 Teoría de interpolación
 Integración numérica




                                                        ´         ´
                                                      Analisis Numerico – p. 2/196
Bibliografía y Materiales

Bibliografía
      Kincaid D. & Cheney W. An Introduction to Numerical Analisys
      Atkinton Kendall E. An Introduction to Numerical Analisys
      Burden R. y Faires D. Analisis Numerico
                              ´         ´

      Trevisan M. C. Notas de Analisis Numerico
                                ´         ´

Materiales


      http://www.matematica.ula.ve/publicaciones/index.html
      http://webdelprofesor.ula.ve/ciencias/kay

Recomendaciones Generales



                                                                       ´         ´
                                                                     Analisis Numerico – p. 3/196
Algunos conceptos

Problema numérico: Descripción precisa de la relación funcional
  entre un conjunto finito de datos de entrada y un conjunto finito de
  datos de salida.

Algoritmo: secuencia ordenada y finita de pasos, excenta de
  ambigüedades, que seguidas en su orden lógico nos conduce a la
  solución de un problema específico

Método numérico: Procedimiento para transformar un problema
  matemático en numérico y resolver este último




                                                                ´         ´
                                                              Analisis Numerico – p. 4/196
Pasos Generales

El análisis numérico se utiliza generalmente cuando no se puede
resolver el problema matemático, es decir hallar una relación funcional
entre el conjunto de entrada y el de salida. Los pasos a seguir son:

 1. Estudio teórico del problema: existencia y unicidad de la solución.

 2. Aproximación: Crear una solución para un número finito de valores
     existencia y unicidad
     estabilidad y convergencia

 3. Resolución: Elección de un algoritmo numérico
     Elección del algoritmo: Costo y estabilidad
     Codificación del algoritmo
     Ejecución del programa

                                                                    ´         ´
                                                                  Analisis Numerico – p. 5/196
Fuente y propagación de errores

 Sistemas numéricos
 Aritmética del computador
 Fuentes de errores
 Errores de redondeo y discretización
 Propagación de errores
 Estabilidad e inestabilidad numérica




                                          ´         ´
                                        Analisis Numerico – p. 6/196
Sistemas numéricos

Los sistemas numéricos más antiguos son:

    Babilónico: base 60

    Romano: (I, V, X, L, C, D y M)

    Hindú y árabe: decimal

El extendido uso del sistema decimal oculta la existencia de otros
sistemas numéricos:

    Binario: base 2

    Octal: base 8

    Hexadecimal: base 16

    ...

                                                                   ´         ´
                                                                 Analisis Numerico – p. 7/196
Sistemas numéricos de posición

Los sistemas númericos actuales, decimal, binario, octal, hexadecimal,
entre otros; representan a los números reales mediante un sistema de
posición con base b.
                                                           n
     ±x = ±(an bn + an−1 bn−1 + an−2 bn−2 + . . . ) = ±          ai bi ;
                                                          i=−∞

donde, a es el valor absoluto del número real a representar,
0 ≤ ai ≤ b − 1 en el dígito que ocupa la posición i en a contadas a
partir del punto decimal, positivos a la izquierda y negativos a la
derecha; y n en la posición más a la izquierda ocupada por un dígito
an = 0
Ambigüedades:
                   a.ccccc · · · = a + 1 ;   c=b−1

                                                                         ´         ´
                                                                       Analisis Numerico – p. 8/196
Sistema numéricos de posición

Conversión de base 10 a base b: convertir el número 12.312510 a
base 2

1. Dividir, sucesivamente, la parte entera del número (1210 ), entre la
   nueva base (2), hasta obtener un cociente más pequeño que esta
   última (2), asignando sucesivamente los restos de la división
   entera a a0 = 0, a1 = 0, a2 = 1, a3 = 1.
                                 1210 = 11002

2. Multiplicamos la parte fraccionaria del número decimal (0.312510 )
   por la nueva base b (2), restando y asignando sucesivamente la
   parte entera del producto a a−1 = 0, a−2 = 1, a−3 = 0, a−4 = 1
                              0.312510 = 0.01012
                       12.312510 = 1100.01012


                                                                    ´         ´
                                                                  Analisis Numerico – p. 9/196
El computador

                 CPU                   PC
                                                   CU
         Acum

                                                                             Memoria Principal



                               Registros




                                                         Instrucciones
                                                         Registros
                 ALU
                                                                                  RAM             ROM
                                             Cache




                                                                                                              Bus Control
                                                          Bus Datos




                                                                          Cache
   Controlador   Controlador               Controlador                            Controlador   Controlador
      I/O           I/O                        I/O                                de Discos        I/O




    Interfaz Entrada/Salida                                              Memoria Secundaria




                                                                                                                              ´         ´
                                                                                                                            Analisis Numerico – p. 10/196
Sistema de numeración binario

Utiliza solamente dos dígitos o símbolos: “0” y “1”, y su base es 2.
Definiciones:

bit:   del ingles Binary digIT, representa un dígito binario. Ademas, el bit
       es la unidad mínima de información empleada en la teoría de la
       información.

byte u octeto:  Generalmente se refiere a 8 bits. Formalmente es una
       secuencia de bits contiguos, cuyo tamaño depende del código de
       información o de carácteres en que esté usando.




                                                                       ´         ´
                                                                     Analisis Numerico – p. 11/196
Sistema de numeración binario

Nombre   Abrev.   Factor                Valor
kilo       K       210                                  1024
mega       M       220                               1048576
giga       G       230                            1073741824
tera       T       240                          1099511627776
peta       P       250                   1125899906842624
exa        E       260                1152921504606846976
zetta      Z       270             1180591620717411303424
yotta      Y       280          1208925819614629174706176
bronto     B       290       1237940039285380274899124224
geop      Ge       2100    1267650600228229401496703205376

                                                           ´         ´
                                                         Analisis Numerico – p. 12/196
Sistema de numeración binario

Existen variantes del sistema de numeración binario

Binario puro:   Solamente se pueden representar números no negativos

Signo Magnitud: El bit más significativo representa el signo (0 = +) y
    (1 = −) y los restantes n − 1 bits representan el valor absoluto del
    número.

Complemento a la Base Disminuida:En los números negativos cada dígito
    se escribe como [d]b = (b − 1) − (di )b

Complemento a la Base:   [N ]b de un número (N )b se define como:

                              [N ]b = bn − (N )b ,

    donde, n es el número de dígitos de (N )b


                                                                     ´         ´
                                                                   Analisis Numerico – p. 13/196
Sistema de numeración binario

En 1985 la IEEE establece el Binary Floating Point Arithmetic Standard
754-1985, donde se establecen los formatos para representar
números punto flotantes de precisión simple (32 bits) y doble (64 bits)
Los números se distribuyen de forma exponencial en la recta real

         (−1)S 2E−127 (1 + 0.F )      |    (−1)S 2E−1023 (1 + 0.F )

donde, S representa el bit de signo, E el exponente y F la parte
fracción binaria del número.
 presición    signo    exponente                    mantisa
 simple         1      8 bits      10−39 ↔ 1038     23 bits   7 cifras dec.
 doble          1      11 bits     10−308 ↔ 10308   52 bits   16 cifras dec.



                                                                        ´         ´
                                                                      Analisis Numerico – p. 14/196
Desbordamiento

Los resultados que en valor absoluto son menores que el valor mínimo
que soporta el formato de representación son considerados
underflows, mientras los que son mayores que el valor máximo
permitido se consideran overflows.

 x ← 1 ; i ← 0                      x ← 1
 Repita                             i ← 0
 | ant ← x                          Mientras (1 + x > 1 )
 | i ← i + 1                        | x ← x / 2
 | x ← 2*x                          | i ← i + 1
 | Escribir(i, ant, x)              | Escribir(i, x)
 hasta(ant > x)


                                                                ´         ´
                                                              Analisis Numerico – p. 15/196
Fuentes de errores

 En los datos de entrada

 En los códigos

 Temperamento del computador:
              “El programa no quiere correr”

 Cuantización del sistema de numeración

 de redondeo o truncamiento:
       2 1 − 3 = 0.6666666 − 0.6666667 = −0.0000001
          3
               2


 Aproximación en los algoritmos:
                            ∞       N
                               xn ∼     xn
                      ex =        =
                           n=0
                               n!   n=0
                                        n!


                                                        ´         ´
                                                      Analisis Numerico – p. 16/196
Errores relativo y absoluto

Sea x∗ el valor aproximado de una cantidad x

   Error absoluto: |x∗ − x|
                     x∗ −x
   Error relativo:     x     ,x = 0

   m es una cota del error absoluto si: m > 0 y |x∗ − x| ≤ m
                                                  x∗ −x
   m es una cota del error relativo si: m > 0 y     x     ≤ m, x = 0




                                                                   ´         ´
                                                                 Analisis Numerico – p. 17/196
Cifras significativas

Decimos que a es la representación normalizada de un número real
no nulo x si
                          x = ±0.a1 a2 a3 · · · × 10e ,
donde, a1 es un dígito del 1 al 9; ai , i = 2, 3, . . . , son dígitos del 0 al 9 y
e ∈ Z es el exponente.

    a∗ aproxima a a con t decimales correctos si t es el mayor entero
    no negativo para el cual: |a∗ − a| ≤ 0.5 × 10−t

    a∗ aproxima a a con t cifras significativas si t es el mayor entero
    no negativo para el cual: |a∗ − a| < 0.5 × 10e−t

donde, a∗ el valor aproximado de una cantidad a



                                                                            ´         ´
                                                                          Analisis Numerico – p. 18/196
Propagación de errores

Sean x∗ , y ∗ los valores aproximados de x, y; y ǫx , ǫy ≪ 1 sus
respectivos errores relativos.

Suma / Resta     :
                             (x∗ ± y ∗ ) − (x ± y)    x        y
               ǫx±y        =                       =     ǫx ±     ǫy
                                    x±y              x±y      x±y

            ´
Multiplicacion       :

                              (x∗ y ∗ ) − (xy)
                     ǫxy    =                  = ǫx + ǫy + ǫx ǫy ∼ ǫx + ǫy
                                                                 =
                                      xy

      ´
Division   :
                                  (x∗ /y ∗ ) − (x/y)   ǫx − ǫy ∼
                         ǫx/y   =                    =         = ǫx − ǫy
                                         x/y            1 + ǫy


                                                                               ´         ´
                                                                             Analisis Numerico – p. 19/196
Propagación de errores

Para evitar la propagación rádida de los errores hay que tener en
cuenta que en la aritmética del computador la propiedad asosiativa no
se cumple.

   Resta de números muy parecidos
                         √
                    −b + b2 − 4ac       −2c
               x1 =               =    √
                          2a        b + b2 − 4ac

   Sumatorias largas de números

                       105            99          100
                  1              1           1
               x= 5
               ¯           xi =                         xi+100j
                 10    i=1
                                100   j=0
                                            100   i=1

   Ordenar los terminos de menor a mayor


                                                                    ´         ´
                                                                  Analisis Numerico – p. 20/196
Error total e iteraciones óptimas

Generalmente en los algoritmos iterativos los errores de aproximación
dependen del número de iteraciones N y pueden modelarse como,
                                         α
                              ǫaprox ≃     β
                                             ,
                                         N
y los errores de redondeo dependen del precisión de la máquina ǫmaq
y van como
                                 √
                           ǫred ≃ N ǫmaq
Entonces, el error total ǫt viene dado por,
                                         α  √
                  ǫt = ǫaprox + ǫred   ≃ β + N ǫmaq
                                        N
El número de iteraciones óptima se alcanza cuando ǫt sea mínimo



                                                                 ´         ´
                                                               Analisis Numerico – p. 21/196
Cálculo del error

Cómo se propagan el errores de los datos x cuando se calcula f (x)

                                  ∂f ( x) xi
                       ǫf ∼
                          =                  |ǫxi |
                              i
                                    xi f (x)

Empíricamente, comparamos los valores calculados con N y 2N
iteraciones. Cuando se alcanza el valor asimtótico y el error de
redondeo no es significativo se tiene que,
                                             α
                        fN (x) − f2N (x) ≃     β
                                                 ,
                                             N
En un gráfico log10 (fN − f2N ) vs log10 (N ) esto es una recta.
En la gráfica anterior, el punto No en el que cambia la pendiente indica
aproximadamente el número óptimo de iteraciones, y el log10 (No )
aproxima al número de cifras significativas del resultado numérico.
                                                                     ´         ´
                                                                   Analisis Numerico – p. 22/196
Símbolos O y o

 Decimos que f es de orden O grande con respecto a g cuando
 x → a si existe una constante K > 0 tal que,

                            f (x)
                                  ≤ K,
                            g(x)

 para x = a en un entorno de a.
 Pondremos f = O(g) cuando x → a.

 Decimos que f es de orden o pequeña con respecto a g cuando
 x → a si,
                              f (x)
                         lim        = 0.
                         x→a g(x)

 Pondremos f = o(g) cuando x → a.



                                                          ´         ´
                                                        Analisis Numerico – p. 23/196
Símbolos O y o

Ejemplo:

   f = O(1) cuando x → a significa que f (x) se mantiane acotada
   cuando x → a

   f = o(1) cuando x → a significa que f (x) tiende a cero cuando
   x→a

Propiedades:

   Si f = o(1) cuando x → a entonces f = O(1) cuando x → a

   Si f = O(xn ) cuando x → 0 para algún n ∈ Z+ entonces
   f = O(xn−1 ) cuando x → 0




                                                               ´         ´
                                                             Analisis Numerico – p. 24/196
Estabilidad y Condición

Los algorítmos numéricos debe dar resultados precisos y exactos.

 Estabilidad: Un algoritmo es estable si cambios pequeños en los
   datos iniciales producen cambios pequeños en los resultados

 Condición: Algunos algoritmos son estables solamente para un
   conjunto de condiciones iniciales. Estos algoritmos son
   condicionalmente estables

 Crecimiento del error: Si ǫ0 denota el error inicial y ǫn el error
   despues de n iteraciones, decimos que el error crece:
       linealmente si ǫn ≈ knǫ0
       exponencialmente si ǫn ≈ k n ǫ0        Hay que evitarlo
    Por lo general es inevitable el crecimiento lineal del error.


                                                                        ´         ´
                                                                      Analisis Numerico – p. 25/196
Ecuaciones no Lineales

 Introducción
 Método de bisección
 Método de la secante
 Método de Newton
 Métodos iterativos de un punto
 Raices múltiples
 Cálculo de raíces de polinomios




                                     ´         ´
                                   Analisis Numerico – p. 26/196
Ecuaciones no Lineales

En las Matemáticas aplicada frecuentemente se debe hallar
soluciones de la ecuación

                           f(x) = 0 ,

donde, x ∈ Rn y f : Rn → Rm es una función no lineal. En
particular, en este curso nos centraremos en la busqueda de las
raices o ceros de funciones unidimensionales, m = 1, y
monovaluadas n = 1; es decir,

                           f (x) = 0 ,

donde, x ∈ R y f : R → R


                                                           ´         ´
                                                         Analisis Numerico – p. 27/196
Ecuaciones no Lineales

 Ecuaciones algebraicas:
      x2 − x + 2 = 0
      x6 = x − 1

 Ecuaciones tracendentes:
                 x
      sin(x) −   2   =0
      tan(x) = ex

Sólo existen soluciones exactas en casos muy particulares y
generalmente, se tendrán que utilizar métodos numéricos, en
particular, metodos iterativos.



                                                          ´         ´
                                                        Analisis Numerico – p. 28/196
Metodo Iterativo

Es aquel método numérico en el que partiendo de un valor x0
arbitrario, se calcula una sucesión x0 , x1 , x2 , . . . de forma
recurrente, mediante una relacion de la forma

                  xn+1 = g(xn ) , n = 0, 1, 2, . . . ;

donde, xi ∈ R y g : R → R
Los métodos iterativos también se utilizan en otros problemas
numéricos y, en general, son muy poco vulnerables al
crecimiento del error por redondeo
Iteración: Los pasos que se dan, en un algoritmo, para calcular
un iterado, xn+1 , a partir del iterado anterior, xn .

                                                                ´         ´
                                                              Analisis Numerico – p. 29/196
Orden de convergencia

Sea {xn }∞ una sucesión que converge a α y ǫn = xn − α.
         n=0

    Si existe una constante C ∈ (0, 1) tal que

                               |ǫn+1 |
                           lim         =C,
                          n→∞ |ǫn |

    entonce, la sucesión converge a α linealmente con una
    tasa o velocidad de convergencia C

Si lo anterior ocurre para C = 0, entonces se dice que la
sucesión converge superlinealmente.




                                                              ´         ´
                                                            Analisis Numerico – p. 30/196
Orden de convergencia

Sea {xn }∞ una sucesión que converge a α y ǫn = xn − α.
         n=0

   Si existe un p ≥ 1 y una constante C tal que

                             |ǫn+1 |
                         lim         =C,
                        n→∞ |ǫn |p

   entonce, {xn }∞ converge a α con orden p.
                 n=0
   En particular, la convergencia con orden p = 2 se le llama
   cuadrática y la con orden p = 3 cúbica

En general los métodos que generen sucesiones con alto orden
de convergencia se aproximan más rápidamente a la solución
que aquellos que generen sucesiones con bajo orden.

                                                            ´         ´
                                                          Analisis Numerico – p. 31/196
Método de bisección

Entrada: a, b, t, n
Salida: c, ’error’
leer(a, b, t, n)
i ← 1                            y                                           y=f(x)
fa ← f(a)
repita                                          a3     c3    b3
| c ← a+(b-a)/2
| fc ← f(c)                            a2      c2            b2

| i ← i + 1                            a1                    c1        b1
|si (sign(fa)∗sign(fc)>0)
                                     a1= a2            c3 b2 = b3
| | fa ← fc ; a ← c
| sino                               a= a1    c2= a3        c1= b2     b= b1
| | b ← c
hasta (i≥n)∨(fc=0)∨(|b-a|/2≤t)
si (fc=0)∨(|b-a|/2≤t)
| escribir(c)
sino
| escribir(’error’)
                                                                       ´         ´
                                                                     Analisis Numerico – p. 32/196
Método de bisección

Convergencia
Como f (a)f (b) ≤ 0 sabemos que existe un α ∈ [a, b] tal que f (α) = 0. Partiendo del
algoritmo y mediante inducción se puede ver que
                            1                                         1
           bn+1 − an+1 =      (bn − an )   y que     bn − an =               (b1 − a1 )
                            2                                       2n−1
Como α ∈ [an , cn ] o α ∈ [cn , bn ] tenemos que
                                                              1
                     |cn − α| ≤ an − cn = cn − bn =             (an − bn )
                                                              2
Combinando las dos equaciones anteriores tenemos que
                                       1
                         |cn − α| ≤          (b1 − a1 )   ,     n≥1
                                      2n−1
Lo que implica que
                                       lim cn = α
                                      n←∞
                                                                                      1
es decir, convergencia lineal, p = 1 con una velocidad de convergencia C =            2


                                                                                            ´         ´
                                                                                          Analisis Numerico – p. 33/196
Método de bisección

Comentarios del método de bisección:

   Hay que dar dos valores iniciales, uno a cada lado de la raiz que
   se está buscando. Esto es un problema, especialmente si no se
   tiene ninguna idea del comportamiento de la función o si esta
   presenta raices muy similares o múltiples.

   Errores de redondeo o de cuantificación pueden causar problemas
   cuando el intervalo de búsqueda se vuelve pequeño

   Al evaluar la función cerca de la raiz, f (x) ≈ 0, para el cálculo del
   cambio de signo, los errores por operar con números muy
   pequeños pueden hacerse presentes




                                                                     ´         ´
                                                                   Analisis Numerico – p. 34/196
Método de la posición falsa

Entrada: a, b, t, n
Salida: c, ’error’
leer(a, b, t, n)
i ← 0; c ← a                y                                          y=f(x)
fa ← f(a); fb ← f(b)
repita                                            a3      c3                  b3
| i ← i + 1; ant ← c
| c ← b-fb∗(b-a)/(fb-fa)                 a2       c2                         b2
| fc ← f(c)                      a1      c1
                                                                            b1
|si (sign(fa)∗sign(fc)>0)
                                                          c3              b1 = b2
| | fa ← fc ; a ← c
| sino                          a= a1   c1= a2   c2= a3                    b= b1
                                                                          b2 = b3
| | fb ← fc ; b ← c
hasta (i≥n)∨(|c-ant|≤t)
si (|c-ant|≤t)
| escribir(c)
sino
| escribir(’error’)
                                                                 ´         ´
                                                               Analisis Numerico – p. 35/196
Método de la posición falsa

Convergencia
Diferencias divididas:

       ´
Definicion:   Sean a = b = c,

                                                                         f (b) − f (a)
                  diferencia dividida de primer orden: f [a, b] =
                                                                             b−a

                                                                          f [b, c] − f [a, b]
               diferencia dividida de segundo orden: f [a, b, c] =
                                                                                 c−a
Propiedades:

       f [a, b] = f [b, a]
       f [a1 , a2 , a3 ] = f [ai , aj , ak ] con i = j = k y i, j, k ∈ {1, 2, 3}
       si f es continua en [a, b] y derivable en (a, b), existe ξ ∈ (a, b) tal que
       f [a, b] = f ′ (ξ)                       (Teorema del valor medio)
       si f ′ es derivable en (min(a, b, c), max(a, b, c)), existe η tal que
       f [a, b, c] = f ′′ (η)


                                                                                                  ´         ´
                                                                                                Analisis Numerico – p. 36/196
Método de la posición falsa

Convergencia Del método tenemos que:
                                                     b−a
                                 c = b − f (b)                 ,
                                                 f (b) − f (a)

donde el error se calcula como
                      b−a        1              f ′′ (η)
        c−α= b−α−               = (a − α)(b − α) ′       ,            η, ξ ∈ (a, b)
                  f (b) − f (a)  2              f (ξ)

Teorema: Sea f dos veces continuamente diferenciable en [a, b] con α la única raiz en
[a, b]. Suponiendo que f (a)f (b) < 0, f ′ (α) = 0 y f ′′ no cambia de signo en [a, b]. Si
                   ˛       ˛               ˛ ′′    ˛
                   ˛ω − α˛                 ˛ f (x) ˛
               C=˛ ˛ 2 ˛ maxx∈[a,b] ˛ f ′ (x) ˛ < 1 , con ω = a o ω = b ,
                           ˛               ˛       ˛


según sea caso del estremo del intervalo [a, b] que no se modifique, entonces el método
converge linealmente.

       an+1 − α ≤ C(an − α) , si ω = b o bn+1 − α ≤ C(bn − α) , si ω = a



                                                                                        ´         ´
                                                                                      Analisis Numerico – p. 37/196
Método de la posición falsa

Comentarios del método de la posición falsa:

   Hay que dar dos valores iniciales, uno a cada lado de la raiz que
   se está buscando. Esto es un problema, especialmente si no se
   tiene ninguna idea del comportamiento de la función o si esta
   presenta raices muy similares o múltiples.

   Si la función es convexa o cóncava en [a, b] uno de los extremos
   de intervalo no se moverá por lo que el método solamente
   aproxima a la raiz por uno de los lados.

   Al evaluar la función cerca de la raiz, f (x) ≈ 0, para el cálculo del
   cambio de signo, los errores por operar con números muy
   pequeños pueden hacerse presentes



                                                                     ´         ´
                                                                   Analisis Numerico – p. 38/196
Método de la secante

Entrada: a, b, t, n
Salida: c, ’error’
leer(a, b, t, n)                 y                                      y=f(x)
i ← 1
fa ← f(a)                                      a3     b3 c3
fb ← f(b)
repita                                        b2      c2                      a2

| c ← b-fb∗(b-a)/(fb-fa)              a1      c1                              b1
| i ← i + 1
                                             b2= a3 c2= b3                 b1= a2
| a ← b;      fa ← fb
| b ← c;      fb ← f(c)              a= a1   c1= b2        c3               b= b1
hasta (i≥n)∨(fc=0)∨(|b-a|/2≤t)
si (fc=0)∨(|b-a|/2≤t)
| escribir(c)
sino
| escribir(’error’)



                                                                  ´         ´
                                                                Analisis Numerico – p. 39/196
Método de la secante

Convergencia Del método tenemos que:
                                                   b−a
                               c = b − f (b)                 ,
                                               f (b) − f (a)

donde, usando diferencias divididas, el error se calcula como
                      b−a        1              f ′′ (η)
        c−α= b−α−               = (a − α)(b − α) ′       ,       η, ξ ∈ (a, b)
                  f (b) − f (a)  2              f (ξ)

sustituyendo c = xn+1 , b = xn , a = xn−1 tenemos que

                                                f ′′ (ηn )
                                ǫn+1   = ǫn ǫn−1 ′
                                                2f (ξn )

Teorema: Supongamos que f : R → R es una función C 2 en una vecindad de α para la
cual f (α) = 0 y f ′ (α) = 0. Entonces si x0 y x1 se seleccionan suficientemente cerca
de α las iteraciones del método de la secante convergen a α. Además,
                                 „ ′′       «                  √
                         ǫn+1      f (α) p−1               1+ 5
                  lim          =                   , p=           ≈ 1.62
                 n→∞ (ǫn )p        2f ′ (α)                   2

                                                                                   ´         ´
                                                                                 Analisis Numerico – p. 40/196
Método de la secante

Demostración de la convergencia:Sea
                       „ ′′       «
                         f (x)
             M = max                ∀ x ∈ I = [α − ǫ, α + ǫ] , ǫ > 0
                         2f ′ (x)

y supongamos que x0 y x1 son escogidos de forma tal que

                               δ = max{M |ǫ0 |, M |ǫ1 |} < 1

Como |ǫ2 | ≤ M |ǫ1 ||ǫ0 | tenemos que

                                                                      δ
                  M |ǫ2 | ≤ M 2 |ǫ1 ||ǫ0 | ≤ δ 2 < δ < 1 =⇒ |ǫ2 | <     <ǫ
                                                                      M
Suponiendo que xi ∈ I , i = 1, 2, . . . , n, lo que significa que M |ǫi | < δ, entonces

                                  |ǫn+1 | ≤ M |ǫn ||ǫn−1 |

                                                                        δ
             M |ǫn+1 | ≤ M 2 |ǫn ||ǫn−1 | ≤ δ 2 < δ < 1 =⇒ |ǫn+1 | <      <ǫ
                                                                        M
lo que indica que xn ∈ I    ∀ n

                                                                                       ´         ´
                                                                                     Analisis Numerico – p. 41/196
Método de la secante

Demostración de la convergencia:

            M |ǫ0 |   ≤   δ
            M |ǫ1 |   ≤   δ
            M |ǫ2 |   ≤   M |ǫ0 |M |ǫ1 |     ≤   δ×δ             =   δ2
            M |ǫ3 |   ≤   M |ǫ1 |M |ǫ2 |     ≤   δ × δ2          =   δ3
            M |ǫ4 |   ≤   M |ǫ2 |M |ǫ3 |     ≤   δ2 × δ3         =   δ5
            M |ǫ5 |   ≤   M |ǫ3 |M |ǫ4 |     ≤   δ3 × δ5         =   δ8
                  .
                  .   .
                      .   .
                          .                  .
                                             .   .
                                                 .               .
                                                                 .   .
                                                                     .
                  .   .   .                  .   .               .   .
         M |ǫn+1 |    ≤   M |ǫn−1 |M |ǫn |   ≤   δ qn−1 × δ qn   =   δ qn−1 +qn

Se tiene que {qn } es la sucesión de Fibonacci cuya solución positiva es
                                                √ !n+1
                                      1      1+ 5
                                qn = √
                                       5       2



                                                                                    ´         ´
                                                                                  Analisis Numerico – p. 42/196
Método de la secante

Demostración de la convergencia: Así que
                        δ qn
                |ǫn | ≤      con δ < 1 , obtenemos que lim |ǫn | = 0
                         M                            n→∞

Como
                                    √ !n+1         √
                            1    1+ 5           1+ 5
                      qn = √               , p=
                             5     2              2
entonces
                                  (δ qn )p = δ qn+1
y calculando la convergencia tenemos que
                              1 qn+1                   1 qn+1
                 ǫn+1            δ                       δ
             lim              M
                       = lim ` 1       ´p = lim       M
                                                                   = M p−1
            n→∞ (ǫn )p  n→∞       δ qn     n→∞         1
                                                          δ qn+1
                              M                       Mp




                                                                               ´         ´
                                                                             Analisis Numerico – p. 43/196
Método de la secante

Comentarios del método de la secante:

   Hay que dar dos valores iniciales, a pesar de que no tienen que
   encerrar a la raiz que se está buscando, los puntos tienen que
   estar suficientemente cerca de la raiz para garantizar que el
   método converja.

   Si la derivada de la función, cerca de la raiz, tiene un valor muy
   alto el cálculo de b − a puede causar problemas por perdida de
   cifras significativas.

   De igual modo, si la derivada de la función, cerca de la raiz, tiene
   un valor muy bajo el cálculo de f (b) − f (a) puede causar
   problemas por perdida de cifras significativas



                                                                    ´         ´
                                                                  Analisis Numerico – p. 44/196
Método de Newton-Raphson

Entrada: x, t, n          y
Salida: x, ’error’
                                                                       y=f(x)
leer(x, t, n)
i ← 0                         g (x)=f’(x i)(x − x ) + f(x )
                                  i             i      i
repita
| i ← i + 1
| xa ← x
| x ← xa - f(xa)/fp(xa)
hasta (i≥n)∨(|x-xa|≤t)
si (|x-xa|≤t)
| escribir(x)
sino                                                   x3
                                     x0                                f(x ) x1=x − f(x )
                                                                                       0
| escribir(’error’)                                           x2=x 1− 1          0
                                                                                   f ’(x )
                                                                     f ’(x )
                                                                          1            0




                                                                          ´         ´
                                                                        Analisis Numerico – p. 45/196
Método de Newton-Raphson

Convergencia
Del método de Newton-Raphson tenemos que

                                              f (xn )
                            xn+1 = xn −                   ,     n≥0
                                              f ′ (xn )

Expandiendo a f (x) alrededor de xn :

                                ′        (x − xn )2 ′′
    f (x) = f (xn ) + (x − xn )f (xn ) +           f (ξn )        ,   ξn ∈ [xn , x] o [x, xn ]
                                             2
Para x = α, f (α) = 0 y dividiendo lo anterior entre f ′ (xn ) tenemos

                       f (xn )                           ′′
                                                      2 f (ξn )
                        ′ (x )
                               + (α − xn ) +(α − xn )           =0
                      f n                    | {z } 2f ′ (xn )
                      |        {z       }      ǫn
                             −ǫn+1

Que es lo mismo que
                                                   f ′′ (ξn )
                                     ǫn+1 =   ǫ2
                                               n
                                                   2f ′ (xn )

                                                                                           ´         ´
                                                                                         Analisis Numerico – p. 46/196
Método de Newton-Raphson

Convergencia
Teorema: Sea f ∈ C 2 [a, b]. Si α ∈ [a, b] es tal que f (α) = 0 y f ′ (α) = 0, entonces
existe un ǫ > 0 tal que el método de Newton-Raphson genere una sucesión {xn }∞       n=1
que converge cuadráticamente a α para cualquier valor inicial x0 ∈ I = [α − ǫ, α + ǫ]
Demostración: Definamos a
                    ˛ ′′      ˛
              1     ˛ f (ξn ) ˛
        M = max ˛ ′ ˛ f (x ) ˛
                              ˛       , y escojamos a x0 ∈ I tal que M |ǫ0 | < 1
              2 x∈I       n

Sustituyendo en la ecuación de la sucesión {ǫn } tenemos

                |ǫ1 | ≤ (M |ǫ0 |)2 < |ǫ0 | ≤ ǫ   , lo que implica que x1 ∈ I

Ahora si suponemos que xn ∈ I y que M |ǫn | < 1 tenemos

             |ǫn+1 | ≤ (M |ǫn |)2 < |ǫn | ≤ ǫ    , lo que implica que xn+1 ∈ I




                                                                                     ´         ´
                                                                                   Analisis Numerico – p. 47/196
Método de Newton-Raphson

Demostración de la convergencia: De lo anterior concluimos que

          xn ∈ I   ,   M |ǫn | < 1 ∀ n    y M |ǫn+1 | ≤ (M |ǫn |)2 ≤ (M |ǫ0 |)2n

obteniendo que |ǫn | = 0 cuando n → ∞ ya que M |ǫ0 | < 1, lo que equivale a

                                         lim xn = α
                                     n→∞

Además,
                                     ǫn+1   1 f ′′ (α)
                                 lim      =
                                n→∞ ǫ2      2 f ′ (α)
                                       n
Es decir, el método tiene un orden de convergencia

                                            1 f ′′ (α)
                              p = 2 con C =
                                            2 f ′ (α)




                                                                                     ´         ´
                                                                                   Analisis Numerico – p. 48/196
Método de Newton-Raphson

Trampas


          Cambio de concavidad                Raiz no real
               f ′′ (x) = 0
 y                                        y

                                 y=f(x)                      y=f(x)




          x4
          x2
          x0
                                 x1
                                 x3
                                 x5


                                              x0             x1
                                              x2             x3
                                              x4             x5




                                                                        ´         ´
                                                                      Analisis Numerico – p. 49/196
Método iterativo de un punto

Partiendo de la ecuación general

                             f (x) = 0 ,

cuyas raices se quieren encontrar. Supongamos que α es una de sus
raices y que existe otro valor x0 que no satisface la ecuación.

                       f (α) = 0 ,   f (x0 ) = 0

Realizando algunas operaciones algebraicas transformaos la ecuación

                     f (x) = 0 en     g(x) = x ,

donde, g(x) es una nueva función que cumple con

                      g(α) = α ,     g(x0 ) = x0

                                                               ´         ´
                                                             Analisis Numerico – p. 50/196
Método iterativo de un punto

Al evaluar un valor cualquiera x0 en g(x) obtenemos un nuevo valor

                              x1 = g(x0 ) ,

donde, si el nuevo valor
               
               x = x      , encontramos la raiz x0 = α
                 1     0
               x1 = x0    , es lo que generalmente pasa

Si repetimos el proceso obtenemos

            x1 = g(x0 ) , x2 = g(x1 ) , . . . , xn = g(xn−1 )




                                                                  ´         ´
                                                                Analisis Numerico – p. 51/196
Método iterativo de un punto

La sucesión {xn } converge a la raiz α si

              lim (xn − α) = 0 , es decir,    lim xn = α
             n→∞                             n→∞

Si la expresión anteriror es cierta, debe valer también para xn+1

 lim (xn+1 − α) = 0    , y como xn tiende a α ,   lim (xn+1 − xn ) = 0
 n→∞                                              n→∞

Es decir, cuando el número de iteraciones se vuelve muy grande la
diferencia entre dos aproximaciones sucesivas xn y xn+1 de la raiz α
debe aproximarse a cero.
Esta condición es necesaria para que los procesos iterativos converjan
a la raiz.



                                                                      ´         ´
                                                                    Analisis Numerico – p. 52/196
Método iterativo de un punto

Entrada: x, t, n
                         y                        g(x) se obtiene al transformar
Salida: x, ’error’
                             y=g(x)                            f(x)=0 en g(x)=x
leer(x, t, n)
i ← 0
repita
| i ← i + 1
                                                                             y=f(x)
| xa ← x
| x ← g(xa)
hasta (i≥n)∨(|x-xa|≤t)
si (|x-xa|≤t)
| escribir(x)
                                           x2=g(x1 )         x1=g(x0 )
sino
| escribir(’error’)                   x0               x3 =g(x2 )




                                                                      ´         ´
                                                                    Analisis Numerico – p. 53/196
Método iterativo de un punto

   y                                         y
                                                 y=g(x)


                               y=g(x)




       x5 x4 x3 x2        x1            x0            x1    x3 x5          x4 x2        x0

   Convergencia Monotónica                   Convergencia Oscilante
   y                                         y             y=g(x)
            y=g(x)




                                                                 x1        x2
         x0 x1 x2    x3         x4               x5         x3        x0           x4

    Divergencia Monotónica                       Divergencia Oscilante


                                                                                               ´         ´
                                                                                             Analisis Numerico – p. 54/196
Método iterativo de un punto

Criterio de convergencia
Del teorema del valor medio sabemos que

                 g(xn ) − g(xn−1 ) = g ′ (ξn )(xn − xn−1 ) ,

donde, ξn ∈ región entre xn y xn−1 y g ′ (x) es la derivada de g(x).
Como g(xn ) = xn+1 y g(xn−1 ) = xn podemos decir

                  |xn+1 − xn | = |g ′ (ξn )||(xn − xn−1 )|

Si suponemos que |g ′ (ξn )| ≤ M , es decir está acotada en el entorno
de la raiz tenemos que

           |xn+1 − xn | ≤ M |xn − xn−1 | ≤ M 2 |xn−1 − xn−2 |


                                                                     ´         ´
                                                                   Analisis Numerico – p. 55/196
Método iterativo de un punto

Criterio de convergencia
Continuando con la sustitucion hasta el termino M |x1 − xo | tenemos

                     |xn+1 − xn | ≤ M n |x1 − xo |

Como sabemos que para que la serie converja xn+1 − xn debe tender
a cero, entonces
                        lim M n |x1 − xo | = 0 ,
                       n→∞

y como |x1 − xo | = 0 a menos que x0 = α tenemos que

     |g ′ (x)| ≤ M < 1 ∀ x en un entorno de α que contenga a x0

Es condición suficiente, más no necesaria, para la convergencia



                                                                   ´         ´
                                                                 Analisis Numerico – p. 56/196
Método iterativo de un punto

Criterio de convergencia
Teorema: Sea α una raiz de x = g(x), con la función g(x) p ≥ 2 veces
continuamente diferenciable en un entorno de α. Además,
supongamos que
                        g (j) (α) = 0 ∀   j<p
Si se elige a x0 suficientemente cerca de α el método iterativo de un
punto converge a α con un orden de al menos p y se cumple

                             ǫn+1  g (p) (α)
                         lim   p =
                        n→∞ ǫn         p!




                                                                  ´         ´
                                                                Analisis Numerico – p. 57/196
Método iterativo de un punto

Criterio de convergencia
Demostración: Expandiendo a g(xn ) con una serie de Taylor
alrededor de α tenemos

                       ′          (xn − α)p−1 (p−1)      (xn − α)p (p)
xn+1   = g(α)+(xn −α)g (α)+· · ·+            g      (α)+          g (ξn ) ,
                                    (p − 1)!                (p)!

con ξn entre xn y α. Como g (j) (α) = 0∀j < p y g(α) = α, obtenemos

                                (xn − α)p (p)
                     xn+1 − α =          g (ξn )
                                   (p)!

Como el método converge por ser g ′ (α) = 0 < 1, xn → α y por lo tanto

                      xn+1 − α       ǫn+1  g (p) (α)
                  lim          = lim   p =
                 n→∞ (xn − α)p  n→∞ ǫn         p!

                                                                  ´         ´
                                                                Analisis Numerico – p. 58/196
Método iterativo de un punto

Raices múltiples: Cuando un método iterativo se aproxima a una raiz
de f (x) el orden de convergencia del método se pierde cuando la raiz
es múltiple.
Definición: Decimos que α es un cero de multiplicidad m de f (x) si

        f (x) = (x − α)m q(x) ∀x = α   , donde,   lim q(x) = 0
                                                  x→α

Esencialmente q(x) representa la parte de f (x) que no contribuye al
cero de la función.
Teorema: La función f ∈ C m [a, b] tiene un cero de multiplicidad m en
α ∈ (a, b) ssi

               f (j) (α) = 0   ∀ j < m y f m (α) = 0


                                                                   ´         ´
                                                                 Analisis Numerico – p. 59/196
Método iterativo de un punto

Raices múltiples: Para resolver este problema se define una función

                  f (x)          (x − α)m
           φ(x) = ′
                 f (x) m(x − α)m−1 q(x) + (x − α)m q ′ (x)

                                         q(x)
                 φ(x) = (x − α)
                                  mq(x) + (x − α)q ′ (x)
que tiene un único cero en α, ya que q(α) = 0
Luego, aplicamos algún método iterativo usando φ(x) como sustituta
de f (x). Por ejemplo para el método de Newton-Raphson tendríamos
que
                         φ(x)                f (x)f ′ (x)
              g(x) = x − ′     =x−             2
                         φ (x)       (f ′ (x)) − f (x)f ′′ (x)
Note que se requiere evaluar también a f ′′ (x)

                                                               ´         ´
                                                             Analisis Numerico – p. 60/196
2
∆ de Aitken

El método ∆2 de Aitken sirve para acelerar la convergencia lineal de
una sucesión {xn }∞ a su límite α. Para valores suficientemente
                  n=0
grandes de n tenemos que

       xn+1 − α   xn+2 − α                    (xn+1 − xn )2
                ≈              →   α ≈ xn −
        xn − α    xn+1 − α                  xn+2 − 2xn+1 + xn

Teorema: Sea una sucesión que converge a α. La sucesión {yn },
definida por
                               (xn+1 − xn )2
                yn+1 = xn −
                            xn+2 − 2xn+1 + xn
converge a α más rapidamente que la sucesión {xn }, esto es
                              yn − α
                             lim     =0
                          n→∞ xn − α



                                                                  ´         ´
                                                                Analisis Numerico – p. 61/196
2
∆ de Aitken

Demostración:
Sustituyendo en la definición los términos xn = ǫn + α tenemos:

                               ǫn ǫn+2 − ǫ2
                                          n+1
                    yn = α +
                             ǫn+2 − 2ǫn+1 + ǫn

Por su parte,
                 xn+1 − α = η (xn − α) +δn (xn − α)
                   ǫn+1          ǫn            ǫn

con
             xn+1 − α
          lim         =η     ,   |η| < 1   y   lim δn = 0 ;
          n→∞ xn − α                           n→∞




                                                                   ´         ´
                                                                 Analisis Numerico – p. 62/196
2
∆ de Aitken

Demostración:
entonces

           ǫn+1 = (η + δn )ǫn   y   ǫn+2 = (η + δn+1 )(η + δn )ǫn

Sustituyendo esto último en la definición

                           (η + δn+1 )(η + δn ) − (η + δn )2
             yn − α = ǫn
                         (η + δn+1 )(η + δn ) − 2(η + δn ) + 1

por lo que

             yn − α     (η + δn+1 )(η + δn ) − (η + δn )2
         lim        =                                       =0
        n→∞ xn − α    (η + δn+1 )(η + δn ) − 2(η + δn ) + 1



                                                                      ´         ´
                                                                    Analisis Numerico – p. 63/196
Método de Steffensen

Resolviendo el problema f (x) + x = x y dado x0 , se calculan

                                                            (x1 − x0 )2
 x1 = f (x0 ) + x0   ,   x2 = f (x1 ) + x1   ,   y1 = x0 −
                                                           x2 − 2x1 + x0
para calcular x3 no utilizamos el valor de x2 como lo hariamos con el
método de punto fijo, sino usamos ∆2 -Aitken ya que suponemos que
y1 es una mejor aproximación de la raiz que x2 ,

          x3 = y1    ,   x4 = f (x3 ) + x3   ,   x5 = f (x4 ) + x4

                                    (x4 − x3 )2
                         y2 = x3 −
                                   x5 − 2x4 + x3
y así sucesivamente



                                                                       ´         ´
                                                                     Analisis Numerico – p. 64/196
Método de Steffensen

En la n-esima iteración tendremos que

x3n = yn     ,   x3n+1 = f (x3n ) + x3n    ,   x3n+2 = f (x3n+1 ) + x3n+1            ,

                                     (x3n+1 − x3n )2
                   yn+1   = x3n −
                                  x3n+2 − 2x3n+1 + x3n
Sustituyendo para usar la sucesión {yn }∞
                                        n=1

                                     (f (yn ) + yn − yn )2
     yn+1   = yn −
                   f (f (yn ) + yn ) + f (yn ) + yn − (f (yn ) + yn ) + yn

Simplificando y aplicando en método de punto fijo a yn tenemos

                                          (f (yn ))2
                   g(xn ) = yn −
                                 f (f (yn ) + yn ) − f (yn )


                                                                           ´         ´
                                                                         Analisis Numerico – p. 65/196
Método de Steffensen

Entrada: x, t, n
Salida: x, ’error’
leer(x, t, n)
i ← 0
repita
| i ← i + 1
| fx ← f(x)
| y ← x - (fx∗fx / (f(fx + x) - fx))
| epsilon ← |x-y|
| x ← y
hasta (i≥n)∨(epsilon ≤ t)
si (epsilon≤t)
| escribir(x)
sino
| escribir(’error’)



                                         ´         ´
                                       Analisis Numerico – p. 66/196
Método iterativo de un punto

Comentarios:

   A medida que |g ′ (x)| sea más cercana a cero la sucesión {xn }
   coverge a α más rapidamente.
                                     f (xn )
   Newton-Raphson g(xn ) = xn −      f ′ (xn )

   Secante (Método iterativo de dos puntos)
                                                xn − xn−1
               g(xn , xn−1 ) = xn − f (xn )
                                            f (xn ) − f (xn−1 )

   Steffensen: Si se resuelve el problema x = f (x) + x entonces

                                         (f (xn ))2
                  g(xn ) = xn −
                                f (f (xn ) + xn ) − f (xn )


                                                                    ´         ´
                                                                  Analisis Numerico – p. 67/196
Raices de polinomios

Sea      P (x) = an xn + an−1 xn−1 + · · · + a1 x + a0       ,   an = 0
Teorema fundamental del álgebra: Si P (x) es un polinomio de grado
m ≥ 1 con coeficientes reales o complejos, entonces existe al menos
un valor α ∈ R o C tal que P (α) = 0
Corolario: Existen un conjunto de constantes únicas
{α1 , α2 , · · · αk } ∈ R o C y un conjunto {β1 , β2 , · · · βk } ∈ N+ tales que
                                                                        k
      P (x) = an (x − α1 )β1 (x − α2 )β2 · · · (x − αk )βk   y m=            βi
                                                                       i=1

Corolario: Sean P (x) y Q(x) polinomios de grado m. Si existe un
conjunto de n > m valores distintos {x1 , x2 , · · · xn }, tales que

             P (xi ) = Q(xi ) ∀ xi   entonces P (x) = Q(x) ∀ x

                                                                               ´         ´
                                                                             Analisis Numerico – p. 68/196
Evaluación de polinomios

División sintética o regla de Ruffini: al evaluar

                     P (x) = 3x3 − 4x2 − 7x + 1 ,

ralizaremos 2 multiplicaciones para calcular x3 y x2 más 3
multiplicaciones entre los coeficientes y las potencias de x, además
realizamos 3 sumas o restas de los términos del polinomio. En
general, para un polinomio de grado m se realizarían (2m − 1)
multiplicaciones y m sumas o restas.
Si escribimos el polinomio de la siguiente forma

                    P (x) = ((3x − 4) x − 7) x + 1 ,

Reducimos el número de multiplicaciones a 3, manteniendo el número
de sumas y restas en 3.
                                                                 ´         ´
                                                               Analisis Numerico – p. 69/196
Evaluación de polinomios

División sintética: En general, si un polinomio de grado m se
representa en la forma
                                       m
                             P (x) =         ai xi ,
                                       i=0

se realizarían (2m − 1) multiplicaciones y m sumas o restas para
evaluarlo. En cambio si se representa como

          P (x) = (· · · ((am x + am−1 ) x + am−2 )) · · · ) x + a0 ,

realizaremos solamente m multiplicaciones y m sumas o restas;
¿Cuál es la principal ventaja de reducir el número de operaciones?



                                                                          ´         ´
                                                                        Analisis Numerico – p. 70/196
Evaluación de polinomios

División sintética Para evaluar el polinomio

               P (x) = 3x3 − 4x2 − 7x + 1   , en   x=2
                                                   ¯

                                                   b3   = a3
 x= 2 3 −4 −7 1 x            2 x 3=6               b2   = a2 + a3 x
                                                                  ¯
         6      +           −4 + 6 = 2                  = a2 + b3 x
                                                                  ¯
       3   2
                             2 x 2=4               b1   = a1 + (a2 + a3 x)¯
                                                                        ¯x
                            −7 + 4 = −3                 = a1 + b2 x
                                                                  ¯
 x= 2 3 −4 −7 1              2 x −3 = −6           b0   = a0 + · · ·
         6 4 −6
                             1 + −6 = −5 = P(x)         = a0 + b1 x
                                                                  ¯
      3 2 −3 −5 = P(x)
                                                        = P (¯)
                                                             x


                                                                    ´         ´
                                                                  Analisis Numerico – p. 71/196
Evaluación de polinomios

División sintética Para un polinomio de grado m, cuyos coeficientes
son am , am−1 , . . . , a1 , a0 tenemos

     bm = am    ,   bi = ai + bi+1 x , i = (m − 1), (m − 2), . . . , 1, 0 ,
                                   ¯

donde, el último término que se calcula, b0 = P (¯)
                                                 x
El nombre división sintética viene del hecho de que los números
bm , bm−1 , . . . , b1 representan los coeficientes de otro polinomio
                                         N umerador
                        m−1
                                   i        P (x)         b0
               Q(x) =         bi+1 x =                 −
                        i=0
                                           (x − x)
                                                ¯        x−x ¯
                                         Denominador     Resto
                    Cociente




                                                                           ´         ´
                                                                         Analisis Numerico – p. 72/196
Evaluación de polinomios

División sintética
                                Algoritmo de un subprograma
                                que recibe un arreglo a[0..m]
 Entrada: a, m, x               con los coeficientes del polino-
 Salida: b                      mio P (x), su grado m y el valor
 divSintetica(a, m, x, b)       donde se quiere evaluar x y re-
 | b[m] ← a[m]                  torna el arreglo b[0..m] con el
 | para i← m-1 hasta 0          resultado de la evaluacion en su
 | | b[i] ← a[i] + b[i+1] ∗ x   primer campo b[0], y los coe-
                                ficientes de polinomio Q(x) en
                                el resto de sus campos, b[1],
                                b[2], . . . , b[m]




                                                       ´         ´
                                                     Analisis Numerico – p. 73/196
Método de Horner

De lo anterior tenemos que

                        P (x)           b0
                              = Q(x) +
                        x−x ¯          x−x ¯
Multiplicando por (x − x) obtenemos
                       ¯

                       P (x) = Q(x)(x − x) + b0
                                        ¯

La derivada de lo anterior es

                     P ′ (x) = Q′ (x)(x − x) + Q(x)
                                          ¯

y evaluando la derivada en x = x obtenemos
                               ¯

                                P ′ (¯) = Q(¯)
                                     x      x


                                                        ´         ´
                                                      Analisis Numerico – p. 74/196
Método de Horner

Se utiliza para calcular raices de polinomios con el método de
Newton-Raphson. Mediante la división sintética se calcula
P ′ (x) = Q(x) y se evalua en un valor dado a P (x) y Q(x)
 Entrada: a, m, x
                                          A medida que se hace la división
 Salida: b, px, qx
                                          sintética para evaluar a P (x) en
 horner(a, m, x, b, px, qx)
                                          x, se obtienen los coeficientes
 | b[m-1] ← a[m]
                                          de Q(x) que son usados dentro
 | qx ← a[m]
                                          la misma iteración para evaluar
 | para i ← m-1 hasta 1
                                          Q(x) en x.
 | | b[i-1] ← a[i] + b[i] ∗ x
                                          Al finalizar obtenemos
 | | qx ← b[i] + qx ∗ x
 | px ← a[0] + b[0] ∗ x                   px = P (x) , qx = Q(x) = P ′ (x)



                                                                   ´         ´
                                                                 Analisis Numerico – p. 75/196
Método de Horner

Si el método obtiene una aproximación a una raiz P (α1 ) ≈ 0, entonces

           P (x) = (x − α1 )Q1 (x) + P (α1 ) ≈ (x − α1 )Q1 (x)

Este proceso se llama deflación. Si aplicamos la deflación a Q1 (x)
tendremos una aproximación a una nueva raiz

                          Q1 (α2 ) ≈ P (α2 ) ≈ 0,

y si lo repetimos k = m − 2 veces se podría tener

             P (x) ≈ (x − α1 )(x − α2 ) · · · (x − αk )Qk (x) ,

donde, Qk (x) es un polinomio de grado 2, cuyas raices se pueden
calcular usando una expresión analítica.


                                                                    ´         ´
                                                                  Analisis Numerico – p. 76/196
Método de Horner

Entrada: m, a, x, t, n
                                | | escribir(x)
Salida: Las m raices de P (x)
                                | | deflacion(m-1, b, x,
deflacion(m, a, x, t, n)
                                | |                t, n)
si (m > 2)
                                | sino
| i ← 0
                                | | escribir(’error’)
| repita
                                sino
| | i ← i + 1
                                | d=sqrt(a[1]∗a[1]
| | xa ← x
                                |           - 4∗a[2]∗a[0])
| | horner(a, m, xa,
                                | si(d ≥ 0)
| |            b, px, qx)
                                | | escribir((-a[1] ± d)
| | x ← xa - px/qx
                                | |                /(2∗a[2])
| hasta (i≥n)∨(|x-xa|≤t)
                                El subprograma deflacion debe
| si (|x-xa|≤t)
                                ser llamado por otro programa.

                                                       ´         ´
                                                     Analisis Numerico – p. 77/196
Método de Horner

Comentarios del método:

   Una raiz aproximada αi , más que una aproximación a una raiz de
   P (x), es efectivamente una aproximación a una raiz de Qi−1 (x)
   que a su vez se obtiene iterativamente mediante la deflación
   aproximada de P (x). Esto trae como consecuencia que a medida
   que i aumenta los errores se acumulan y las aproximaciones αi a
   los valores reales de las raices,en general, serán cada vez peores.

   Por lo general los polinomios tiene raices complejas. Para
   calcularlas utilizando este método (Newton-Raphson) hay que
   operar usando números complejos.

   Las raices múltiples se van encontrando una a una.



                                                                 ´         ´
                                                               Analisis Numerico – p. 78/196
Método de Müller

Teorema: Si z = β + γi es una raiz compleja de multiplicidad ν del
polinomio P (x) entonces z = β − γi también es una raiz de
multiplicidad ν de P (x) y el polinomio D(x) = (x2 − 2βx + β 2 + γ 2 )ν es
un factor de P (x), es decir,

                              P (x)
                                    = Q(x)
                              D(x)

Con este resultado podemos pensar en generalizar la división sintética
para que los términos sean polinomios cuadráticos. El método de
Müller se basa sobre esta idea, pero a diferencia del método de
Horner también permite calcular las raices complejas del polinomio.
En cambio de aproximar a la función con una recta, como en el
método de la secante, se aproxima usando un polinomio cuadrático

                                                                     ´         ´
                                                                   Analisis Numerico – p. 79/196
Método de Müller

Sean x0 , x1 y x2 los tres puntos iniciales del método y

                    D(x) = a(x − x2 )2 + b(x − x2 ) + c

que pasa por (x0 , P (x0 )), (x1 , P (x1 )) y (x2 , P (x2 )), tenemos que

                                                        √
                                                    b2 − 4ac
                                                 −b ±
            D(x − x2 ) = 0 ⇒ x − x2 =
                                                   2a
Para evitar problemas de errores por la resta de números parecidos y
seleccionando el valor de x3 = x tal que sea la raiz más cercana a x2
                                                   
                         2c                        −1, si b < 0
     x3 = x2 −            √           , sig(b) =
                b + sig(b) b 2 − 4ac                1, si b ≥ 0



                                                                              ´         ´
                                                                            Analisis Numerico – p. 80/196
Método de Müller

Como
                     P (x0 )       =    a(x0 − x2 ) + b(x0 − x2 ) + c
                     P (x1 )       =    a(x1 − x2 ) + b(x1 − x2 ) + c
                     P (x2 )       =    a(x2 − x2 ) + b(x2 − x2 ) + c = c
resolviendo el sistema de tres equaciones obtenemos
           (x0 −x2 )(P (x1 )−P (x2 ))−(x1 −x2 )(P (x0 )−P (x2 ))
  a    =                (x0 −x2 )(x1 −x2 )(x0 −x1 )


           P (x0 )−P (x2 )       (x0 − x2 )(P (x1 ) − P (x2 )) − (x1 − x2 )(P (x0 ) − P (x2 ))
  b    =      (x0 −x2 )
                             −
                                                     (x1 − x2 )(x0 − x1 )
                                 |                             {z                            }
                                                          a(x0 −x2 )
  c    =   P (x2 )

En general podemos tener
                                                       2c
                             xn+1 = xn −                √
                                              b + sig(b) b2 − 4ac

                                                                                          ´         ´
                                                                                        Analisis Numerico – p. 81/196
Método de Müller

Entrada: x0,x1,x2,t,n
Salida: x2, ’error’             y
                                                                    D(x) = a(x−x3)2+ b(x−x ) + c
                                                                                               3
leer(x0,x1,x2,t,n)                    y=f(x)

repita
                                    D(x) = a(x−x2)2+ b(x−x ) + c
| c ← P(x2)                                                 2


| P02 ← P(x0)-c ; x02 ← x0-x2
| P12 ← P(x1)-c ; x12 ← x1-x2
| a ← (x02∗P12 - x12∗P02)
|        /(x02∗x12∗(x0-x1))          x0        x1      x2                       x3    x4 x5
| b ← P02/x02 - a∗x02
| x0 ← x1
                                      D(x) = a(x−x4)2+ b(x−x ) + c
                                                                4
| x1 ← x2
| x2 = x2 - 2∗c/(b + sig(b)
|      ∗sqrt(b∗b - 4∗a∗c))      Nota: x0, x1 y x2 son variables complejas. En
hasta (i≥n)∨(|x2-x1|≤t)         caso de que el lenguaje no las soporte hay que
si (|x2-x1|≤t) escribir(x2)     modificar el algoritmo
sino escribir(’error’)


                                                                             ´         ´
                                                                           Analisis Numerico – p. 82/196
Algebra Lineal

 Introducción
 Métodos Directos              Métodos Iterativos
   Regla de Crammer              Refinamiento iterativo
   Eliminación Gaussiana         Jacobi
   Factorización LU              Gauss-Seidel
   Factorización de Cholesky     Errores y Convergencia
   Matrices tridiagonales        Aceleración S.O.R.
   Normas y errores




                                                    ´         ´
                                                  Analisis Numerico – p. 83/196
Algebra Lineal Numérica

Los problemas más importantes que son atacados con el álgebra
lineal númerica son:
   Resolución de sistemas de ecuaciones lineales
   Cálculo de valores propios
   Ajuste de rectas
El problema básico se puede resumir en
                                Ax = b ,
donde, A es una matriz n × n, y x y b son dos vectorer columna n × 1,
siendo A y b conocidos




                                                                 ´         ´
                                                               Analisis Numerico – p. 84/196
Regla de Cramer

                                det(Ai )
                           xi =          ,
                                det(A)
donde, Ai es la matriz A con la i-esima columna remplazada por b
Número de operaciones

   para el cálculo de cada determinante se requieren (n − 1)n!
   multiplicaciones y (n! − 1) sumas

   evaluar (n + 1) determinantes

   realizar n divisiones

               En total son (n2 + n)n! − 1 operaciones




                                                                   ´         ´
                                                                 Analisis Numerico – p. 85/196
Eliminación de Gauss

transformar mediante operaciones lineales entre filas a

                          Ax = b      en Lx = c    o en Ux = d ,

donde,

                      L                                                    U
 2                                             3   2                                                      3
     l11       0      0        ···        0            u11   u12    ···        u1n−1          u1n
 6                                             7   6                                                      7
 6 l          l22     0        ···        0    7   6    0    u22    ···        u2n−1          u2n         7
 6    21                                       7   6                                                      7
 6                                             7   6                                                      7
 6    .        .     ..        ..         .    7   6    .    ..     ..           .             .          7
 6    .        .        .         .       .    7   6    .       .      .         .             .          7
 6    .        .                          .    7   6    .                        .             .          7
 6                                             7   6                                                      7
 6 ln−11
 4          ln−12    ···    ln−1n−1       0    7
                                               5
                                                   6
                                                   4    0    ···     0     un−1n−1         un−1n          7
                                                                                                          5
    ln1       ln2    ···     lnn−1       lnn            0    ···     0           0           unn


              Triangular Inferior                               Triangular Superior




                                                                                         ´         ´
                                                                                       Analisis Numerico – p. 86/196
Eliminación de Gauss

Sustitución hacia atrás

     Triangular Inferior                     Triangular Superior
     x1 = c1 /l11                            xn = dn /unn
                       i−1                                       n
     xi = (ci −        j=1 lij xj )/(lii )   xi = (di −          j=i+1   uij xj )/(uii )
     i = 2, 3, . . . , n                     i = n − 1, n − 2, . . . 1

Para obtener, por ejemplo, la matriz U y el vector d a partir de A y b se
procede de la siguiente forma sobre la matriz ampliada à = A|b
    (1)     (0)      (0) (0)    (0)
  aij = aij − a1j ai1 /a11 ,             i = 2, 3, . . . , n ,    j = 1, 2, . . . , n + 1 ;

          (1)
donde, aij es el elemento que está en la fila i, columna j de à luego
                                             (0)
de aplicarle una transformación y aij es el elemento original.


                                                                                         ´         ´
                                                                                       Analisis Numerico – p. 87/196
Eliminación de Gauss

Note que ai1 = 0 ∀ i > 1.
En este paso a a11 se le conoce como el pivote.
Para acomodar la segunda columna de à usamos a a22 como pivote
      (2)     (1)     (1) (1)     (1)
  aij = aij − a2j ai2 /a22 ,               i = 3, 4, . . . , n ,     j = 2, 3, . . . , n + 1 ;

Repitiendo este proceso para tenemos que
                        (k)       (k−1)       (k−1) (k−1) (k−1)
                       aij = aij          − akj    aik /akk               ,

con

k = 1, 2 . . . , n − 1 ,      i = k + 1, k + 2, . . . , n ,        j = k, k + 1, . . . , n + 1 ;
            (k−1)
donde, akk          es el pivote de la k-esima transformación

                                                                                           ´         ´
                                                                                         Analisis Numerico – p. 88/196
Eliminación de Gauss

Asi que
                (0)    (0)    (0)              (0)
                                                              (0)
                                                                        
                a11    a12    a13      ···     a1n             a1n+1
                       (1)    (1)              (1)
                                                              (1)
                                                                        
          
                0     a22    a23      ···     a2n     
                                                       
                                                           
                                                              a2n+1    
                                                                        
                              (2)              (2)           (2)     
       U =
                0      0     a33      ···     a3n      d=
                                                             a3n+1    
                                                                        
                .
                 .      .
                        .     ..       ..       .
                                                .
                                                               .
                                                                 .
                                                                        
          
                .      .          .      .     .      
                                                       
                                                           
                                                                .      
                                                                        
                                               (n−1)            (n−1)
                 0      0     ···       0     ann              ann+1

Note que para que la eliminación de Gauss funcione todos los n − 1
         (k−1)
pivotes akk    tienen que ser distintos de cero. Pero en la práctica esto
no es todo, porque pivotes pequeños pueden provocar que el error de
redondeo aumente



                                                                              ´         ´
                                                                            Analisis Numerico – p. 89/196
Eliminación de Gauss

Crecimiento del error por pivotes pequeñosa
                                     
      0.0004    1.402      x        1.406                            0.4003
                       1  =           ,                               = 1001
      0.4003 −1.502        x2       2.501                            0.0004

Aplicando la eliminación de Gauss tenemos que
                                               
                 0.0004   1.402     x         1.406
                                1  =           
                      0 −1405       x2       −1404

de donde se obtiene que
               −1404                 1.406 − 1.402 × 0.9993
      x2 =           = 0.9993 y x1 =                        = 12.5
               −1405                         0.0004

 a
                 ´
     usando aritmetica de punto flotante de cuatro cifras decimales
                                                                                  ´         ´
                                                                                Analisis Numerico – p. 90/196
Eliminación de Gauss

         4

         3       Soluci´n exacta
                       o

         2

   x2    1                         x

         0

        −1                    Soluci´n aproximada
                                    o

        −2
             0     5         10        15       20
                             x1
                                                       ´         ´
                                                     Analisis Numerico – p. 91/196
Eliminación de Gauss

Crecimiento del error por pivotes pequeñosa
Si ahora usamos la eliminación de Gauss con una matriz L tenemos
                                    
     0.0004   1.402       x        1.406       1.402
                      1  =           ,           = −0.9334
     0.4003 −1.502        x2       2.501      −1.502

Aplicando la eliminación de Gauss tenemos que
                                   
    0.374         0     x          3.74
                    1  =            de donde se obtiene que
   0.4003 −1.502        x2        2.501


                       3.74              2.501 − 0.4003 × 10
               x1 =          = 10 y x1 =                     =1
                       0.374                   −1.502
 a
                 ´
     usando aritmetica de punto flotante de cuatro cifras decimales
                                                                       ´         ´
                                                                     Analisis Numerico – p. 92/196
Eliminación de Gauss

Estrategias de pivoteo

   Pivoteo Parcial: Se escoje r tal que
                          (k−1)              (k−1)
                         ark      = max ( aik        )
                                    k≤i≤n

   luego se intercambian la fila k con la fila r
   Menos efectivo, menos costoso, más usado

   Pivoteo Total: Se escoje r y s tales que
                                             (k−1)
                         a(k−1) = max ( aij
                          rs                         )
                                   k≤i,j≤n

   Se intercambian la fila k con la r y la columna k con la s
   Más efectivo, más costoso, menos usado

                                                                 ´         ´
                                                               Analisis Numerico – p. 93/196
Eliminación de Gauss

Entrada: n, A[n,n+1]
Salida: Las x[n]
                             | | m ← A[f[i],k]/A[f[k],k]
gauss(n, A, x)
                             | | para j ← k hasta n+1
para k ← 1 hasta n
                             | | | A[f[i],j] ← A[f[i],j]
| f[k] ← k
                             | | |      - m∗A[f[k],j]
para k ← 1 hasta n-1
                             si A[f[n],n] = 0
| r ← k
                             | escribir("Singular")
| para i ← k+1 hasta n
                             x[n] ← A[f[n],n+1]/Af[n],n]
| | si (A[i,k] > A[r,k]
                             para i ← n-1 hasta 1
| | | r ← i
                             | x[i] ← 0
| | si A[r,k] = 0
                             | para j ← i+1 hasta n
| | | escribir("Singular")
                             | | x[i] ← x[i]
| | | retornar
                             | |     + A[f[i],j]∗x[j]
| | si (k = r)
                             | x[i] ← (A[f[i],n+1]
| | | aux ← f[k]
                             |       - x[i])/A[f[i],i]
| | | f[k] ← f[r]
                             retornar
| | | f[r] ← aux

                                                 ´         ´
                                               Analisis Numerico – p. 94/196
Eliminación de Gauss

Comentarios
  El número de operaciones es aproximadamente 2 n2
                                              3
  Si se quieren resolver varios sistemas con la misma matriz A la
  matriz ampliada será Ã = A|b1 |b2 | · · ·
  Para el cálculo de la inversa de la matriz A aplicamos el método de
  la eliminación de Gauss a la matriz ampliada à = A|I, donde I es la
  matriz identidad
  El determinante de A se puede calcular a partir de la diagonal de la
  matriz triangular
                                       n
                                              (k−1)
                      det(A) = (−1)s         akk      ,
                                       k=1

  donde s es el número de intercambios de filas realizados por las
  estrategia de pivoteo parcial

                                                                 ´         ´
                                                               Analisis Numerico – p. 95/196
Factorización LU

Si la matriz A se usa varias veces es conveniente factorizarla usando
una matriz triangular inferior L y una triangular superior U
            A = LU ;           Ax = b     ⇒         Ly = b , Ux = y

Donde, conocidas L y U se requieren n2 operaciones para resolver el
sistema Ax = b
      2                                                    3
          1       0      0         0          ···      0
      6                                                  7
      6 l21       1      0         0          ···      0 7
      6                                                  7
                                                                       8
                                                                       > a(k−1)
      6                                                  7
      6 l
      6 31       l32     1         0          ···      0 7
                                                         7             < ik
                                                                            (k−1)        , si i ≥ k
 L=   6
          .             ..        ..           .
                                                         7 ,   lik =     akk
      6
      6   .
          .                .         .         .
                                               .
                                                         7
                                                         7             :0
                                                                       >
                                                                                         , si i < k
      6                                                  7
      6                                                  7
      6 ln−11
      4         ln−12   ···     ln−1n−2        1       0 7
                                                         5
         ln1     ln2    ln3       ···     lnn−1        1



                                                                                      ´         ´
                                                                                    Analisis Numerico – p. 96/196
Factorización LU

           (0)    (0)    (0)              (0)
                                                  
           a11    a12    a13      ···     a1n            (k)
                                                        aij = aij
                                                                  (k−1)
                                                                           − lik akj
                                                                                     (k−1)
                  (1)    (1)              (1)    
       
           0     a22    a23      ···     a2n     
                                                  
                          (2)              (2)
 U=
       
           0      0     a33      ···     a3n     
                                                   ,   k = 1, 2, . . . , n − 1
       
           .
            .      .
                   .     ..       ..       .
                                           .
                                                  
                                                  
           .      .          .      .     .      
            0      0     ···       0
                                          (n−1)
                                         ann            i, j = k + 1, k + 2 . . . n

Teorema: La factorización LU de una matriz A no singular en única.
                                                            n      (k−1)
Corolario: det(A) = det(LU) = det(L) det(U) =               k=1   akk

Si se utilizan estrategias de pivoteo parcial o total, la factorización LU
será de la matriz permutada PA donde la matriz P, llamada matriz de
permutación, es el resultado de realizar las permutaciones hechas en
A en la matriz identidad I

                                                                                    ´         ´
                                                                                  Analisis Numerico – p. 97/196
Método de Cholesky

Si la matriz A es simétrica y definida positiva no es necesario aplicar
estrategias de pivoteo

Teorema de Cholesky: Sea A una matriz simétrica definida positiva.
Entonces existe una única matriz triangular inferior L con lii = 0 tal que

                                 A = LLT

   A es simétrica si:
                        A = AT     ,   aij = aji ∀ i, j

      A−1 , si existe es simétrica
      Las submatrices principales de A son simétricas




                                                                     ´         ´
                                                                   Analisis Numerico – p. 98/196
Método de Cholesky

   A es definida positiva si:

                          xT Ax > 0 ∀     x=0
       aii > 0 ∀ i                      Las submatrices principales son
       AT es definida positiva           definidas positivas
       A−1 siempre existe               det(A) > 0
       A−1 es definida positiva          Los menores principales son positivos
   Una matriz simétrica es definida positiva si y solo si todos sus
   menores principales son positivos (Teorema de Sylvester)


Para la demostración del teorema de Cholesky ver las notas del curso
"Análisis Numérico", de la Prof. María C. Trevisan.

  http://www.matematicas.ula.ve/publicaciones/guias/cursonum.pdf

                                                                   ´         ´
                                                                 Analisis Numerico – p. 99/196
Método de Cholesky

 El método requiere n3 /3 operaciones, la mitad de las 2n3 /3
 operaciones requeridas para la factorización LU
 Se deben calcular n raices cuadradas
 Los elementos lii de L pueden ser diferente de 1
 Si se quiere eliminar el cálculo de las n raices cuadradas se puede
 modificar la factorización a
                           A = LDLT , donde,
                                                       i−1
                                                               2
       lii = 1 ,     li1 = ai1       y lij =   aij −          ljk dkk   /dii
                                                       k=1

 y D es una matriz diagonal con
                                                    i−1
                                                           2
                   d11 = a11     y    dii = aii −         lij djj
                                                    j=1

                                                                                 ´         ´
                                                                               Analisis Numerico – p. 100/196
Método de Cholesky

Entrada: n, A[n,n],b[n]
Salida: Las x[n]
cholesky(n, A, b x)           para i ← 1 hasta n
para i ← 1 hasta n            | y[i] ← b[i]
| para j ← 1 hasta i-1        | para j ← 1 hasta i-1
| | v[j] = l[i,j]∗d[j]        | | y[i] ← y[i]
| d[i] ← A[i,i]               | |      - l[i,j]∗y[j]
| para j ← 1 hasta i-1        para i ← 1 hasta n
| | d[i] ← d[i]               | z[i] ← y[i]/d[i]
| |         - l[i,j]∗v[j]     para i ← n hasta 1
| para j ← i+1 hasta n        | x[i] ← z[i]
| | l[i,j] ← A[j,i]           | para j ← i+1 hasta n
| | para k ← 1 hasta i-1      | | x[i] ← x[i]
| | | l[i,j] ← l[i,j]         | |      - l[j,i]∗x[j]
| | |         - l[j,k]∗v[k]   retornar
| | l[i,j] ← l[j,k]/d[i]


                                                 ´         ´
                                               Analisis Numerico – p. 101/196
Matrices Tridiagonales

                                                               
             a11     a12     0         0        ···       0
                                                               
            a21     a22    a23        0        ···       0     
                                                               
                                               ..        .
                                                          .     
            0       a32    a33       a34          .      .     
         A= .                                                  
           
            .       ..     ..        ..        ..              
            .          .      .         .         .      0     
                                                                
                                                               
            0               0      an−1n−2   an−1n−1   an−1n   
              0      ···     0         0       ann−1     ann
Si la matriz A es no singular entonce podemos factorizarla

                                   A = LU ,
donde,




                                                                      ´         ´
                                                                    Analisis Numerico – p. 102/196
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos
Metodos numericos

Más contenido relacionado

La actualidad más candente

Diferenciación numérica Metodos Numericos
Diferenciación numérica Metodos NumericosDiferenciación numérica Metodos Numericos
Diferenciación numérica Metodos NumericosTensor
 
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton RaphsonVentajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton RaphsonDiana Laura Ochoa Gallegos
 
Ejercicios unidad 5
Ejercicios unidad 5Ejercicios unidad 5
Ejercicios unidad 5thomasbustos
 
4.metodo de la biseccion
4.metodo de la biseccion4.metodo de la biseccion
4.metodo de la biseccionrjvillon
 
Aplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorAplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorIsai Esparza Agustin
 
Ejemplo del Método de Falsa Posición
Ejemplo del Método de Falsa PosiciónEjemplo del Método de Falsa Posición
Ejemplo del Método de Falsa PosiciónDaniela Medina
 
Métodos numéricos aplicados a la ingeniería civil estructuras
Métodos numéricos aplicados a la ingeniería civil estructurasMétodos numéricos aplicados a la ingeniería civil estructuras
Métodos numéricos aplicados a la ingeniería civil estructurassalia diaz silva
 
Ejercicios resueltos- de metodos
Ejercicios resueltos- de metodosEjercicios resueltos- de metodos
Ejercicios resueltos- de metodosMichael Dhgfhr
 
Ecuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneasEcuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneasAlexCoeto
 
Método gráfico, Método de bisección y Método de la regla falsa
Método gráfico, Método de bisección  y Método de la regla falsa Método gráfico, Método de bisección  y Método de la regla falsa
Método gráfico, Método de bisección y Método de la regla falsa deberesautomotriz
 
Raices de ecuaciones Metodos Númericos
Raices de ecuaciones Metodos NúmericosRaices de ecuaciones Metodos Númericos
Raices de ecuaciones Metodos NúmericosTensor
 
Cuadratura de gauss
Cuadratura de gaussCuadratura de gauss
Cuadratura de gaussTensor
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativoscyndy
 
Método de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MNMétodo de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MNTensor
 
Regla de simpson un tercio para segmentos multiples
Regla de simpson un tercio para segmentos multiplesRegla de simpson un tercio para segmentos multiples
Regla de simpson un tercio para segmentos multiplesTensor
 
Cálculo Raíces Con Octave
Cálculo Raíces Con OctaveCálculo Raíces Con Octave
Cálculo Raíces Con OctaveCristobal Lopez
 
Conjunto Fundamental de Soluciones
Conjunto Fundamental de SolucionesConjunto Fundamental de Soluciones
Conjunto Fundamental de SolucionesDiego Salazar
 

La actualidad más candente (20)

Diferenciación numérica Metodos Numericos
Diferenciación numérica Metodos NumericosDiferenciación numérica Metodos Numericos
Diferenciación numérica Metodos Numericos
 
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton RaphsonVentajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
 
Ejercicios unidad 5
Ejercicios unidad 5Ejercicios unidad 5
Ejercicios unidad 5
 
4.metodo de la biseccion
4.metodo de la biseccion4.metodo de la biseccion
4.metodo de la biseccion
 
Aplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorAplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superior
 
Ejemplo del Método de Falsa Posición
Ejemplo del Método de Falsa PosiciónEjemplo del Método de Falsa Posición
Ejemplo del Método de Falsa Posición
 
Propagación de errores
Propagación de erroresPropagación de errores
Propagación de errores
 
Ajuste polinomial de curvas
Ajuste polinomial de curvasAjuste polinomial de curvas
Ajuste polinomial de curvas
 
Cuadratura Gaussiana
Cuadratura GaussianaCuadratura Gaussiana
Cuadratura Gaussiana
 
Métodos numéricos aplicados a la ingeniería civil estructuras
Métodos numéricos aplicados a la ingeniería civil estructurasMétodos numéricos aplicados a la ingeniería civil estructuras
Métodos numéricos aplicados a la ingeniería civil estructuras
 
Ejercicios resueltos- de metodos
Ejercicios resueltos- de metodosEjercicios resueltos- de metodos
Ejercicios resueltos- de metodos
 
Ecuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneasEcuaciones diferenciales homogeneas
Ecuaciones diferenciales homogeneas
 
Método gráfico, Método de bisección y Método de la regla falsa
Método gráfico, Método de bisección  y Método de la regla falsa Método gráfico, Método de bisección  y Método de la regla falsa
Método gráfico, Método de bisección y Método de la regla falsa
 
Raices de ecuaciones Metodos Númericos
Raices de ecuaciones Metodos NúmericosRaices de ecuaciones Metodos Númericos
Raices de ecuaciones Metodos Númericos
 
Cuadratura de gauss
Cuadratura de gaussCuadratura de gauss
Cuadratura de gauss
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Método de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MNMétodo de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MN
 
Regla de simpson un tercio para segmentos multiples
Regla de simpson un tercio para segmentos multiplesRegla de simpson un tercio para segmentos multiples
Regla de simpson un tercio para segmentos multiples
 
Cálculo Raíces Con Octave
Cálculo Raíces Con OctaveCálculo Raíces Con Octave
Cálculo Raíces Con Octave
 
Conjunto Fundamental de Soluciones
Conjunto Fundamental de SolucionesConjunto Fundamental de Soluciones
Conjunto Fundamental de Soluciones
 

Destacado

Introduccion al calculo numerico y manejo de errores
Introduccion al calculo numerico y manejo de erroresIntroduccion al calculo numerico y manejo de errores
Introduccion al calculo numerico y manejo de erroresUniversidad Fermin Toro
 
Convergencia y divergencia
Convergencia y divergenciaConvergencia y divergencia
Convergencia y divergenciaManuel Quintana
 
Metodos numericos1
Metodos numericos1Metodos numericos1
Metodos numericos1jennifer
 
3.4 teoria de sistemas de ecuaciones no lineales
3.4 teoria de sistemas de ecuaciones no lineales3.4 teoria de sistemas de ecuaciones no lineales
3.4 teoria de sistemas de ecuaciones no linealesRoger Burgos
 
Método de la Bisección
Método de la BisecciónMétodo de la Bisección
Método de la Bisecciónronyclar
 
Tipos de Datos - Punto flotante
Tipos de Datos - Punto flotanteTipos de Datos - Punto flotante
Tipos de Datos - Punto flotanteOsberth De Castro
 
República bolivariana de venezuela
República bolivariana de venezuelaRepública bolivariana de venezuela
República bolivariana de venezuelaSergio Alarcón
 
Calculo Numerico y Analisis de Errores
Calculo Numerico y Analisis de ErroresCalculo Numerico y Analisis de Errores
Calculo Numerico y Analisis de ErroresFreddy Rivero
 
INTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORES
INTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORESINTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORES
INTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORESJOSE GOMEZ
 
Calculo numerico y manejo de errores
Calculo numerico y manejo de erroresCalculo numerico y manejo de errores
Calculo numerico y manejo de erroresCamilo Perez
 
Analisis numericos
Analisis numericosAnalisis numericos
Analisis numericosmavarela81
 
Mapa mental analisis numerico
Mapa mental analisis numericoMapa mental analisis numerico
Mapa mental analisis numericoSergio Alarcón
 
Analisis numerico
Analisis numericoAnalisis numerico
Analisis numericoedwar43
 
Simul8 Simulador de Operaciones y Procesos
Simul8 Simulador de Operaciones y ProcesosSimul8 Simulador de Operaciones y Procesos
Simul8 Simulador de Operaciones y ProcesosSimuladores On Line
 
1028094 clases-de-hysys-3-equipos-de-transferencia-de-masa
1028094 clases-de-hysys-3-equipos-de-transferencia-de-masa1028094 clases-de-hysys-3-equipos-de-transferencia-de-masa
1028094 clases-de-hysys-3-equipos-de-transferencia-de-masaCarlos Diaz
 

Destacado (20)

Convergencia y divergencia
Convergencia y divergenciaConvergencia y divergencia
Convergencia y divergencia
 
Introduccion al calculo numerico y manejo de errores
Introduccion al calculo numerico y manejo de erroresIntroduccion al calculo numerico y manejo de errores
Introduccion al calculo numerico y manejo de errores
 
Convergencia y divergencia
Convergencia y divergenciaConvergencia y divergencia
Convergencia y divergencia
 
Metodos numericos1
Metodos numericos1Metodos numericos1
Metodos numericos1
 
3.4 teoria de sistemas de ecuaciones no lineales
3.4 teoria de sistemas de ecuaciones no lineales3.4 teoria de sistemas de ecuaciones no lineales
3.4 teoria de sistemas de ecuaciones no lineales
 
Método de la Bisección
Método de la BisecciónMétodo de la Bisección
Método de la Bisección
 
1.3 errores
1.3 errores1.3 errores
1.3 errores
 
Polinomios 2
Polinomios 2Polinomios 2
Polinomios 2
 
Tipos de Datos - Punto flotante
Tipos de Datos - Punto flotanteTipos de Datos - Punto flotante
Tipos de Datos - Punto flotante
 
República bolivariana de venezuela
República bolivariana de venezuelaRepública bolivariana de venezuela
República bolivariana de venezuela
 
Calculo Numerico y Analisis de Errores
Calculo Numerico y Analisis de ErroresCalculo Numerico y Analisis de Errores
Calculo Numerico y Analisis de Errores
 
INTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORES
INTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORESINTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORES
INTRODUCCIÓN AL CÁLCULO NUMÉRICO Y MANEJO DE ERRORES
 
Calculo numerico y manejo de errores
Calculo numerico y manejo de erroresCalculo numerico y manejo de errores
Calculo numerico y manejo de errores
 
Analisis numericos
Analisis numericosAnalisis numericos
Analisis numericos
 
Analisis numerico
Analisis numericoAnalisis numerico
Analisis numerico
 
Mapa mental analisis numerico
Mapa mental analisis numericoMapa mental analisis numerico
Mapa mental analisis numerico
 
Analisis numerico
Analisis numericoAnalisis numerico
Analisis numerico
 
Simul8 Simulador de Operaciones y Procesos
Simul8 Simulador de Operaciones y ProcesosSimul8 Simulador de Operaciones y Procesos
Simul8 Simulador de Operaciones y Procesos
 
Tema 2
Tema 2Tema 2
Tema 2
 
1028094 clases-de-hysys-3-equipos-de-transferencia-de-masa
1028094 clases-de-hysys-3-equipos-de-transferencia-de-masa1028094 clases-de-hysys-3-equipos-de-transferencia-de-masa
1028094 clases-de-hysys-3-equipos-de-transferencia-de-masa
 

Similar a Metodos numericos

Similar a Metodos numericos (20)

Guia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-netGuia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-net
 
Aritmetica del computador
Aritmetica del computadorAritmetica del computador
Aritmetica del computador
 
Folleto de todo
Folleto de todoFolleto de todo
Folleto de todo
 
T4 1
T4 1T4 1
T4 1
 
Documento tecnico de computacion
Documento tecnico de computacionDocumento tecnico de computacion
Documento tecnico de computacion
 
Compu deber
Compu deberCompu deber
Compu deber
 
Compu deber
Compu deberCompu deber
Compu deber
 
Compu deber
Compu deberCompu deber
Compu deber
 
Diapositivas tecno
Diapositivas tecnoDiapositivas tecno
Diapositivas tecno
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
 
Dii2+Representacion+De+La+Informaci%C3%B3n+Y+Codigos+Corregido
Dii2+Representacion+De+La+Informaci%C3%B3n+Y+Codigos+CorregidoDii2+Representacion+De+La+Informaci%C3%B3n+Y+Codigos+Corregido
Dii2+Representacion+De+La+Informaci%C3%B3n+Y+Codigos+Corregido
 
Sistemas digitales blog
Sistemas digitales blogSistemas digitales blog
Sistemas digitales blog
 
2 bach ud01 - hardware del ordenador
2 bach   ud01 - hardware del ordenador2 bach   ud01 - hardware del ordenador
2 bach ud01 - hardware del ordenador
 
Representacion numeros
Representacion numerosRepresentacion numeros
Representacion numeros
 
Correccion del examen de simm del primer quimestre
Correccion del examen de simm del primer quimestreCorreccion del examen de simm del primer quimestre
Correccion del examen de simm del primer quimestre
 
Electrónica digital: lógica aritmética sumadores
Electrónica digital: lógica aritmética sumadoresElectrónica digital: lógica aritmética sumadores
Electrónica digital: lógica aritmética sumadores
 
74 ls148
74 ls14874 ls148
74 ls148
 
Cesar tecnologia
Cesar tecnologiaCesar tecnologia
Cesar tecnologia
 
Las computadoras
Las computadorasLas computadoras
Las computadoras
 
Examen semestral inf.100
Examen semestral inf.100Examen semestral inf.100
Examen semestral inf.100
 

Más de Cate Graham

Integral de fourier
Integral de fourierIntegral de fourier
Integral de fourierCate Graham
 
The third law of thermodynamics
The third law of thermodynamicsThe third law of thermodynamics
The third law of thermodynamicsCate Graham
 
Analisis basico-de-variable-compleja-jerrold-marsden
Analisis basico-de-variable-compleja-jerrold-marsdenAnalisis basico-de-variable-compleja-jerrold-marsden
Analisis basico-de-variable-compleja-jerrold-marsdenCate Graham
 
Como programar en_c
Como programar en_cComo programar en_c
Como programar en_cCate Graham
 
Comandos ejemplo-matlab
Comandos ejemplo-matlabComandos ejemplo-matlab
Comandos ejemplo-matlabCate Graham
 

Más de Cate Graham (6)

Integral de fourier
Integral de fourierIntegral de fourier
Integral de fourier
 
The third law of thermodynamics
The third law of thermodynamicsThe third law of thermodynamics
The third law of thermodynamics
 
Analisis basico-de-variable-compleja-jerrold-marsden
Analisis basico-de-variable-compleja-jerrold-marsdenAnalisis basico-de-variable-compleja-jerrold-marsden
Analisis basico-de-variable-compleja-jerrold-marsden
 
Como programar en_c
Como programar en_cComo programar en_c
Como programar en_c
 
Comandos ejemplo-matlab
Comandos ejemplo-matlabComandos ejemplo-matlab
Comandos ejemplo-matlab
 
Areas s2
Areas s2Areas s2
Areas s2
 

Metodos numericos

  • 1. Análisis Numérico Facultad de Ciencias Kay Tucci kay@ula.ve SUMA Facultad de Ciencias Universidad de Los Andes (ULA) ´ Merida, 5101 - VENEZUELA ´ ´ Analisis Numerico – p. 1/196
  • 2. Programa del Curso Fuente y propagación de errores Solución de ecuaciones no lineales de una variable Solución de sistemas de ecuaciones lineales Teoría de interpolación Integración numérica ´ ´ Analisis Numerico – p. 2/196
  • 3. Bibliografía y Materiales Bibliografía Kincaid D. & Cheney W. An Introduction to Numerical Analisys Atkinton Kendall E. An Introduction to Numerical Analisys Burden R. y Faires D. Analisis Numerico ´ ´ Trevisan M. C. Notas de Analisis Numerico ´ ´ Materiales http://www.matematica.ula.ve/publicaciones/index.html http://webdelprofesor.ula.ve/ciencias/kay Recomendaciones Generales ´ ´ Analisis Numerico – p. 3/196
  • 4. Algunos conceptos Problema numérico: Descripción precisa de la relación funcional entre un conjunto finito de datos de entrada y un conjunto finito de datos de salida. Algoritmo: secuencia ordenada y finita de pasos, excenta de ambigüedades, que seguidas en su orden lógico nos conduce a la solución de un problema específico Método numérico: Procedimiento para transformar un problema matemático en numérico y resolver este último ´ ´ Analisis Numerico – p. 4/196
  • 5. Pasos Generales El análisis numérico se utiliza generalmente cuando no se puede resolver el problema matemático, es decir hallar una relación funcional entre el conjunto de entrada y el de salida. Los pasos a seguir son: 1. Estudio teórico del problema: existencia y unicidad de la solución. 2. Aproximación: Crear una solución para un número finito de valores existencia y unicidad estabilidad y convergencia 3. Resolución: Elección de un algoritmo numérico Elección del algoritmo: Costo y estabilidad Codificación del algoritmo Ejecución del programa ´ ´ Analisis Numerico – p. 5/196
  • 6. Fuente y propagación de errores Sistemas numéricos Aritmética del computador Fuentes de errores Errores de redondeo y discretización Propagación de errores Estabilidad e inestabilidad numérica ´ ´ Analisis Numerico – p. 6/196
  • 7. Sistemas numéricos Los sistemas numéricos más antiguos son: Babilónico: base 60 Romano: (I, V, X, L, C, D y M) Hindú y árabe: decimal El extendido uso del sistema decimal oculta la existencia de otros sistemas numéricos: Binario: base 2 Octal: base 8 Hexadecimal: base 16 ... ´ ´ Analisis Numerico – p. 7/196
  • 8. Sistemas numéricos de posición Los sistemas númericos actuales, decimal, binario, octal, hexadecimal, entre otros; representan a los números reales mediante un sistema de posición con base b. n ±x = ±(an bn + an−1 bn−1 + an−2 bn−2 + . . . ) = ± ai bi ; i=−∞ donde, a es el valor absoluto del número real a representar, 0 ≤ ai ≤ b − 1 en el dígito que ocupa la posición i en a contadas a partir del punto decimal, positivos a la izquierda y negativos a la derecha; y n en la posición más a la izquierda ocupada por un dígito an = 0 Ambigüedades: a.ccccc · · · = a + 1 ; c=b−1 ´ ´ Analisis Numerico – p. 8/196
  • 9. Sistema numéricos de posición Conversión de base 10 a base b: convertir el número 12.312510 a base 2 1. Dividir, sucesivamente, la parte entera del número (1210 ), entre la nueva base (2), hasta obtener un cociente más pequeño que esta última (2), asignando sucesivamente los restos de la división entera a a0 = 0, a1 = 0, a2 = 1, a3 = 1. 1210 = 11002 2. Multiplicamos la parte fraccionaria del número decimal (0.312510 ) por la nueva base b (2), restando y asignando sucesivamente la parte entera del producto a a−1 = 0, a−2 = 1, a−3 = 0, a−4 = 1 0.312510 = 0.01012 12.312510 = 1100.01012 ´ ´ Analisis Numerico – p. 9/196
  • 10. El computador CPU PC CU Acum Memoria Principal Registros Instrucciones Registros ALU RAM ROM Cache Bus Control Bus Datos Cache Controlador Controlador Controlador Controlador Controlador I/O I/O I/O de Discos I/O Interfaz Entrada/Salida Memoria Secundaria ´ ´ Analisis Numerico – p. 10/196
  • 11. Sistema de numeración binario Utiliza solamente dos dígitos o símbolos: “0” y “1”, y su base es 2. Definiciones: bit: del ingles Binary digIT, representa un dígito binario. Ademas, el bit es la unidad mínima de información empleada en la teoría de la información. byte u octeto: Generalmente se refiere a 8 bits. Formalmente es una secuencia de bits contiguos, cuyo tamaño depende del código de información o de carácteres en que esté usando. ´ ´ Analisis Numerico – p. 11/196
  • 12. Sistema de numeración binario Nombre Abrev. Factor Valor kilo K 210 1024 mega M 220 1048576 giga G 230 1073741824 tera T 240 1099511627776 peta P 250 1125899906842624 exa E 260 1152921504606846976 zetta Z 270 1180591620717411303424 yotta Y 280 1208925819614629174706176 bronto B 290 1237940039285380274899124224 geop Ge 2100 1267650600228229401496703205376 ´ ´ Analisis Numerico – p. 12/196
  • 13. Sistema de numeración binario Existen variantes del sistema de numeración binario Binario puro: Solamente se pueden representar números no negativos Signo Magnitud: El bit más significativo representa el signo (0 = +) y (1 = −) y los restantes n − 1 bits representan el valor absoluto del número. Complemento a la Base Disminuida:En los números negativos cada dígito se escribe como [d]b = (b − 1) − (di )b Complemento a la Base: [N ]b de un número (N )b se define como: [N ]b = bn − (N )b , donde, n es el número de dígitos de (N )b ´ ´ Analisis Numerico – p. 13/196
  • 14. Sistema de numeración binario En 1985 la IEEE establece el Binary Floating Point Arithmetic Standard 754-1985, donde se establecen los formatos para representar números punto flotantes de precisión simple (32 bits) y doble (64 bits) Los números se distribuyen de forma exponencial en la recta real (−1)S 2E−127 (1 + 0.F ) | (−1)S 2E−1023 (1 + 0.F ) donde, S representa el bit de signo, E el exponente y F la parte fracción binaria del número. presición signo exponente mantisa simple 1 8 bits 10−39 ↔ 1038 23 bits 7 cifras dec. doble 1 11 bits 10−308 ↔ 10308 52 bits 16 cifras dec. ´ ´ Analisis Numerico – p. 14/196
  • 15. Desbordamiento Los resultados que en valor absoluto son menores que el valor mínimo que soporta el formato de representación son considerados underflows, mientras los que son mayores que el valor máximo permitido se consideran overflows. x ← 1 ; i ← 0 x ← 1 Repita i ← 0 | ant ← x Mientras (1 + x > 1 ) | i ← i + 1 | x ← x / 2 | x ← 2*x | i ← i + 1 | Escribir(i, ant, x) | Escribir(i, x) hasta(ant > x) ´ ´ Analisis Numerico – p. 15/196
  • 16. Fuentes de errores En los datos de entrada En los códigos Temperamento del computador: “El programa no quiere correr” Cuantización del sistema de numeración de redondeo o truncamiento: 2 1 − 3 = 0.6666666 − 0.6666667 = −0.0000001 3 2 Aproximación en los algoritmos: ∞ N xn ∼ xn ex = = n=0 n! n=0 n! ´ ´ Analisis Numerico – p. 16/196
  • 17. Errores relativo y absoluto Sea x∗ el valor aproximado de una cantidad x Error absoluto: |x∗ − x| x∗ −x Error relativo: x ,x = 0 m es una cota del error absoluto si: m > 0 y |x∗ − x| ≤ m x∗ −x m es una cota del error relativo si: m > 0 y x ≤ m, x = 0 ´ ´ Analisis Numerico – p. 17/196
  • 18. Cifras significativas Decimos que a es la representación normalizada de un número real no nulo x si x = ±0.a1 a2 a3 · · · × 10e , donde, a1 es un dígito del 1 al 9; ai , i = 2, 3, . . . , son dígitos del 0 al 9 y e ∈ Z es el exponente. a∗ aproxima a a con t decimales correctos si t es el mayor entero no negativo para el cual: |a∗ − a| ≤ 0.5 × 10−t a∗ aproxima a a con t cifras significativas si t es el mayor entero no negativo para el cual: |a∗ − a| < 0.5 × 10e−t donde, a∗ el valor aproximado de una cantidad a ´ ´ Analisis Numerico – p. 18/196
  • 19. Propagación de errores Sean x∗ , y ∗ los valores aproximados de x, y; y ǫx , ǫy ≪ 1 sus respectivos errores relativos. Suma / Resta : (x∗ ± y ∗ ) − (x ± y) x y ǫx±y = = ǫx ± ǫy x±y x±y x±y ´ Multiplicacion : (x∗ y ∗ ) − (xy) ǫxy = = ǫx + ǫy + ǫx ǫy ∼ ǫx + ǫy = xy ´ Division : (x∗ /y ∗ ) − (x/y) ǫx − ǫy ∼ ǫx/y = = = ǫx − ǫy x/y 1 + ǫy ´ ´ Analisis Numerico – p. 19/196
  • 20. Propagación de errores Para evitar la propagación rádida de los errores hay que tener en cuenta que en la aritmética del computador la propiedad asosiativa no se cumple. Resta de números muy parecidos √ −b + b2 − 4ac −2c x1 = = √ 2a b + b2 − 4ac Sumatorias largas de números 105 99 100 1 1 1 x= 5 ¯ xi = xi+100j 10 i=1 100 j=0 100 i=1 Ordenar los terminos de menor a mayor ´ ´ Analisis Numerico – p. 20/196
  • 21. Error total e iteraciones óptimas Generalmente en los algoritmos iterativos los errores de aproximación dependen del número de iteraciones N y pueden modelarse como, α ǫaprox ≃ β , N y los errores de redondeo dependen del precisión de la máquina ǫmaq y van como √ ǫred ≃ N ǫmaq Entonces, el error total ǫt viene dado por, α √ ǫt = ǫaprox + ǫred ≃ β + N ǫmaq N El número de iteraciones óptima se alcanza cuando ǫt sea mínimo ´ ´ Analisis Numerico – p. 21/196
  • 22. Cálculo del error Cómo se propagan el errores de los datos x cuando se calcula f (x) ∂f ( x) xi ǫf ∼ = |ǫxi | i xi f (x) Empíricamente, comparamos los valores calculados con N y 2N iteraciones. Cuando se alcanza el valor asimtótico y el error de redondeo no es significativo se tiene que, α fN (x) − f2N (x) ≃ β , N En un gráfico log10 (fN − f2N ) vs log10 (N ) esto es una recta. En la gráfica anterior, el punto No en el que cambia la pendiente indica aproximadamente el número óptimo de iteraciones, y el log10 (No ) aproxima al número de cifras significativas del resultado numérico. ´ ´ Analisis Numerico – p. 22/196
  • 23. Símbolos O y o Decimos que f es de orden O grande con respecto a g cuando x → a si existe una constante K > 0 tal que, f (x) ≤ K, g(x) para x = a en un entorno de a. Pondremos f = O(g) cuando x → a. Decimos que f es de orden o pequeña con respecto a g cuando x → a si, f (x) lim = 0. x→a g(x) Pondremos f = o(g) cuando x → a. ´ ´ Analisis Numerico – p. 23/196
  • 24. Símbolos O y o Ejemplo: f = O(1) cuando x → a significa que f (x) se mantiane acotada cuando x → a f = o(1) cuando x → a significa que f (x) tiende a cero cuando x→a Propiedades: Si f = o(1) cuando x → a entonces f = O(1) cuando x → a Si f = O(xn ) cuando x → 0 para algún n ∈ Z+ entonces f = O(xn−1 ) cuando x → 0 ´ ´ Analisis Numerico – p. 24/196
  • 25. Estabilidad y Condición Los algorítmos numéricos debe dar resultados precisos y exactos. Estabilidad: Un algoritmo es estable si cambios pequeños en los datos iniciales producen cambios pequeños en los resultados Condición: Algunos algoritmos son estables solamente para un conjunto de condiciones iniciales. Estos algoritmos son condicionalmente estables Crecimiento del error: Si ǫ0 denota el error inicial y ǫn el error despues de n iteraciones, decimos que el error crece: linealmente si ǫn ≈ knǫ0 exponencialmente si ǫn ≈ k n ǫ0 Hay que evitarlo Por lo general es inevitable el crecimiento lineal del error. ´ ´ Analisis Numerico – p. 25/196
  • 26. Ecuaciones no Lineales Introducción Método de bisección Método de la secante Método de Newton Métodos iterativos de un punto Raices múltiples Cálculo de raíces de polinomios ´ ´ Analisis Numerico – p. 26/196
  • 27. Ecuaciones no Lineales En las Matemáticas aplicada frecuentemente se debe hallar soluciones de la ecuación f(x) = 0 , donde, x ∈ Rn y f : Rn → Rm es una función no lineal. En particular, en este curso nos centraremos en la busqueda de las raices o ceros de funciones unidimensionales, m = 1, y monovaluadas n = 1; es decir, f (x) = 0 , donde, x ∈ R y f : R → R ´ ´ Analisis Numerico – p. 27/196
  • 28. Ecuaciones no Lineales Ecuaciones algebraicas: x2 − x + 2 = 0 x6 = x − 1 Ecuaciones tracendentes: x sin(x) − 2 =0 tan(x) = ex Sólo existen soluciones exactas en casos muy particulares y generalmente, se tendrán que utilizar métodos numéricos, en particular, metodos iterativos. ´ ´ Analisis Numerico – p. 28/196
  • 29. Metodo Iterativo Es aquel método numérico en el que partiendo de un valor x0 arbitrario, se calcula una sucesión x0 , x1 , x2 , . . . de forma recurrente, mediante una relacion de la forma xn+1 = g(xn ) , n = 0, 1, 2, . . . ; donde, xi ∈ R y g : R → R Los métodos iterativos también se utilizan en otros problemas numéricos y, en general, son muy poco vulnerables al crecimiento del error por redondeo Iteración: Los pasos que se dan, en un algoritmo, para calcular un iterado, xn+1 , a partir del iterado anterior, xn . ´ ´ Analisis Numerico – p. 29/196
  • 30. Orden de convergencia Sea {xn }∞ una sucesión que converge a α y ǫn = xn − α. n=0 Si existe una constante C ∈ (0, 1) tal que |ǫn+1 | lim =C, n→∞ |ǫn | entonce, la sucesión converge a α linealmente con una tasa o velocidad de convergencia C Si lo anterior ocurre para C = 0, entonces se dice que la sucesión converge superlinealmente. ´ ´ Analisis Numerico – p. 30/196
  • 31. Orden de convergencia Sea {xn }∞ una sucesión que converge a α y ǫn = xn − α. n=0 Si existe un p ≥ 1 y una constante C tal que |ǫn+1 | lim =C, n→∞ |ǫn |p entonce, {xn }∞ converge a α con orden p. n=0 En particular, la convergencia con orden p = 2 se le llama cuadrática y la con orden p = 3 cúbica En general los métodos que generen sucesiones con alto orden de convergencia se aproximan más rápidamente a la solución que aquellos que generen sucesiones con bajo orden. ´ ´ Analisis Numerico – p. 31/196
  • 32. Método de bisección Entrada: a, b, t, n Salida: c, ’error’ leer(a, b, t, n) i ← 1 y y=f(x) fa ← f(a) repita a3 c3 b3 | c ← a+(b-a)/2 | fc ← f(c) a2 c2 b2 | i ← i + 1 a1 c1 b1 |si (sign(fa)∗sign(fc)>0) a1= a2 c3 b2 = b3 | | fa ← fc ; a ← c | sino a= a1 c2= a3 c1= b2 b= b1 | | b ← c hasta (i≥n)∨(fc=0)∨(|b-a|/2≤t) si (fc=0)∨(|b-a|/2≤t) | escribir(c) sino | escribir(’error’) ´ ´ Analisis Numerico – p. 32/196
  • 33. Método de bisección Convergencia Como f (a)f (b) ≤ 0 sabemos que existe un α ∈ [a, b] tal que f (α) = 0. Partiendo del algoritmo y mediante inducción se puede ver que 1 1 bn+1 − an+1 = (bn − an ) y que bn − an = (b1 − a1 ) 2 2n−1 Como α ∈ [an , cn ] o α ∈ [cn , bn ] tenemos que 1 |cn − α| ≤ an − cn = cn − bn = (an − bn ) 2 Combinando las dos equaciones anteriores tenemos que 1 |cn − α| ≤ (b1 − a1 ) , n≥1 2n−1 Lo que implica que lim cn = α n←∞ 1 es decir, convergencia lineal, p = 1 con una velocidad de convergencia C = 2 ´ ´ Analisis Numerico – p. 33/196
  • 34. Método de bisección Comentarios del método de bisección: Hay que dar dos valores iniciales, uno a cada lado de la raiz que se está buscando. Esto es un problema, especialmente si no se tiene ninguna idea del comportamiento de la función o si esta presenta raices muy similares o múltiples. Errores de redondeo o de cuantificación pueden causar problemas cuando el intervalo de búsqueda se vuelve pequeño Al evaluar la función cerca de la raiz, f (x) ≈ 0, para el cálculo del cambio de signo, los errores por operar con números muy pequeños pueden hacerse presentes ´ ´ Analisis Numerico – p. 34/196
  • 35. Método de la posición falsa Entrada: a, b, t, n Salida: c, ’error’ leer(a, b, t, n) i ← 0; c ← a y y=f(x) fa ← f(a); fb ← f(b) repita a3 c3 b3 | i ← i + 1; ant ← c | c ← b-fb∗(b-a)/(fb-fa) a2 c2 b2 | fc ← f(c) a1 c1 b1 |si (sign(fa)∗sign(fc)>0) c3 b1 = b2 | | fa ← fc ; a ← c | sino a= a1 c1= a2 c2= a3 b= b1 b2 = b3 | | fb ← fc ; b ← c hasta (i≥n)∨(|c-ant|≤t) si (|c-ant|≤t) | escribir(c) sino | escribir(’error’) ´ ´ Analisis Numerico – p. 35/196
  • 36. Método de la posición falsa Convergencia Diferencias divididas: ´ Definicion: Sean a = b = c, f (b) − f (a) diferencia dividida de primer orden: f [a, b] = b−a f [b, c] − f [a, b] diferencia dividida de segundo orden: f [a, b, c] = c−a Propiedades: f [a, b] = f [b, a] f [a1 , a2 , a3 ] = f [ai , aj , ak ] con i = j = k y i, j, k ∈ {1, 2, 3} si f es continua en [a, b] y derivable en (a, b), existe ξ ∈ (a, b) tal que f [a, b] = f ′ (ξ) (Teorema del valor medio) si f ′ es derivable en (min(a, b, c), max(a, b, c)), existe η tal que f [a, b, c] = f ′′ (η) ´ ´ Analisis Numerico – p. 36/196
  • 37. Método de la posición falsa Convergencia Del método tenemos que: b−a c = b − f (b) , f (b) − f (a) donde el error se calcula como b−a 1 f ′′ (η) c−α= b−α− = (a − α)(b − α) ′ , η, ξ ∈ (a, b) f (b) − f (a) 2 f (ξ) Teorema: Sea f dos veces continuamente diferenciable en [a, b] con α la única raiz en [a, b]. Suponiendo que f (a)f (b) < 0, f ′ (α) = 0 y f ′′ no cambia de signo en [a, b]. Si ˛ ˛ ˛ ′′ ˛ ˛ω − α˛ ˛ f (x) ˛ C=˛ ˛ 2 ˛ maxx∈[a,b] ˛ f ′ (x) ˛ < 1 , con ω = a o ω = b , ˛ ˛ ˛ según sea caso del estremo del intervalo [a, b] que no se modifique, entonces el método converge linealmente. an+1 − α ≤ C(an − α) , si ω = b o bn+1 − α ≤ C(bn − α) , si ω = a ´ ´ Analisis Numerico – p. 37/196
  • 38. Método de la posición falsa Comentarios del método de la posición falsa: Hay que dar dos valores iniciales, uno a cada lado de la raiz que se está buscando. Esto es un problema, especialmente si no se tiene ninguna idea del comportamiento de la función o si esta presenta raices muy similares o múltiples. Si la función es convexa o cóncava en [a, b] uno de los extremos de intervalo no se moverá por lo que el método solamente aproxima a la raiz por uno de los lados. Al evaluar la función cerca de la raiz, f (x) ≈ 0, para el cálculo del cambio de signo, los errores por operar con números muy pequeños pueden hacerse presentes ´ ´ Analisis Numerico – p. 38/196
  • 39. Método de la secante Entrada: a, b, t, n Salida: c, ’error’ leer(a, b, t, n) y y=f(x) i ← 1 fa ← f(a) a3 b3 c3 fb ← f(b) repita b2 c2 a2 | c ← b-fb∗(b-a)/(fb-fa) a1 c1 b1 | i ← i + 1 b2= a3 c2= b3 b1= a2 | a ← b; fa ← fb | b ← c; fb ← f(c) a= a1 c1= b2 c3 b= b1 hasta (i≥n)∨(fc=0)∨(|b-a|/2≤t) si (fc=0)∨(|b-a|/2≤t) | escribir(c) sino | escribir(’error’) ´ ´ Analisis Numerico – p. 39/196
  • 40. Método de la secante Convergencia Del método tenemos que: b−a c = b − f (b) , f (b) − f (a) donde, usando diferencias divididas, el error se calcula como b−a 1 f ′′ (η) c−α= b−α− = (a − α)(b − α) ′ , η, ξ ∈ (a, b) f (b) − f (a) 2 f (ξ) sustituyendo c = xn+1 , b = xn , a = xn−1 tenemos que f ′′ (ηn ) ǫn+1 = ǫn ǫn−1 ′ 2f (ξn ) Teorema: Supongamos que f : R → R es una función C 2 en una vecindad de α para la cual f (α) = 0 y f ′ (α) = 0. Entonces si x0 y x1 se seleccionan suficientemente cerca de α las iteraciones del método de la secante convergen a α. Además, „ ′′ « √ ǫn+1 f (α) p−1 1+ 5 lim = , p= ≈ 1.62 n→∞ (ǫn )p 2f ′ (α) 2 ´ ´ Analisis Numerico – p. 40/196
  • 41. Método de la secante Demostración de la convergencia:Sea „ ′′ « f (x) M = max ∀ x ∈ I = [α − ǫ, α + ǫ] , ǫ > 0 2f ′ (x) y supongamos que x0 y x1 son escogidos de forma tal que δ = max{M |ǫ0 |, M |ǫ1 |} < 1 Como |ǫ2 | ≤ M |ǫ1 ||ǫ0 | tenemos que δ M |ǫ2 | ≤ M 2 |ǫ1 ||ǫ0 | ≤ δ 2 < δ < 1 =⇒ |ǫ2 | < <ǫ M Suponiendo que xi ∈ I , i = 1, 2, . . . , n, lo que significa que M |ǫi | < δ, entonces |ǫn+1 | ≤ M |ǫn ||ǫn−1 | δ M |ǫn+1 | ≤ M 2 |ǫn ||ǫn−1 | ≤ δ 2 < δ < 1 =⇒ |ǫn+1 | < <ǫ M lo que indica que xn ∈ I ∀ n ´ ´ Analisis Numerico – p. 41/196
  • 42. Método de la secante Demostración de la convergencia: M |ǫ0 | ≤ δ M |ǫ1 | ≤ δ M |ǫ2 | ≤ M |ǫ0 |M |ǫ1 | ≤ δ×δ = δ2 M |ǫ3 | ≤ M |ǫ1 |M |ǫ2 | ≤ δ × δ2 = δ3 M |ǫ4 | ≤ M |ǫ2 |M |ǫ3 | ≤ δ2 × δ3 = δ5 M |ǫ5 | ≤ M |ǫ3 |M |ǫ4 | ≤ δ3 × δ5 = δ8 . . . . . . . . . . . . . . . . . . . . . M |ǫn+1 | ≤ M |ǫn−1 |M |ǫn | ≤ δ qn−1 × δ qn = δ qn−1 +qn Se tiene que {qn } es la sucesión de Fibonacci cuya solución positiva es √ !n+1 1 1+ 5 qn = √ 5 2 ´ ´ Analisis Numerico – p. 42/196
  • 43. Método de la secante Demostración de la convergencia: Así que δ qn |ǫn | ≤ con δ < 1 , obtenemos que lim |ǫn | = 0 M n→∞ Como √ !n+1 √ 1 1+ 5 1+ 5 qn = √ , p= 5 2 2 entonces (δ qn )p = δ qn+1 y calculando la convergencia tenemos que 1 qn+1 1 qn+1 ǫn+1 δ δ lim M = lim ` 1 ´p = lim M = M p−1 n→∞ (ǫn )p n→∞ δ qn n→∞ 1 δ qn+1 M Mp ´ ´ Analisis Numerico – p. 43/196
  • 44. Método de la secante Comentarios del método de la secante: Hay que dar dos valores iniciales, a pesar de que no tienen que encerrar a la raiz que se está buscando, los puntos tienen que estar suficientemente cerca de la raiz para garantizar que el método converja. Si la derivada de la función, cerca de la raiz, tiene un valor muy alto el cálculo de b − a puede causar problemas por perdida de cifras significativas. De igual modo, si la derivada de la función, cerca de la raiz, tiene un valor muy bajo el cálculo de f (b) − f (a) puede causar problemas por perdida de cifras significativas ´ ´ Analisis Numerico – p. 44/196
  • 45. Método de Newton-Raphson Entrada: x, t, n y Salida: x, ’error’ y=f(x) leer(x, t, n) i ← 0 g (x)=f’(x i)(x − x ) + f(x ) i i i repita | i ← i + 1 | xa ← x | x ← xa - f(xa)/fp(xa) hasta (i≥n)∨(|x-xa|≤t) si (|x-xa|≤t) | escribir(x) sino x3 x0 f(x ) x1=x − f(x ) 0 | escribir(’error’) x2=x 1− 1 0 f ’(x ) f ’(x ) 1 0 ´ ´ Analisis Numerico – p. 45/196
  • 46. Método de Newton-Raphson Convergencia Del método de Newton-Raphson tenemos que f (xn ) xn+1 = xn − , n≥0 f ′ (xn ) Expandiendo a f (x) alrededor de xn : ′ (x − xn )2 ′′ f (x) = f (xn ) + (x − xn )f (xn ) + f (ξn ) , ξn ∈ [xn , x] o [x, xn ] 2 Para x = α, f (α) = 0 y dividiendo lo anterior entre f ′ (xn ) tenemos f (xn ) ′′ 2 f (ξn ) ′ (x ) + (α − xn ) +(α − xn ) =0 f n | {z } 2f ′ (xn ) | {z } ǫn −ǫn+1 Que es lo mismo que f ′′ (ξn ) ǫn+1 = ǫ2 n 2f ′ (xn ) ´ ´ Analisis Numerico – p. 46/196
  • 47. Método de Newton-Raphson Convergencia Teorema: Sea f ∈ C 2 [a, b]. Si α ∈ [a, b] es tal que f (α) = 0 y f ′ (α) = 0, entonces existe un ǫ > 0 tal que el método de Newton-Raphson genere una sucesión {xn }∞ n=1 que converge cuadráticamente a α para cualquier valor inicial x0 ∈ I = [α − ǫ, α + ǫ] Demostración: Definamos a ˛ ′′ ˛ 1 ˛ f (ξn ) ˛ M = max ˛ ′ ˛ f (x ) ˛ ˛ , y escojamos a x0 ∈ I tal que M |ǫ0 | < 1 2 x∈I n Sustituyendo en la ecuación de la sucesión {ǫn } tenemos |ǫ1 | ≤ (M |ǫ0 |)2 < |ǫ0 | ≤ ǫ , lo que implica que x1 ∈ I Ahora si suponemos que xn ∈ I y que M |ǫn | < 1 tenemos |ǫn+1 | ≤ (M |ǫn |)2 < |ǫn | ≤ ǫ , lo que implica que xn+1 ∈ I ´ ´ Analisis Numerico – p. 47/196
  • 48. Método de Newton-Raphson Demostración de la convergencia: De lo anterior concluimos que xn ∈ I , M |ǫn | < 1 ∀ n y M |ǫn+1 | ≤ (M |ǫn |)2 ≤ (M |ǫ0 |)2n obteniendo que |ǫn | = 0 cuando n → ∞ ya que M |ǫ0 | < 1, lo que equivale a lim xn = α n→∞ Además, ǫn+1 1 f ′′ (α) lim = n→∞ ǫ2 2 f ′ (α) n Es decir, el método tiene un orden de convergencia 1 f ′′ (α) p = 2 con C = 2 f ′ (α) ´ ´ Analisis Numerico – p. 48/196
  • 49. Método de Newton-Raphson Trampas Cambio de concavidad Raiz no real f ′′ (x) = 0 y y y=f(x) y=f(x) x4 x2 x0 x1 x3 x5 x0 x1 x2 x3 x4 x5 ´ ´ Analisis Numerico – p. 49/196
  • 50. Método iterativo de un punto Partiendo de la ecuación general f (x) = 0 , cuyas raices se quieren encontrar. Supongamos que α es una de sus raices y que existe otro valor x0 que no satisface la ecuación. f (α) = 0 , f (x0 ) = 0 Realizando algunas operaciones algebraicas transformaos la ecuación f (x) = 0 en g(x) = x , donde, g(x) es una nueva función que cumple con g(α) = α , g(x0 ) = x0 ´ ´ Analisis Numerico – p. 50/196
  • 51. Método iterativo de un punto Al evaluar un valor cualquiera x0 en g(x) obtenemos un nuevo valor x1 = g(x0 ) , donde, si el nuevo valor  x = x , encontramos la raiz x0 = α 1 0 x1 = x0 , es lo que generalmente pasa Si repetimos el proceso obtenemos x1 = g(x0 ) , x2 = g(x1 ) , . . . , xn = g(xn−1 ) ´ ´ Analisis Numerico – p. 51/196
  • 52. Método iterativo de un punto La sucesión {xn } converge a la raiz α si lim (xn − α) = 0 , es decir, lim xn = α n→∞ n→∞ Si la expresión anteriror es cierta, debe valer también para xn+1 lim (xn+1 − α) = 0 , y como xn tiende a α , lim (xn+1 − xn ) = 0 n→∞ n→∞ Es decir, cuando el número de iteraciones se vuelve muy grande la diferencia entre dos aproximaciones sucesivas xn y xn+1 de la raiz α debe aproximarse a cero. Esta condición es necesaria para que los procesos iterativos converjan a la raiz. ´ ´ Analisis Numerico – p. 52/196
  • 53. Método iterativo de un punto Entrada: x, t, n y g(x) se obtiene al transformar Salida: x, ’error’ y=g(x) f(x)=0 en g(x)=x leer(x, t, n) i ← 0 repita | i ← i + 1 y=f(x) | xa ← x | x ← g(xa) hasta (i≥n)∨(|x-xa|≤t) si (|x-xa|≤t) | escribir(x) x2=g(x1 ) x1=g(x0 ) sino | escribir(’error’) x0 x3 =g(x2 ) ´ ´ Analisis Numerico – p. 53/196
  • 54. Método iterativo de un punto y y y=g(x) y=g(x) x5 x4 x3 x2 x1 x0 x1 x3 x5 x4 x2 x0 Convergencia Monotónica Convergencia Oscilante y y y=g(x) y=g(x) x1 x2 x0 x1 x2 x3 x4 x5 x3 x0 x4 Divergencia Monotónica Divergencia Oscilante ´ ´ Analisis Numerico – p. 54/196
  • 55. Método iterativo de un punto Criterio de convergencia Del teorema del valor medio sabemos que g(xn ) − g(xn−1 ) = g ′ (ξn )(xn − xn−1 ) , donde, ξn ∈ región entre xn y xn−1 y g ′ (x) es la derivada de g(x). Como g(xn ) = xn+1 y g(xn−1 ) = xn podemos decir |xn+1 − xn | = |g ′ (ξn )||(xn − xn−1 )| Si suponemos que |g ′ (ξn )| ≤ M , es decir está acotada en el entorno de la raiz tenemos que |xn+1 − xn | ≤ M |xn − xn−1 | ≤ M 2 |xn−1 − xn−2 | ´ ´ Analisis Numerico – p. 55/196
  • 56. Método iterativo de un punto Criterio de convergencia Continuando con la sustitucion hasta el termino M |x1 − xo | tenemos |xn+1 − xn | ≤ M n |x1 − xo | Como sabemos que para que la serie converja xn+1 − xn debe tender a cero, entonces lim M n |x1 − xo | = 0 , n→∞ y como |x1 − xo | = 0 a menos que x0 = α tenemos que |g ′ (x)| ≤ M < 1 ∀ x en un entorno de α que contenga a x0 Es condición suficiente, más no necesaria, para la convergencia ´ ´ Analisis Numerico – p. 56/196
  • 57. Método iterativo de un punto Criterio de convergencia Teorema: Sea α una raiz de x = g(x), con la función g(x) p ≥ 2 veces continuamente diferenciable en un entorno de α. Además, supongamos que g (j) (α) = 0 ∀ j<p Si se elige a x0 suficientemente cerca de α el método iterativo de un punto converge a α con un orden de al menos p y se cumple ǫn+1 g (p) (α) lim p = n→∞ ǫn p! ´ ´ Analisis Numerico – p. 57/196
  • 58. Método iterativo de un punto Criterio de convergencia Demostración: Expandiendo a g(xn ) con una serie de Taylor alrededor de α tenemos ′ (xn − α)p−1 (p−1) (xn − α)p (p) xn+1 = g(α)+(xn −α)g (α)+· · ·+ g (α)+ g (ξn ) , (p − 1)! (p)! con ξn entre xn y α. Como g (j) (α) = 0∀j < p y g(α) = α, obtenemos (xn − α)p (p) xn+1 − α = g (ξn ) (p)! Como el método converge por ser g ′ (α) = 0 < 1, xn → α y por lo tanto xn+1 − α ǫn+1 g (p) (α) lim = lim p = n→∞ (xn − α)p n→∞ ǫn p! ´ ´ Analisis Numerico – p. 58/196
  • 59. Método iterativo de un punto Raices múltiples: Cuando un método iterativo se aproxima a una raiz de f (x) el orden de convergencia del método se pierde cuando la raiz es múltiple. Definición: Decimos que α es un cero de multiplicidad m de f (x) si f (x) = (x − α)m q(x) ∀x = α , donde, lim q(x) = 0 x→α Esencialmente q(x) representa la parte de f (x) que no contribuye al cero de la función. Teorema: La función f ∈ C m [a, b] tiene un cero de multiplicidad m en α ∈ (a, b) ssi f (j) (α) = 0 ∀ j < m y f m (α) = 0 ´ ´ Analisis Numerico – p. 59/196
  • 60. Método iterativo de un punto Raices múltiples: Para resolver este problema se define una función f (x) (x − α)m φ(x) = ′ f (x) m(x − α)m−1 q(x) + (x − α)m q ′ (x) q(x) φ(x) = (x − α) mq(x) + (x − α)q ′ (x) que tiene un único cero en α, ya que q(α) = 0 Luego, aplicamos algún método iterativo usando φ(x) como sustituta de f (x). Por ejemplo para el método de Newton-Raphson tendríamos que φ(x) f (x)f ′ (x) g(x) = x − ′ =x− 2 φ (x) (f ′ (x)) − f (x)f ′′ (x) Note que se requiere evaluar también a f ′′ (x) ´ ´ Analisis Numerico – p. 60/196
  • 61. 2 ∆ de Aitken El método ∆2 de Aitken sirve para acelerar la convergencia lineal de una sucesión {xn }∞ a su límite α. Para valores suficientemente n=0 grandes de n tenemos que xn+1 − α xn+2 − α (xn+1 − xn )2 ≈ → α ≈ xn − xn − α xn+1 − α xn+2 − 2xn+1 + xn Teorema: Sea una sucesión que converge a α. La sucesión {yn }, definida por (xn+1 − xn )2 yn+1 = xn − xn+2 − 2xn+1 + xn converge a α más rapidamente que la sucesión {xn }, esto es yn − α lim =0 n→∞ xn − α ´ ´ Analisis Numerico – p. 61/196
  • 62. 2 ∆ de Aitken Demostración: Sustituyendo en la definición los términos xn = ǫn + α tenemos: ǫn ǫn+2 − ǫ2 n+1 yn = α + ǫn+2 − 2ǫn+1 + ǫn Por su parte, xn+1 − α = η (xn − α) +δn (xn − α) ǫn+1 ǫn ǫn con xn+1 − α lim =η , |η| < 1 y lim δn = 0 ; n→∞ xn − α n→∞ ´ ´ Analisis Numerico – p. 62/196
  • 63. 2 ∆ de Aitken Demostración: entonces ǫn+1 = (η + δn )ǫn y ǫn+2 = (η + δn+1 )(η + δn )ǫn Sustituyendo esto último en la definición (η + δn+1 )(η + δn ) − (η + δn )2 yn − α = ǫn (η + δn+1 )(η + δn ) − 2(η + δn ) + 1 por lo que yn − α (η + δn+1 )(η + δn ) − (η + δn )2 lim = =0 n→∞ xn − α (η + δn+1 )(η + δn ) − 2(η + δn ) + 1 ´ ´ Analisis Numerico – p. 63/196
  • 64. Método de Steffensen Resolviendo el problema f (x) + x = x y dado x0 , se calculan (x1 − x0 )2 x1 = f (x0 ) + x0 , x2 = f (x1 ) + x1 , y1 = x0 − x2 − 2x1 + x0 para calcular x3 no utilizamos el valor de x2 como lo hariamos con el método de punto fijo, sino usamos ∆2 -Aitken ya que suponemos que y1 es una mejor aproximación de la raiz que x2 , x3 = y1 , x4 = f (x3 ) + x3 , x5 = f (x4 ) + x4 (x4 − x3 )2 y2 = x3 − x5 − 2x4 + x3 y así sucesivamente ´ ´ Analisis Numerico – p. 64/196
  • 65. Método de Steffensen En la n-esima iteración tendremos que x3n = yn , x3n+1 = f (x3n ) + x3n , x3n+2 = f (x3n+1 ) + x3n+1 , (x3n+1 − x3n )2 yn+1 = x3n − x3n+2 − 2x3n+1 + x3n Sustituyendo para usar la sucesión {yn }∞ n=1 (f (yn ) + yn − yn )2 yn+1 = yn − f (f (yn ) + yn ) + f (yn ) + yn − (f (yn ) + yn ) + yn Simplificando y aplicando en método de punto fijo a yn tenemos (f (yn ))2 g(xn ) = yn − f (f (yn ) + yn ) − f (yn ) ´ ´ Analisis Numerico – p. 65/196
  • 66. Método de Steffensen Entrada: x, t, n Salida: x, ’error’ leer(x, t, n) i ← 0 repita | i ← i + 1 | fx ← f(x) | y ← x - (fx∗fx / (f(fx + x) - fx)) | epsilon ← |x-y| | x ← y hasta (i≥n)∨(epsilon ≤ t) si (epsilon≤t) | escribir(x) sino | escribir(’error’) ´ ´ Analisis Numerico – p. 66/196
  • 67. Método iterativo de un punto Comentarios: A medida que |g ′ (x)| sea más cercana a cero la sucesión {xn } coverge a α más rapidamente. f (xn ) Newton-Raphson g(xn ) = xn − f ′ (xn ) Secante (Método iterativo de dos puntos) xn − xn−1 g(xn , xn−1 ) = xn − f (xn ) f (xn ) − f (xn−1 ) Steffensen: Si se resuelve el problema x = f (x) + x entonces (f (xn ))2 g(xn ) = xn − f (f (xn ) + xn ) − f (xn ) ´ ´ Analisis Numerico – p. 67/196
  • 68. Raices de polinomios Sea P (x) = an xn + an−1 xn−1 + · · · + a1 x + a0 , an = 0 Teorema fundamental del álgebra: Si P (x) es un polinomio de grado m ≥ 1 con coeficientes reales o complejos, entonces existe al menos un valor α ∈ R o C tal que P (α) = 0 Corolario: Existen un conjunto de constantes únicas {α1 , α2 , · · · αk } ∈ R o C y un conjunto {β1 , β2 , · · · βk } ∈ N+ tales que k P (x) = an (x − α1 )β1 (x − α2 )β2 · · · (x − αk )βk y m= βi i=1 Corolario: Sean P (x) y Q(x) polinomios de grado m. Si existe un conjunto de n > m valores distintos {x1 , x2 , · · · xn }, tales que P (xi ) = Q(xi ) ∀ xi entonces P (x) = Q(x) ∀ x ´ ´ Analisis Numerico – p. 68/196
  • 69. Evaluación de polinomios División sintética o regla de Ruffini: al evaluar P (x) = 3x3 − 4x2 − 7x + 1 , ralizaremos 2 multiplicaciones para calcular x3 y x2 más 3 multiplicaciones entre los coeficientes y las potencias de x, además realizamos 3 sumas o restas de los términos del polinomio. En general, para un polinomio de grado m se realizarían (2m − 1) multiplicaciones y m sumas o restas. Si escribimos el polinomio de la siguiente forma P (x) = ((3x − 4) x − 7) x + 1 , Reducimos el número de multiplicaciones a 3, manteniendo el número de sumas y restas en 3. ´ ´ Analisis Numerico – p. 69/196
  • 70. Evaluación de polinomios División sintética: En general, si un polinomio de grado m se representa en la forma m P (x) = ai xi , i=0 se realizarían (2m − 1) multiplicaciones y m sumas o restas para evaluarlo. En cambio si se representa como P (x) = (· · · ((am x + am−1 ) x + am−2 )) · · · ) x + a0 , realizaremos solamente m multiplicaciones y m sumas o restas; ¿Cuál es la principal ventaja de reducir el número de operaciones? ´ ´ Analisis Numerico – p. 70/196
  • 71. Evaluación de polinomios División sintética Para evaluar el polinomio P (x) = 3x3 − 4x2 − 7x + 1 , en x=2 ¯ b3 = a3 x= 2 3 −4 −7 1 x 2 x 3=6 b2 = a2 + a3 x ¯ 6 + −4 + 6 = 2 = a2 + b3 x ¯ 3 2 2 x 2=4 b1 = a1 + (a2 + a3 x)¯ ¯x −7 + 4 = −3 = a1 + b2 x ¯ x= 2 3 −4 −7 1 2 x −3 = −6 b0 = a0 + · · · 6 4 −6 1 + −6 = −5 = P(x) = a0 + b1 x ¯ 3 2 −3 −5 = P(x) = P (¯) x ´ ´ Analisis Numerico – p. 71/196
  • 72. Evaluación de polinomios División sintética Para un polinomio de grado m, cuyos coeficientes son am , am−1 , . . . , a1 , a0 tenemos bm = am , bi = ai + bi+1 x , i = (m − 1), (m − 2), . . . , 1, 0 , ¯ donde, el último término que se calcula, b0 = P (¯) x El nombre división sintética viene del hecho de que los números bm , bm−1 , . . . , b1 representan los coeficientes de otro polinomio N umerador m−1 i P (x) b0 Q(x) = bi+1 x = − i=0 (x − x) ¯ x−x ¯ Denominador Resto Cociente ´ ´ Analisis Numerico – p. 72/196
  • 73. Evaluación de polinomios División sintética Algoritmo de un subprograma que recibe un arreglo a[0..m] Entrada: a, m, x con los coeficientes del polino- Salida: b mio P (x), su grado m y el valor divSintetica(a, m, x, b) donde se quiere evaluar x y re- | b[m] ← a[m] torna el arreglo b[0..m] con el | para i← m-1 hasta 0 resultado de la evaluacion en su | | b[i] ← a[i] + b[i+1] ∗ x primer campo b[0], y los coe- ficientes de polinomio Q(x) en el resto de sus campos, b[1], b[2], . . . , b[m] ´ ´ Analisis Numerico – p. 73/196
  • 74. Método de Horner De lo anterior tenemos que P (x) b0 = Q(x) + x−x ¯ x−x ¯ Multiplicando por (x − x) obtenemos ¯ P (x) = Q(x)(x − x) + b0 ¯ La derivada de lo anterior es P ′ (x) = Q′ (x)(x − x) + Q(x) ¯ y evaluando la derivada en x = x obtenemos ¯ P ′ (¯) = Q(¯) x x ´ ´ Analisis Numerico – p. 74/196
  • 75. Método de Horner Se utiliza para calcular raices de polinomios con el método de Newton-Raphson. Mediante la división sintética se calcula P ′ (x) = Q(x) y se evalua en un valor dado a P (x) y Q(x) Entrada: a, m, x A medida que se hace la división Salida: b, px, qx sintética para evaluar a P (x) en horner(a, m, x, b, px, qx) x, se obtienen los coeficientes | b[m-1] ← a[m] de Q(x) que son usados dentro | qx ← a[m] la misma iteración para evaluar | para i ← m-1 hasta 1 Q(x) en x. | | b[i-1] ← a[i] + b[i] ∗ x Al finalizar obtenemos | | qx ← b[i] + qx ∗ x | px ← a[0] + b[0] ∗ x px = P (x) , qx = Q(x) = P ′ (x) ´ ´ Analisis Numerico – p. 75/196
  • 76. Método de Horner Si el método obtiene una aproximación a una raiz P (α1 ) ≈ 0, entonces P (x) = (x − α1 )Q1 (x) + P (α1 ) ≈ (x − α1 )Q1 (x) Este proceso se llama deflación. Si aplicamos la deflación a Q1 (x) tendremos una aproximación a una nueva raiz Q1 (α2 ) ≈ P (α2 ) ≈ 0, y si lo repetimos k = m − 2 veces se podría tener P (x) ≈ (x − α1 )(x − α2 ) · · · (x − αk )Qk (x) , donde, Qk (x) es un polinomio de grado 2, cuyas raices se pueden calcular usando una expresión analítica. ´ ´ Analisis Numerico – p. 76/196
  • 77. Método de Horner Entrada: m, a, x, t, n | | escribir(x) Salida: Las m raices de P (x) | | deflacion(m-1, b, x, deflacion(m, a, x, t, n) | | t, n) si (m > 2) | sino | i ← 0 | | escribir(’error’) | repita sino | | i ← i + 1 | d=sqrt(a[1]∗a[1] | | xa ← x | - 4∗a[2]∗a[0]) | | horner(a, m, xa, | si(d ≥ 0) | | b, px, qx) | | escribir((-a[1] ± d) | | x ← xa - px/qx | | /(2∗a[2]) | hasta (i≥n)∨(|x-xa|≤t) El subprograma deflacion debe | si (|x-xa|≤t) ser llamado por otro programa. ´ ´ Analisis Numerico – p. 77/196
  • 78. Método de Horner Comentarios del método: Una raiz aproximada αi , más que una aproximación a una raiz de P (x), es efectivamente una aproximación a una raiz de Qi−1 (x) que a su vez se obtiene iterativamente mediante la deflación aproximada de P (x). Esto trae como consecuencia que a medida que i aumenta los errores se acumulan y las aproximaciones αi a los valores reales de las raices,en general, serán cada vez peores. Por lo general los polinomios tiene raices complejas. Para calcularlas utilizando este método (Newton-Raphson) hay que operar usando números complejos. Las raices múltiples se van encontrando una a una. ´ ´ Analisis Numerico – p. 78/196
  • 79. Método de Müller Teorema: Si z = β + γi es una raiz compleja de multiplicidad ν del polinomio P (x) entonces z = β − γi también es una raiz de multiplicidad ν de P (x) y el polinomio D(x) = (x2 − 2βx + β 2 + γ 2 )ν es un factor de P (x), es decir, P (x) = Q(x) D(x) Con este resultado podemos pensar en generalizar la división sintética para que los términos sean polinomios cuadráticos. El método de Müller se basa sobre esta idea, pero a diferencia del método de Horner también permite calcular las raices complejas del polinomio. En cambio de aproximar a la función con una recta, como en el método de la secante, se aproxima usando un polinomio cuadrático ´ ´ Analisis Numerico – p. 79/196
  • 80. Método de Müller Sean x0 , x1 y x2 los tres puntos iniciales del método y D(x) = a(x − x2 )2 + b(x − x2 ) + c que pasa por (x0 , P (x0 )), (x1 , P (x1 )) y (x2 , P (x2 )), tenemos que √ b2 − 4ac −b ± D(x − x2 ) = 0 ⇒ x − x2 = 2a Para evitar problemas de errores por la resta de números parecidos y seleccionando el valor de x3 = x tal que sea la raiz más cercana a x2  2c −1, si b < 0 x3 = x2 − √ , sig(b) = b + sig(b) b 2 − 4ac  1, si b ≥ 0 ´ ´ Analisis Numerico – p. 80/196
  • 81. Método de Müller Como P (x0 ) = a(x0 − x2 ) + b(x0 − x2 ) + c P (x1 ) = a(x1 − x2 ) + b(x1 − x2 ) + c P (x2 ) = a(x2 − x2 ) + b(x2 − x2 ) + c = c resolviendo el sistema de tres equaciones obtenemos (x0 −x2 )(P (x1 )−P (x2 ))−(x1 −x2 )(P (x0 )−P (x2 )) a = (x0 −x2 )(x1 −x2 )(x0 −x1 ) P (x0 )−P (x2 ) (x0 − x2 )(P (x1 ) − P (x2 )) − (x1 − x2 )(P (x0 ) − P (x2 )) b = (x0 −x2 ) − (x1 − x2 )(x0 − x1 ) | {z } a(x0 −x2 ) c = P (x2 ) En general podemos tener 2c xn+1 = xn − √ b + sig(b) b2 − 4ac ´ ´ Analisis Numerico – p. 81/196
  • 82. Método de Müller Entrada: x0,x1,x2,t,n Salida: x2, ’error’ y D(x) = a(x−x3)2+ b(x−x ) + c 3 leer(x0,x1,x2,t,n) y=f(x) repita D(x) = a(x−x2)2+ b(x−x ) + c | c ← P(x2) 2 | P02 ← P(x0)-c ; x02 ← x0-x2 | P12 ← P(x1)-c ; x12 ← x1-x2 | a ← (x02∗P12 - x12∗P02) | /(x02∗x12∗(x0-x1)) x0 x1 x2 x3 x4 x5 | b ← P02/x02 - a∗x02 | x0 ← x1 D(x) = a(x−x4)2+ b(x−x ) + c 4 | x1 ← x2 | x2 = x2 - 2∗c/(b + sig(b) | ∗sqrt(b∗b - 4∗a∗c)) Nota: x0, x1 y x2 son variables complejas. En hasta (i≥n)∨(|x2-x1|≤t) caso de que el lenguaje no las soporte hay que si (|x2-x1|≤t) escribir(x2) modificar el algoritmo sino escribir(’error’) ´ ´ Analisis Numerico – p. 82/196
  • 83. Algebra Lineal Introducción Métodos Directos Métodos Iterativos Regla de Crammer Refinamiento iterativo Eliminación Gaussiana Jacobi Factorización LU Gauss-Seidel Factorización de Cholesky Errores y Convergencia Matrices tridiagonales Aceleración S.O.R. Normas y errores ´ ´ Analisis Numerico – p. 83/196
  • 84. Algebra Lineal Numérica Los problemas más importantes que son atacados con el álgebra lineal númerica son: Resolución de sistemas de ecuaciones lineales Cálculo de valores propios Ajuste de rectas El problema básico se puede resumir en Ax = b , donde, A es una matriz n × n, y x y b son dos vectorer columna n × 1, siendo A y b conocidos ´ ´ Analisis Numerico – p. 84/196
  • 85. Regla de Cramer det(Ai ) xi = , det(A) donde, Ai es la matriz A con la i-esima columna remplazada por b Número de operaciones para el cálculo de cada determinante se requieren (n − 1)n! multiplicaciones y (n! − 1) sumas evaluar (n + 1) determinantes realizar n divisiones En total son (n2 + n)n! − 1 operaciones ´ ´ Analisis Numerico – p. 85/196
  • 86. Eliminación de Gauss transformar mediante operaciones lineales entre filas a Ax = b en Lx = c o en Ux = d , donde, L U 2 3 2 3 l11 0 0 ··· 0 u11 u12 ··· u1n−1 u1n 6 7 6 7 6 l l22 0 ··· 0 7 6 0 u22 ··· u2n−1 u2n 7 6 21 7 6 7 6 7 6 7 6 . . .. .. . 7 6 . .. .. . . 7 6 . . . . . 7 6 . . . . . 7 6 . . . 7 6 . . . 7 6 7 6 7 6 ln−11 4 ln−12 ··· ln−1n−1 0 7 5 6 4 0 ··· 0 un−1n−1 un−1n 7 5 ln1 ln2 ··· lnn−1 lnn 0 ··· 0 0 unn Triangular Inferior Triangular Superior ´ ´ Analisis Numerico – p. 86/196
  • 87. Eliminación de Gauss Sustitución hacia atrás Triangular Inferior Triangular Superior x1 = c1 /l11 xn = dn /unn i−1 n xi = (ci − j=1 lij xj )/(lii ) xi = (di − j=i+1 uij xj )/(uii ) i = 2, 3, . . . , n i = n − 1, n − 2, . . . 1 Para obtener, por ejemplo, la matriz U y el vector d a partir de A y b se procede de la siguiente forma sobre la matriz ampliada à = A|b (1) (0) (0) (0) (0) aij = aij − a1j ai1 /a11 , i = 2, 3, . . . , n , j = 1, 2, . . . , n + 1 ; (1) donde, aij es el elemento que está en la fila i, columna j de à luego (0) de aplicarle una transformación y aij es el elemento original. ´ ´ Analisis Numerico – p. 87/196
  • 88. Eliminación de Gauss Note que ai1 = 0 ∀ i > 1. En este paso a a11 se le conoce como el pivote. Para acomodar la segunda columna de à usamos a a22 como pivote (2) (1) (1) (1) (1) aij = aij − a2j ai2 /a22 , i = 3, 4, . . . , n , j = 2, 3, . . . , n + 1 ; Repitiendo este proceso para tenemos que (k) (k−1) (k−1) (k−1) (k−1) aij = aij − akj aik /akk , con k = 1, 2 . . . , n − 1 , i = k + 1, k + 2, . . . , n , j = k, k + 1, . . . , n + 1 ; (k−1) donde, akk es el pivote de la k-esima transformación ´ ´ Analisis Numerico – p. 88/196
  • 89. Eliminación de Gauss Asi que  (0) (0) (0) (0)   (0)  a11 a12 a13 ··· a1n a1n+1  (1) (1) (1)   (1)    0 a22 a23 ··· a2n     a2n+1    (2) (2)   (2)  U =  0 0 a33 ··· a3n  d=   a3n+1    . . . . .. .. . .   . .    . . . . .     .   (n−1) (n−1) 0 0 ··· 0 ann ann+1 Note que para que la eliminación de Gauss funcione todos los n − 1 (k−1) pivotes akk tienen que ser distintos de cero. Pero en la práctica esto no es todo, porque pivotes pequeños pueden provocar que el error de redondeo aumente ´ ´ Analisis Numerico – p. 89/196
  • 90. Eliminación de Gauss Crecimiento del error por pivotes pequeñosa      0.0004 1.402 x 1.406 0.4003   1  =   , = 1001 0.4003 −1.502 x2 2.501 0.0004 Aplicando la eliminación de Gauss tenemos que      0.0004 1.402 x 1.406   1  =   0 −1405 x2 −1404 de donde se obtiene que −1404 1.406 − 1.402 × 0.9993 x2 = = 0.9993 y x1 = = 12.5 −1405 0.0004 a ´ usando aritmetica de punto flotante de cuatro cifras decimales ´ ´ Analisis Numerico – p. 90/196
  • 91. Eliminación de Gauss 4 3 Soluci´n exacta o 2 x2 1 x 0 −1 Soluci´n aproximada o −2 0 5 10 15 20 x1 ´ ´ Analisis Numerico – p. 91/196
  • 92. Eliminación de Gauss Crecimiento del error por pivotes pequeñosa Si ahora usamos la eliminación de Gauss con una matriz L tenemos      0.0004 1.402 x 1.406 1.402   1  =   , = −0.9334 0.4003 −1.502 x2 2.501 −1.502 Aplicando la eliminación de Gauss tenemos que      0.374 0 x 3.74   1  =   de donde se obtiene que 0.4003 −1.502 x2 2.501 3.74 2.501 − 0.4003 × 10 x1 = = 10 y x1 = =1 0.374 −1.502 a ´ usando aritmetica de punto flotante de cuatro cifras decimales ´ ´ Analisis Numerico – p. 92/196
  • 93. Eliminación de Gauss Estrategias de pivoteo Pivoteo Parcial: Se escoje r tal que (k−1) (k−1) ark = max ( aik ) k≤i≤n luego se intercambian la fila k con la fila r Menos efectivo, menos costoso, más usado Pivoteo Total: Se escoje r y s tales que (k−1) a(k−1) = max ( aij rs ) k≤i,j≤n Se intercambian la fila k con la r y la columna k con la s Más efectivo, más costoso, menos usado ´ ´ Analisis Numerico – p. 93/196
  • 94. Eliminación de Gauss Entrada: n, A[n,n+1] Salida: Las x[n] | | m ← A[f[i],k]/A[f[k],k] gauss(n, A, x) | | para j ← k hasta n+1 para k ← 1 hasta n | | | A[f[i],j] ← A[f[i],j] | f[k] ← k | | | - m∗A[f[k],j] para k ← 1 hasta n-1 si A[f[n],n] = 0 | r ← k | escribir("Singular") | para i ← k+1 hasta n x[n] ← A[f[n],n+1]/Af[n],n] | | si (A[i,k] > A[r,k] para i ← n-1 hasta 1 | | | r ← i | x[i] ← 0 | | si A[r,k] = 0 | para j ← i+1 hasta n | | | escribir("Singular") | | x[i] ← x[i] | | | retornar | | + A[f[i],j]∗x[j] | | si (k = r) | x[i] ← (A[f[i],n+1] | | | aux ← f[k] | - x[i])/A[f[i],i] | | | f[k] ← f[r] retornar | | | f[r] ← aux ´ ´ Analisis Numerico – p. 94/196
  • 95. Eliminación de Gauss Comentarios El número de operaciones es aproximadamente 2 n2 3 Si se quieren resolver varios sistemas con la misma matriz A la matriz ampliada será à = A|b1 |b2 | · · · Para el cálculo de la inversa de la matriz A aplicamos el método de la eliminación de Gauss a la matriz ampliada à = A|I, donde I es la matriz identidad El determinante de A se puede calcular a partir de la diagonal de la matriz triangular n (k−1) det(A) = (−1)s akk , k=1 donde s es el número de intercambios de filas realizados por las estrategia de pivoteo parcial ´ ´ Analisis Numerico – p. 95/196
  • 96. Factorización LU Si la matriz A se usa varias veces es conveniente factorizarla usando una matriz triangular inferior L y una triangular superior U A = LU ; Ax = b ⇒ Ly = b , Ux = y Donde, conocidas L y U se requieren n2 operaciones para resolver el sistema Ax = b 2 3 1 0 0 0 ··· 0 6 7 6 l21 1 0 0 ··· 0 7 6 7 8 > a(k−1) 6 7 6 l 6 31 l32 1 0 ··· 0 7 7 < ik (k−1) , si i ≥ k L= 6 . .. .. . 7 , lik = akk 6 6 . . . . . . 7 7 :0 > , si i < k 6 7 6 7 6 ln−11 4 ln−12 ··· ln−1n−2 1 0 7 5 ln1 ln2 ln3 ··· lnn−1 1 ´ ´ Analisis Numerico – p. 96/196
  • 97. Factorización LU  (0) (0) (0) (0)  a11 a12 a13 ··· a1n (k) aij = aij (k−1) − lik akj (k−1)  (1) (1) (1)    0 a22 a23 ··· a2n   (2) (2) U=   0 0 a33 ··· a3n   , k = 1, 2, . . . , n − 1   . . . . .. .. . .    . . . . .  0 0 ··· 0 (n−1) ann i, j = k + 1, k + 2 . . . n Teorema: La factorización LU de una matriz A no singular en única. n (k−1) Corolario: det(A) = det(LU) = det(L) det(U) = k=1 akk Si se utilizan estrategias de pivoteo parcial o total, la factorización LU será de la matriz permutada PA donde la matriz P, llamada matriz de permutación, es el resultado de realizar las permutaciones hechas en A en la matriz identidad I ´ ´ Analisis Numerico – p. 97/196
  • 98. Método de Cholesky Si la matriz A es simétrica y definida positiva no es necesario aplicar estrategias de pivoteo Teorema de Cholesky: Sea A una matriz simétrica definida positiva. Entonces existe una única matriz triangular inferior L con lii = 0 tal que A = LLT A es simétrica si: A = AT , aij = aji ∀ i, j A−1 , si existe es simétrica Las submatrices principales de A son simétricas ´ ´ Analisis Numerico – p. 98/196
  • 99. Método de Cholesky A es definida positiva si: xT Ax > 0 ∀ x=0 aii > 0 ∀ i Las submatrices principales son AT es definida positiva definidas positivas A−1 siempre existe det(A) > 0 A−1 es definida positiva Los menores principales son positivos Una matriz simétrica es definida positiva si y solo si todos sus menores principales son positivos (Teorema de Sylvester) Para la demostración del teorema de Cholesky ver las notas del curso "Análisis Numérico", de la Prof. María C. Trevisan. http://www.matematicas.ula.ve/publicaciones/guias/cursonum.pdf ´ ´ Analisis Numerico – p. 99/196
  • 100. Método de Cholesky El método requiere n3 /3 operaciones, la mitad de las 2n3 /3 operaciones requeridas para la factorización LU Se deben calcular n raices cuadradas Los elementos lii de L pueden ser diferente de 1 Si se quiere eliminar el cálculo de las n raices cuadradas se puede modificar la factorización a A = LDLT , donde, i−1 2 lii = 1 , li1 = ai1 y lij = aij − ljk dkk /dii k=1 y D es una matriz diagonal con i−1 2 d11 = a11 y dii = aii − lij djj j=1 ´ ´ Analisis Numerico – p. 100/196
  • 101. Método de Cholesky Entrada: n, A[n,n],b[n] Salida: Las x[n] cholesky(n, A, b x) para i ← 1 hasta n para i ← 1 hasta n | y[i] ← b[i] | para j ← 1 hasta i-1 | para j ← 1 hasta i-1 | | v[j] = l[i,j]∗d[j] | | y[i] ← y[i] | d[i] ← A[i,i] | | - l[i,j]∗y[j] | para j ← 1 hasta i-1 para i ← 1 hasta n | | d[i] ← d[i] | z[i] ← y[i]/d[i] | | - l[i,j]∗v[j] para i ← n hasta 1 | para j ← i+1 hasta n | x[i] ← z[i] | | l[i,j] ← A[j,i] | para j ← i+1 hasta n | | para k ← 1 hasta i-1 | | x[i] ← x[i] | | | l[i,j] ← l[i,j] | | - l[j,i]∗x[j] | | | - l[j,k]∗v[k] retornar | | l[i,j] ← l[j,k]/d[i] ´ ´ Analisis Numerico – p. 101/196
  • 102. Matrices Tridiagonales   a11 a12 0 0 ··· 0    a21 a22 a23 0 ··· 0     .. . .   0 a32 a33 a34 . .  A= .    . .. .. .. ..   . . . . . 0      0 0 an−1n−2 an−1n−1 an−1n  0 ··· 0 0 ann−1 ann Si la matriz A es no singular entonce podemos factorizarla A = LU , donde, ´ ´ Analisis Numerico – p. 102/196