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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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!