lunes, 29 de septiembre de 2014

Buscando raíces peligrosamente

Enunciado:

Busque las raíces de $f(x)=\cos(x)$ en el intervalo $[0,\pi]$

Comente los pasos que seguiría y comente los resultados que vaya obteniendo en cada paso.

Si no tienes claro qué se te pregunta anteriormente ve respondiendo estas preguntas:

a)  ¿Se cumple el teorema de Bolzano?
b)  ¿Podemos decir que la raíz es única?
c)  ¿Qué problemas encuentras en este problema?

Nota:  $\cos(x)$ tiene una raíz en el intervalo de trabajo que se encuentra en $x=\dfrac{\pi}{2}$.

¿Para qué sirve? - Resolución de ecuaciones no lineales

La matemática sirve básicamente para todo, así que busca el ejemplo que más te guste, seguro que puedes encontrar alguno.

Pero bueno, comprendo que sea una pregunta pertinente porque uno se puede perder en cuentas, errores, métodos, palabrejas, etc, y siempre está bien saber que eso que uno está estudiando tiene aplicaciones en lo que uno espera que sea su trabajo futuro.

Al final de cada tema procuraré escribir una entrada como esta explicando dónde podéis encontrar aplicaciones de los conceptos explicados en la teoría y trabajados en los problemas y la práctica.  Por supuesto no seré exhaustivo, ni las entradas estas tendrán más valor que el de motivar y el de proporcionaros campos en los que se usan claramente las técnicas matemáticas que estamos estudiando.

Robótica, movimiento, dibujos animados

Los métodos de aproximación de soluciones se utilizan extensamente en la programación y simulación del movimiento de robots industriales.

Que un robot de estos tenga que hacer un determinado movimiento exige que se tenga que resolver un problema de encontrar ceros o un punto fijo en una función.  

Es evidente que las técnicas descritas en el tema que nos ha ocupado son esenciales para asegurar que el robot cumple con la tarea para la que ha sido diseñado.

Los campos en los que estos métodos aproximados se usan con generosidad son muy variados. Basta decir que hay campos como la animación en videojuegos o en películas en los que es esencial que el programador conozca este tipo de técnicas y sus generalizaciones. 

Reconstrucción de imágenes

Sin duda alguna las técnicas de diagnóstico por imagen aplicando diversas técnicas como la resonancia magnética nuclear, la tomografía por emisión de positrones, etc, están teniendo cada vez mayor importancia en los diagnósticos médicos.

El problema al que se enfrenta el programador que se encarga del software de estas técnicas es el de reconstruir imágenes a partir de datos obtenido por el hardware -- la máquina -- empleado.

En este tema el uso de métodos de punto fijo, newton, bisección y otros más compejos es vital para asegurar que los resultados son significativos y utilizables en la práctica médica.


Estos son solo dos ejemplos, que me han parecido relevantes y motivadores, en los que un programador informático tiene que recurrir a métodos de aproximación en su trabajo.  Los ejemplos son innumerables y cubren una amplia gama de problemas que se presentan en la vida real. 

No desestimen la utilidad de las matemáticas. Sigan estudiando...

Newton calculando la raíz cuadrada de tres

Vamos a aproximar la raíz cuadrada de tres por el método de Newton.

Solución:

Tenemos que calcular los ceros de la función $f(x)=x^2-3$.

Introducimos el intervalo de trabajo, $[1,2]$ ya que sabemos que la raíz cuadrada de 3 se tiene que encontrar entre esos dos valores.

Primero, comprobamos que se cumple el teorema de Bolzano:

$f(1)=-2<0$
$f(2)=1>0$

El error de Newton

Como somos muy aplicados y estamos trabajando con un método de encontrar raíces de funciones empleando un método aproximado, el método de Newton, tenemos que dar expresiones que controlen el error que estamos cometiendo en cada paso de iteración del algoritmo.

Este tema es esencial para cualquier estudio que involucre aproximaciones, uno no sabe si la aproximación es buena o mala hasta que no se da el error cometido.  Pero los errores no se pueden dar de forma "exacta", lo único que podemos asegurar es que el error cometido no es mayor que una determinada cantidad que podemos calcular siguiendo el procedimiento del método.

En nuestro caso, para la iteración $n$-ésima se cumple que el error cometido $\epsilon_n$ es de la siguiente forma:

