13.07.2015 Views

Introducción al análisis numérico - OCW Universidad de Cantabria

Introducción al análisis numérico - OCW Universidad de Cantabria

Introducción al análisis numérico - OCW Universidad de Cantabria

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong>Javier Segura<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>Cálculo Numérico I. Tema 1Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 1 / 25


Contenidos:1 Sistemas <strong>de</strong> números y conversiones2 Errores, condición y estabilidad3 Eficiencia. Un ejemplo: el método <strong>de</strong> HornerJavier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 2 / 25


Sistemas <strong>de</strong> números y conversionesEstructura <strong>de</strong> la presentación:1 Sistemas <strong>de</strong> números y conversiones2 Errores, condición y estabilidad3 Eficiencia. Un ejemplo: el método <strong>de</strong> HornerJavier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 3 / 25


Sistemas <strong>de</strong> números y conversionesTema 1Sistemas <strong>de</strong> números y conversionesProgramación <strong>de</strong> un <strong>al</strong>goritmo <strong>numérico</strong>: sus limitaciones intrínsecas(precisión y rango <strong>de</strong> v<strong>al</strong>ores admisibles) están ligadas a la forma <strong>de</strong>representación <strong>de</strong> los números enteros y <strong>de</strong>cim<strong>al</strong>es en formato digit<strong>al</strong>.Sistemas <strong>de</strong> numeración en base q.El sistema <strong>de</strong> numeración <strong>de</strong>cim<strong>al</strong> utiliza como base <strong>de</strong>numeración el 10 (dígitos 0...9).Un número en base q se <strong>de</strong>nota como(a n a n−1 ...a 1 a 0 .b 1 b 2 ...b k ...) q don<strong>de</strong> a i y b j pertenecen <strong>al</strong> conjunto<strong>de</strong> los q dígitos element<strong>al</strong>es. Estos q dígitos representaránv<strong>al</strong>ores <strong>de</strong>s<strong>de</strong> 0 hasta q − 1.Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 4 / 25


Sistemas <strong>de</strong> números y conversionesSistemas <strong>de</strong> números y conversionesPor <strong>de</strong>finición:(a n a n−1 ...a 1 a 0 .b 1 b 2 ...b k ...) q = a n q n + a n−1 q n−1 + ... + a 1 q+a 0 q 0 + b 1 q −1 + b 2 q −2 + ...+b k q −k + ...El sistema natur<strong>al</strong> <strong>de</strong> numeración digit<strong>al</strong> es el binario (base 2),utilizando sólo los dígitos 0 y 1.Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 5 / 25


Sistemas <strong>de</strong> números y conversionesSistemas <strong>de</strong> números y conversionesEjemplos:Decim<strong>al</strong>:(123.25) 10 = 1 × 10 2 + 2 × 10 1 + 3 × 10 0 + 2 × 10 −1 + 5 × 10 −2 .Binario:(1011.01) 2 = 1 × 2 3 + 0 × 2 2 + 1 × 2 1 + 1 × 2 0 + 0 × 2 −1+1 × 2 −2 = 11.25.Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 6 / 25


Sistemas <strong>de</strong> números y conversionesSistemas <strong>de</strong> números y conversionesConversión <strong>de</strong> base <strong>de</strong>cim<strong>al</strong> a base qConversión <strong>de</strong> la parte entera(a n ...a 0 ) q = (a n ...a 1 ) q × q + (.a 0 ) q × q = (a n ...a 1 ) q × q + (a 0 ) qAl dividir un número entero entre q el resto es el dígito menos significativo <strong>de</strong>l número en base q. Dividiendosucesivamente (hasta llegar <strong>al</strong> cociente 0) obtenemos los sucesivos dígitos <strong>de</strong>l número en base q.Conversión <strong>de</strong> la parte fraccionaria(.b 1 b 2 ...b k ) q × q = (b 1 ) q + (.b 2 ...b k ) qLa parte entera <strong>de</strong>l resultado <strong>de</strong> multiplicar nuestro número por q es el primer dígito tras el punto <strong>de</strong>cim<strong>al</strong>. Reteniendo laparte fraccionaria que resulta en cada paso y repitiendo sucesivamente el proceso, vamos obteniendo el resto <strong>de</strong> cifrastras el punto.Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 7 / 25


