{ "metadata": { "kernelspec": { "display_name": "Julia 0.3.8-pre", "language": "julia", "name": "julia 0.3" }, "language_info": { "name": "julia", "version": "0.3.8" }, "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "El m\u00e9todo de Newton" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recordemos que el *m\u00e9todo de Newton* es un m\u00e9todo num\u00e9rico *iterativo* para encontrar ra\u00edces de funciones (continuamente) diferenciables.\n", "\n", "Sea $f$ la funci\u00f3n cuyas ra\u00edces queremos encontrar.\n", "La idea es que empecemos desde una adivinanza inicial $x_0$, y que la siguiente aproximaci\u00f3n $x_1$ est\u00e9 donde la recta tangente a la curva $f(x)$ en $x_0$ corte el eje $x$. \n", "\n", "[1] Esboza la geometr\u00eda, tanto a mano como en la computadora, y as\u00ed encuentra la expresi\u00f3n de $x_{n+1}$ en t\u00e9rminos de $x_n$.\n", "\n", "[2] Implementa la iteraci\u00f3n para calcular la ra\u00edz cuadrada y la ra\u00edz c\u00fabica de $2$. \u00bfCu\u00e1l es una condici\u00f3n razonable de terminaci\u00f3n del algoritmo?\n", "\n", "[3] Haz un m\u00f3dulo para llevar a cabo diferenciaci\u00f3n autom\u00e1tica (usando el c\u00f3digo del notebook correspondiente) y util\u00edzalo para implementar el m\u00e9todo." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El m\u00e9todo de Newton **puede fallar**:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[4] Utiliza el mismo m\u00e9todo para la funci\u00f3n *compleja* $f(z) = z^3 - 1$. Empezando desde distintos n\u00fameros complejos $a + bi$, itera el algoritmo para ver a cu\u00e1l ra\u00edz converge, y colorea el punto inicial de manera correspondiente. [Para esto, se recomienda construir una matriz y utilizar la funci\u00f3n `pcolor` de `PyPlot`.]\n", "\n", "Interpreta el resultado." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Dimensi\u00f3n superior" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[5] Desarrolla e implementa el m\u00e9todo de Newton para funciones $\\mathbf{f}: \\mathbb{R}^n \\to \\mathbb{R}^n$. Para hacerlo, toma una adivinaza $\\mathbf{x}_n$ y resuelve la ecuaci\u00f3n $\\mathbf{f}(\\mathbf{x}_{n+1}) = \\mathbf{0}$, con $\\mathbf{x}_{n+1} = \\mathbf{x}_n + \\delta \\mathbf{x}_n$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[6] Utiliza tu algoritmo para calcular ra\u00edces de funciones conocidas multidimensionales." ] } ], "metadata": {} } ] }