$\epsilon_n<\dfrac{|f(x)|}{\displaystyle\min_{x\in[a,b]}f'(x)}$

En esta formula lo que tenemos que tener en cuenta es lo siguiente:

1.-  Nuestra función verifica la regla de Fourier, por lo tanto la primera derivada no se anula en ningún punto del intervalo $[a,b]$ en el que estamos estudiando la función.  

2.- Así pues, la derivada será positiva o negativa en todo el intervalo.  Eso implica que su valor mínimo lo tomará en uno de los dos extremos del intervalo.

Ale, a seguir estudiando...






Derivadas - Primera Entrega: Potencias, exponenciales y logaritmos

Antes de empezar a calcular derivadas hay que dominar algunas propiedades, en esta primera entrega de derivadas hay que conocer las siguientes:

1.-  La derivada de una constante es 0.

$f(x)=K$   --->    $f'(x)=0$

2.-  La derivada de una constante $K$ multiplicando a una función $fx)$ es dicha constante multiplicando a la derivada de la función:

$(Kf(x))'=Kf'(x)$

dicho de otro modo, "la constantes salen de las derivadas".

jueves, 25 de septiembre de 2014

Newton, ¿dónde empiezo?

Como hemos visto el método de Newton para aproximación de raíces de una función $f(x)$ es un método iterativo basado en la siguiente regla:

$x_n=x_{n-1}-\dfrac{f(x_{n-1})}{f'(x_{n-1})}$

Sin embargo este método se merece algunos comentarios.  Nos ocuparemos de esto en lo que sigue Pasen y vean.

Construyendo a Newton

Vamos a presentar el método de aproximación de Newton, --o Newton-Raphson para quedar bien con todo el mundo--.  Lo que vamos a tratar en este punto es la interpretación y definición del método y posteriormente nos introduciremos en los vericuetos del mismo.

El esquema que vamos a seguir es el siguiente:

1.-  Definición y justificación del método.
2.-  El método en sí mismo.
3.-  Elección del punto inicial.
4.-  Error y convergencia.
5.-  Comparación con el método de punto fijo.


miércoles, 24 de septiembre de 2014

Raíz cuadrada de 3 con 14 cifras decimales exactas

Ejercicio:

Intente calcular de forma aproximada $\sqrt{3}$ usando las técnicas de punto fijo.

Dos ejemplos de unicidad de la raíz de una función en un intervalo

Vamos a ver dos casos que se pueden presentar en el estudio de la unicidad de la raíz de una función en un intervalo dado.

Ejercicio 1

Sea la función $f(x)=x^2-1$, demuestre que solo tiene una raíz en el intervalo $[\dfrac{1}{2},3]$.

Solución:

Mete la función en una caja y que no crezca o decrezca demasiado. Punto fijo strikes back

Nos vamos a encontrar con la parte oscura de la matemática, un teoremita que nos va a dar condiciones, con matices, sobre cuándo una función tiene punto fijo y si podemos llegar a él aplicando el método iterado en un número finito de pasos.

Es justo que nos paremos a diseccionar el teorema, al fin y al cabo, para eso estamos aquí.




TEOREMA DEL PUNTO FIJO

Sea $g(x)$ una función continua en $[a,b]$, derivable en $(a,b)$, con $g([a,b])\subseteq [a,b]$ y tal que $|g'(x)|\leq q < 1$, y sea $x_0$ un punto cualquiera del intervalo $[a,b]$.  La sucesión

$x_0$, $x_1$, $x_2$,...,$x_n$,... con $x_{n+1}=g(x_n)$

converge al único punto fijo de $g(x)$ en $[a,b]$.

El método de resolución de punto fijo: Casos

Vamos a estudiar un caso de la resolución de un problema de punto fijo por iteración.  Tenemos que ser conscientes de que vamos a aplicar el método a las bravas, pero es ilustrativo, posteriormente tendremos que dar condiciones para que el problema se deje resolver de un modo agradable. 

Repito, esta parte solo es ilustrativa, en ella vamos a ver un punto delicado que tenemos que tener en la cabeza pero que a efectos prácticos -- en los exámenes, por ejemplo -- no tenéis que preocuparos.


El punto fijo

Así a bote pronto, piensa en una función $g(x)$ que en alguno de sus puntos valga exactamente lo mismo que el valor que toma la variable $x$ en ese punto, es decir que

$g(x)=x$,
¿Se te ocurre alguna?

Tic-Tac-Tic-Tac-Tic-Tac...



La solución acorralada. El método de la bisección

Comenzamos con los métodos de aproximación de raíces de funciones.  En este caso tomaremos como herramienta principal el teorema de Bolzano que podemos resumir en la siguiente imagen:


Es importante asegurar que en el interior del intervalo de trabajo, $[a,b]$, la primera derivada de la función no se anula en ningún punto. 

Así pues, cuando nos digan que tenemos que realizar el método de bisección en un intervalo $[a,b]$ comprobaremos los siguientes puntos:

  1. Que se cumple el teorema de Bolzano en los extremos del intervalo.
  2. Que la derivada de la función no se anula en ningún punto del interior del mismo.
Si alguno de estos puntos no se verifican tendremos que redefinir apropiada e inteligentemente el intervalo de inicio.  Esto es así porque la combinación de esos dos puntos nos asegura por un lado que existe la raíz y que es única.  De no ser así tendríamos que encontrar un nuevo intervalo en el que la raíz sea única y por lo tanto tenga sentido aplicar el método aproximado para encontrarla.

Unicidad de la raíz

Como vimos en la anterior entrega, el teorema de Bolzano nos da la condición para que una determinada función tenga raíces en un determinado intervalo.  Pero, generalmente es bueno poder asegurar que en el intervalo de trabajo solo hay una raíz.

¿Por qué?  Pues principalmente porque vamos a trabajar con métodos de búsqueda de soluciones aproximadas para funciones definidas en intervalos.  Si no podemos asegurar que solo hay una raíz en el intervalo de partida, el método puede volverse loco yendo de una posible solución a otra y estropeando todo el proceso sin que obtengamos una respuesta satisfactoria.  Así pues, sería muy bueno tener algún criterio para decidir cuándo tenemos una única raíz en un intervalo.

Afortunadamente los amigos Bolzano y Rolle colaboran en esta tarea.

Bolzano, Rolle, esos amigos

Teorema de Bolzano, la idea


Supongamos que tenemos una función $f(x)$ de la que sabemos que es continua en un intervalo $[a,b]$.   Desgraciadamente no tenemos ni idea de la forma exacta de la función, pero sí sabemos los puntos $(a,f(a))$ y $(b,f(b))$, y resulta que:

$f(a)>0$

$f(b)<0$,

el argumento funciona igual en el caso de que los signos de $f(a)$ y $f(b)$ estén cambiados.

La imagen que nos tenemos que hacer es la siguiente:


Dado que la función es continua necesariamente tiene que existir un punto, al menos uno, $c\in [a,b]$ tal que $f(c)=0$.

La cosa no puede ser más simple, en algún momento la gráfica de la función tiene que cortar al eje $X$, y justo ese punto de corte identifica al $c$ que hace que la función valga cero.

Es importante remarcar que podemos asegurar que existe al menos un punto en el que la función se anula, lo que no podemos afirmar es que solo exista uno.

TEOREMA DE BOLZANO

Si $f$ es una función continua en el intervalo cerrado $[a,b]$ y $f(a)f(b)<0$, existe un punto $c\in (a,b)$ en el cual f(c)=0.

Un vistazo al teorema de Rolle

En este caso vamos a suponer que tenemos una función $f(x)$ que además de ser continua en $[a,b]$ podemos calcular su derivada, es decir, es derivable en el intervalo -- abierto, por cuestiones técnicas -- $(a,b)$.

Imaginemos que encontramos que nuestra función, de la que no sabemos su forma exacta, sabemos que verifica la siguiente condición:

$f(a)=f(b)$,

es decir, que toma el mismo valor en los extremos del intervalo.  Dado que la función es continua, se pinta de un solo trazo en dicho intervalo, necesariamente ha tenido que subir y bajar -- o bajar y subir --  para que en los puntos $x=a$ y $x=b$ la función tome el mismo valor.  Por lo tanto, es evidente que la función ha pasado por un máximo/mínimo en el trayecto.  Podemos concluir que seguro que hay un punto $c\in [a,b]$ que hace que la derivada de la función se anule en dicho punto:  $f'(c)=0$.

Si lo pintas lo verás más fácil:



TEOREMA DE ROLLE

Si $f(x)$ es una función continua en el intervalo cerrado $[a,b]$, y derivable en $(a,b)$ y $f(a)=f(b)$, existe un punto $c\in (a,b)$ para el que $f'(c)=0$.

El teorema del valor medio

Otro resultado importante es este teorema que podemos enunciar como:

Si la función $f(x)$ es continua en $[a,b]$ y diferenciable en $(a,b)$, entonces existe algún punto $c\in [a,b]$ tal que verifica:

$f'(c)=\dfrac{f(b)-f(a)}{b-a}$

Vamos, que hay un punto de la curva definida por la función cuya tangente tiene la misma pendiente que la recta secante que une los puntos $(a,f(a))$ y $(b,f(b))$.


Este teorema no es más que una versión "inclinada" del teorema de Rolle ;)



