{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Foundations of Computational Economics #23\n",
"\n",
"by Fedor Iskhakov, ANU\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"## More on Newton-Raphson method\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"\n",
"\n",
"[https://youtu.be/DKG_bJhVbsM](https://youtu.be/DKG_bJhVbsM)\n",
"\n",
"Description: Failures of Newton method, domain of attraction. Multivariate Newton for optimization problems."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Another look at Newton method\n",
"\n",
"- iterative solver \n",
"- Newton step $ x_{i+1} = x_i - \\frac{f(x_i)}{f'(x_i)} $ \n",
"- fast (quadratic) convergence \n",
"\n",
"\n",
"Today:\n",
"- potential problems\n",
"- multivariate version"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"hide-output": false,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [],
"source": [
"def newton(fun,grad,x0,tol=1e-6,maxiter=100,callback=None):\n",
" '''Newton method for solving equation f(x)=0\n",
" with given tolerance and number of iterations.\n",
" Callback function is invoked at each iteration if given.\n",
" '''\n",
" for i in range(maxiter):\n",
" x1 = x0 - fun(x0)/grad(x0)\n",
" err = abs(x1-x0)\n",
" if callback != None: callback(iter=i,err=err,x0=x0,x1=x1,fun=fun)\n",
" if err"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"newton_pic(f=f,g=g,x0=-2.5,a=-3,b=-.5)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### When does Newton fail?\n",
"\n",
"1. Multiple solutions — *be aware* \n",
"1. Failures \n",
" - diversion (domain of attraction) \n",
" - cycles \n",
" - function domain \n",
" - differentiability \n",
"1. Reduced performance — may be slower in special cases "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"#### Multiple solutions"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"hide-output": false,
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Converged in 7 steps\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"