Sistemas <strong>de</strong> números y conversionesSistemas <strong>de</strong> números y conversionesConversión <strong>de</strong> base <strong>de</strong>cim<strong>al</strong> a base qEjemplo: Escribamos (26.1) 10 en base 2.Parte entera: Dividiendo sucesivamente, tenemos que:26 = 2 × 13 + 0 ; 13 = 2 × 6 + 1 ;6 = 2 × 3 + 0 ; 3 = 2 × 1 + 1 ; 1 = 2 × 0 + 1Leyendo <strong>de</strong> izquierda a <strong>de</strong>recha los números subrayados:(26) 10 = (11010) 2Parte fraccionaria: Multiplicando sucesivamente por dos y separando laparte fraccionaria:0.1 × 2 = 0.2 ; 0.2 × 2 = 0.4 ; 0.4 × 2 = 0.8 ;0.8 × 2 = 1.6 ; 0.6 × 2 = 1.2 ; 0.2 × 2 = ...Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 8 / 25


Sistemas <strong>de</strong> números y conversionesSistemas <strong>de</strong> números y conversionesConversión <strong>de</strong> base <strong>de</strong>cim<strong>al</strong> a base qLeyendo <strong>de</strong> izquierda a <strong>de</strong>recha tenemos los dígitos <strong>de</strong> la partefraccionaria (subrayados) luego:(0.1) 10 = (0.00011) 2don<strong>de</strong> las cifras subrayadas son las cifras periódicas.Obsérvese que el número 0.1 tiene infinitas cifras distintas <strong>de</strong> cerocuando se escribe en base 2!Sumando los resultados <strong>de</strong> la parte entera y la fraccionaria tenemosque(26.1) 10 = (11010.00011) 2Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 9 / 25


Sistemas <strong>de</strong> números y conversionesUn programa <strong>de</strong>sastroso:x=0;while x∼=10x=x+0.1;endJavier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 10 / 25


Estándar IEEESistemas <strong>de</strong> números y conversionesEl número <strong>de</strong> dígitos que se pue<strong>de</strong>n <strong>al</strong>macenar <strong>de</strong> la mantisa y exponente es limitado!Hay dos tipos <strong>de</strong> precisión (simple y doble): difieren en el número <strong>de</strong> bits <strong>de</strong> los que se dispone para <strong>al</strong>macenar las cifrasPrecisión simple: 32 bits, <strong>de</strong> los cu<strong>al</strong>es1 correspon<strong>de</strong> <strong>al</strong> signo,8 <strong>al</strong> exponente, luego -126 ≤ E ≤ 12723 a la mantisaPrecisión doble: 64 bits, <strong>de</strong> los cu<strong>al</strong>es1 correspon<strong>de</strong> <strong>al</strong> signo,≈11 <strong>al</strong> exponente: -1022 ≤ E ≤ 1023 (2 11 = 2 × 1024)52 a la mantisaLa especificiación <strong>de</strong>l número <strong>de</strong> bits para <strong>al</strong>macenar la mantisa y el exponente <strong>de</strong>terminan los límites <strong>de</strong> overflow y un<strong>de</strong>rflow yel <strong>de</strong>nominado ɛ-máquina .Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 13 / 25


Errores, condición y estabilidadEstructura <strong>de</strong> la presentación:1 Sistemas <strong>de</strong> números y conversiones2 Errores, condición y estabilidad3 Eficiencia. Un ejemplo: el método <strong>de</strong> HornerJavier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 14 / 25


ErroresErrores, condición y estabilidadDefinición:Si x A es una aproximación <strong>de</strong>l verda<strong>de</strong>ro v<strong>al</strong>or x T , <strong>de</strong>finimos entonces:Error absoluto: E abs = |x T − x A |Error relativo:E rel = |1 − x Ax T|, si x T ≠ 0.El error relativo mi<strong>de</strong> el número <strong>de</strong> cifras significativas exactas <strong>de</strong> x A .Así, si2E rel < 10 −m , m ∈ Nse dirá que x A tiene m cifras significativas exactas.Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 15 / 25