Ale, a seguir estudiando...


Raíces de funciones no lineales

En este tema nos vamos a plantear las siguiente preguntas:

¿Para qué puntos x* del dominio de una función se cumple $f(x*)=0$?

Dada una función $f(x)$ definida en un intervalo $[a,b]$, continua y con todas las propiedades guays que queramos, de la que sabemos que tiene al menos una raíz en el mismo, ¿cuándo podemos asegurar que la raíz es única?

Generalmente no podremos obtener las raíces exactas de una función -- al menos no en un número finito de pasos -- así que tenemos que recurrir a métodos aproximados.  Los métodos que vamos a tratar en este curso son tres:

  1. Método de la bisección.
  2. Método del punto fijo.
  3. Método de Newton.

El método de Newton se puede considerar como un caso particular del método del punto fijo.

A efectos prácticos tenéis que tener un buen control del método de la bisección -- epic easy -- y dominar -- nivel Dios -- el método de Newton.

Los métodos que vamos a tratar son métodos iterativos, es decir, se definirán una serie de pasos que nos dará un resultado, una solución aproximada para la raíz de una función, y luego volveremos a repetir dichos pasos una y otra vez hasta que la aproximación cumpla ciertos requisitos que definirán el criterio de parada del método.

En estos métodos vamos a tener claro que: 

1.-  El método ha de ser iniciado -- En ocasiones este paso no es arbitrario sino que el punto inicial que se usa para comenzar el proceso iterativo tiene que cumplir ciertas condiciones.

2.-  Se itera el método hasta llegar a una aproximación satisfactoria -- La satisfacción la obtendremos siempre que se cumpla el criterio de parada, que muy groseramente significa que podemos asegurar que tenemos un número de cifras decimales exactas en nuestra solución.

Cuestiones de simplicidad y multiplicidad

Como hemos comentado, lo que nos vamos a plantear aquí es resolver el siguiente problema:

$f(x)=0$

Queremos encontrar los valores de $x$ que al sustituirlos en la función esta nos escupe un cero.

A dichos valores de $x$ los llamaremos:

-  Raíces de la función.
-  Ceros de la función.
-  Soluciones de la función.

Estoy seguro de que habéis resuelto ecuaciones del tipo:

$ax+b=0$

-- esto no debería de ser ningún problema para nadie --  Esas son las ecuaciones lineales.

Pero podemos tener otro tipo de ecuaciones como por ejemplo:

$a_5 x^5 + a_4 a^4 + a_3 x^3 + a_2 x^2 + a_1 x +a_0 =0$

Para este tipo de ecuaciones, que son polinomios, no existe ningún método de resolución mediante una fórmula si el grado del polinomio es mayor que 4.  Para polinomios de segundo grado todos recordaréis la fórmula esa que decía:  "menos be  más menos la raíz cuadrada de be al cuadrado...".  Eso no existe si el polinomio del que queremos obtener sus ceros tiene un grado mayor que 4, así que hay que recurrir a métodos de aproximación numérica.

Pero podríamos encontrarnos con ecuaciones que no fueran polinómicas, por ejemplo:

$log(1-x)=0$

aquí no nos queda más remedio que remangarnos y buscar aproximaciones a la solución.


Supongamos que tenemos una solución $x^*$ de $f(x)=0$.  Y ahora nos pega por hacer la siguiente locura, calculamos las $n$ primeras derivadas de la función:

$f(x)$
$f'(x)$
$f''(x)$
.
.
.
$f^{(n-1}(x)$
$f^{(n}(x)$

no contentos con ello ahora sustituimos $x^*$ en todas ellas...

$f(x^*)$
$f'(x^*)$
$f''(x^*)$
.
.
.
$f^{(n-1}(x^*)$
$f^{(n}(x^*)$

Pueden pasar varias cosas:

1.-  Que $f(x^*)=0$, que lo es porque $x^*$ es una raíz de la función.  Y que no se anule ninguna derivada.  Entonces diremos que la tenemos una raíz simple.

2.-  O bien, encontramos:  $f(x^*)=f'(x^*)= f''(x^*)=0$  y $f^{(3}(x)\neq 0$.  Entonces diremos que la función tiene multiplicidad 3.

Es decir, si el valor $x^*$ anula la función y hasta la (n-1)-ésima derivada dicha raíz tiene multiplicidad n.

Esta terminología es importante porque los métodos de aproximación a las soluciones de ecuaciones no lineales no funcionan muy bien cuando hay raíces múltiples.  Será importante tener claro si una solución es simple o no.

Ale, a seguir estudiando...