Errores, condición y estabilidadFuentes <strong>de</strong> errorLos datos <strong>de</strong> entrada <strong>de</strong> nuestro <strong>al</strong>goritmo están afectados <strong>de</strong>cierto error. Importante estudiar como se propaga el error.Errores <strong>de</strong> punto flotante: errores <strong>de</strong> redon<strong>de</strong>o, pérdida <strong>de</strong> cifrassignificativas por cancelaciones, problemas <strong>de</strong> un<strong>de</strong>rflow/overflowErrores <strong>de</strong> truncamiento o discretizaciónJavier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 16 / 25


Fuentes <strong>de</strong> errorUn ejemplo ... catastróficoErrores, condición y estabilidadEl matemático Jacques-Louis Lions <strong>de</strong>l Collège <strong>de</strong> France fue encargado <strong>de</strong>dirigir la investigación.Más información en: SIAM News, Vol. 29. Number 8, October 1996Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 17 / 25


Errores, condición y estabilidadPropagacion <strong>de</strong> erroresCondiciónLa condición <strong>de</strong> una función f (x) mi<strong>de</strong> la sensibilidad <strong>de</strong> los v<strong>al</strong>ores <strong>de</strong>f (x) a pequeños cambios en x y se <strong>de</strong>fine comoC =E rel (f (x))∣ E rel (x) ∣don<strong>de</strong> E rel (f (x)) es el error relativo <strong>de</strong> f (x) para un error relativoE rel (x) en x.Para funciones f (x) <strong>de</strong> una variable re<strong>al</strong> <strong>de</strong>finimos los números <strong>de</strong>condición comoC(x) =∣ x f ′ (x)f (x) ∣Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 18 / 25


Errores, condición y estabilidadPropagación <strong>de</strong> erroresEstabilidadEjemplo:Dada la función f (x) = √ x + 1 − √ x, su número <strong>de</strong> condición es:C(x) =∣ x f ′ (x)f (x) ∣ = x2 √ x √ x + 1y vemos que C(x) < 1/2 para x > 0, luego la función está bien condicionada.Sin embargo, el <strong>al</strong>goritmo para c<strong>al</strong>cular x consistente en ir re<strong>al</strong>izando lasoperaciones implicadas en f (x) = √ x + 1 − √ x, a saber:1 Input: x2 y = x + 13 f 1 = √ x + 14 f 2 = √ x5 f = f 1 − f 2es inestable para x gran<strong>de</strong> por culpa <strong>de</strong>l paso 5 (hay cancelaciones entrenúmeros similares).Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 21 / 25


Eficiencia. Un ejemplo: el método <strong>de</strong> HornerEficiencia <strong>de</strong> un <strong>al</strong>goritmo <strong>numérico</strong>Un ejemplo prácticoSupongamos que nos planteamos ev<strong>al</strong>uar el polinomioP(x) = 2 + 4x − 5x 2 + 2x 3 − 6x 4 + 8x 5 + 10x 6Contando con que cada potencia <strong>de</strong> exponente k entero cuente como k − 1productos, tendríamos que el número tot<strong>al</strong> <strong>de</strong> productos para ev<strong>al</strong>uar elpolinomio <strong>de</strong> forma directa es:1 + 2 + 3 + 4 + 5 + 6 = 21y el número <strong>de</strong> sumas es 6.Una forma mejor <strong>de</strong> proce<strong>de</strong>r es ir c<strong>al</strong>culando primero las potencias <strong>de</strong> formasucesiva:x 2 = x x , x 3 = x x 2 , x 4 = x x 3 , x 5 = x x 4 , x 6 = x x 5con lo que sólo se aña<strong>de</strong> una nueva multiplicación por potencia, haciendo untot<strong>al</strong> <strong>de</strong>1 + 2 + 2 + 2 + 2 + 2 = 11Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 23 / 25


Eficiencia. Un ejemplo: el método <strong>de</strong> HornerEficiencia <strong>de</strong> un <strong>al</strong>goritmo <strong>numérico</strong>Un ejemplo prácticoAlgoritmo <strong>de</strong> HornerInputs: z, p(x) = a 0 + a 1 x + ... + a n x n , a n ≠ 0Output: p(z).(1) b = a n(2) Repetir mientras n > 0(3) n = n − 1(4) b = a n + z ∗ b(5) Volver a (2)(6) p(z) = b.Javier Segura (<strong>Universidad</strong> <strong>de</strong> <strong>Cantabria</strong>) <strong>Introducción</strong> <strong>al</strong> <strong>análisis</strong> <strong>numérico</strong> CNI 25 / 25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!