Skip to content

Instantly share code, notes, and snippets.

@tobydriscoll
Last active October 11, 2016 20:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tobydriscoll/dfb794e2c6891944790e628f68058ba4 to your computer and use it in GitHub Desktop.
Save tobydriscoll/dfb794e2c6891944790e628f68058ba4 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lecture 19: Stability of least squares algorithms\n",
"\n",
"We're going to explore several alternatives for least squares by means of a fitting problem:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvAAAAIhCAYAAAAoxI7wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xlc1NX+P/DXZwBZQ1BEkcSN3DVSwAUXRM3klsuNMDO3+mpfvTdT81qWfcPu9X4l+0q2qD/t3tS8bglu1y3NIBfUZEkzl7JEQTT3BJT1/P44d0aGGWAGZmE+vJ6Ph4/RM+fz+Rw+A/ieM+/zPooQQoCIiIiIiByCxt4DICIiIiIi0zGAJyIiIiJyIAzgiYiIiIgcCAN4IiIiIiIHwgCeiIiIiMiBMIAnIiIiInIgDOCJiIiIiBwIA3giIiIiIgfCAJ6IiIiIyIEwgCeieicuLg4ajQbffvutycdERkZCo7H9r8ysrCxoNBq89NJLVr3O+vXr0b17d3h7e0Oj0WDWrFlV9q/JPST66quv0KdPH/j6+kKj0eCPf/wjAPv9fBE5Kmd7D4CI1K/if8wajQYNGzZEt27dMHHiREyYMMGm41EUBYqiWP0YR3H06FG8+OKLaNu2LaZNmwYPDw/06tWrymMc4X60atUKGo0Gv/zyi72HQpBvRkeOHAlfX1+8/PLL8Pb2RocOHQDI76eKvydSUlIwcOBAxMXF4X/+53/sMWSiOosBPBHZhKIoiIuLgxACxcXF+Pnnn7FlyxakpKTgxIkT+Pjjj202lldffRVjxoxBUFCQza5Zl+3cuRMA8MUXX6Bnz552Ho3l1PU3GPXN/v37UVhYiMWLF2P06NF6z33xxRcoKCiw08iIHA8DeCKymXfeeUfv36mpqejXrx+WLVuG119/Ha1atbLJOBo1aoRGjRrZ5FqOICcnBwAQEBBg55GQmlX1ffboo48atAkhrD4mIkfFhDMispvevXujQ4cOEEIgLS3NaJ+9e/ciOjoaTZo0gZubG4KDgzFnzhzcvXvXoO+pU6cwZswYtG7dGm5ubvD390ePHj0wc+ZMlJaW6vpVlb+9YcMG9OjRAx4eHmjatCnGjx+P3Nxco2NbvXo1NBoN1qxZY/R5jUaDqKgovbbc3Fy899576Nu3LwICAuDq6orAwECMHTsWZ86cqfRemUMIgeXLlyM8PByPPPIIvLy8EB4ejuXLl+sFRdrxr1q1CkIIXcqJk5MTLl26VOPrnzt3DhMnTkRQUBBcXV3RrFkzjB07FufPnzfo+9NPP+HNN99EWFgY/P394ebmhlatWuGVV17RBXwVrV69GhEREfD394e7uzuCgoLw1FNPYdOmTQBk6oVGo8GlS5dw8eJFaDQa3R9T1hL89ttvmD17Njp06AAvLy/4+vqiQ4cOmDRpEi5evKjXt7i4GH/9618RHBwMNzc3tGnTBu+88w6KioqMvv4TJ07Uja0i7bjfe+89vfb09HS89tprCAkJQePGjeHu7o527dph9uzZuHPnjtH7o/2+3LNnDwYOHAgfHx84OTnp9TPndTLnnlT2dWk/gdPmuzs5Oel+BivmwE+aNAlRUVG6T+60r1/5Y4jqM87AE1Gd4OrqatA2f/58zJ8/H40bN8bTTz8Nf39/nDx5Eh988AF2796N1NRUeHl5AZDBe8+ePaHRaDB8+HC0bt0av//+O37++WcsW7YMCxYsgIeHB4DK87cTEhLw+uuvw9fXFxMnTkTDhg2xd+9e9OnTBw0bNjQ6bnPTNL799lu8//77GDhwIGJiYuDl5YWffvoJiYmJ2L59O44cOYKuXbuadc6KXnzxRaxfvx5BQUGYPHkyFEXBli1bMG3aNBw+fBhffPEFAOCJJ55AXFwctmzZgpMnT+K1116Dj48PFEWBj49Pja69Z88ePPvssygpKcEzzzyD4OBgZGdnIykpCTt37kRycjJCQkJ0/ZOSkrBixQoMHDgQERERaNCgAU6fPo3PPvsM//73v3HixAm9Gdu33noLCxcuRJs2bTB69Gg0bNgQubm5+O6777B582bExsaiVatWiIuLQ0JCAhRFwcyZM3VvXMpf25j79++jT58++PXXXzFkyBAMHz4cQghkZWVh+/bteO655/Q+KXruueewfft2BAcH49VXX0VRURE+//xznDp1yuj5a7J2YOXKldi6dSsGDBiAIUOGoKysDGlpaVi8eDH27NmDY8eOwdPT0+A6X375Jfbs2YPo6GhMnTpV702DOa+TufekIu3rkZycjJSUFEyYMEHXX/tY8b6MGjUKiqJg1apViIyMRGRkpN75iOo9QURkZYqiCI1GY9CekpIinJychIeHh/jtt9/0njtw4IBQFEX07dtX/P7773rPrV69WiiKImbNmqVre/3114VGoxE7duwwuM6dO3f0/h0XFyc0Go1ISUnRtV28eFE0aNBANG7cWFy6dEmv/7PPPmv0a1i1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bCH96aefYv78+Zg1axZmz55t8fuhnZ3v2LGj0cW9pD4NGzbka12P8PWuX/h61y98vesfa6U722QRa0xMDEpKSrBixQpdW1FREVatWoVevXohMDAQAHD16lWcO3cOpaWlesdeu3YNSUlJurYbN25g8+bNGD58OFxcXAAA3t7eGDx4MNauXatXGWbNmjXIz8/X25xpxIgRcHZ2xtKlS/XGuXz5cgQGBuptpBQTE4PvvvsO6enpurZz587hwIEDeucEgI0bN+K1117DuHHj8MEHH9T6fhARERERVWSTGfjw8HA899xzmDt3Lq5du6bbeTQrKwuff/65rt+bb76JNWvW4OLFiwgKCgIgg90PP/wQkyZNwunTp+Hn54elS5eirKwMcXFxetdZsGABIiIi0L9/f0yZMgWXL1/G4sWLMXToUAwZMkTXLzAwEDNmzMAHH3yAoqIihIWFYcuWLTh8+DDWrVunV/Zr2rRpWLlyJaKjo3U7sSYkJCAgIACzZs3S9fvuu+8wfvx4+Pn5YeDAgfjXv/6lN7Y+ffqgdevWZt0PIiIiIiIDttoxqrCwUMyZM0c0b95cuLu7i549e+rtjiqEEBMnThROTk4iKytLr/3OnTti8uTJokmTJsLLy0tERUWJ9PR0o9c5fPiw6Nu3r/Dw8BBNmzYV06dP19uZtbyFCxeK1q1bCzc3N9G1a1exfv16o/1ycnJEbGys8PHxEd7e3mLEiBHiwoULen1WrVolNBpNpX9Wr15t9v0wJi0tTQDQ2xmW1O2ZZ56x9xDIhvh61y98vesXvt71h7XjNUUIIez9JoJMl56ejh49eiAtLY15dPXE+vXrMWbMGHsPg2yEr3f9wte7fuHrXX9YO16zSQ48EdUcf9nXL3y96xe+3vULX2+yFAbwREREREQOhAE8EREREZEDYQBPRERERORAGMATERERETkQBvBERERERA6EATwRERERkQNhAE9ERERE5EAYwBMRERERORAG8EREREREDoQBPBERERGRA2EAT0RERETkQBjAExERERE5EAbwREREREQOhAE8EREREZEDYQBPRERERORAGMATERERETkQBvBERERERA6EATwRERERkQNhAK8SKSlA585Aaam9R0JERERE1sQAXiV++gn48Ufg7l17j4SIiIiIrIkBvEqUlMjHW7fsOw4iIiIisi4G8CqhTZ25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G5fQ9AE5OTlwd3dHWlqasczDwwNLlizBl19+abL//M/t2rULQ4YMQVJSkrEsMDAQKSkp2L17N27cuGHXvlPPWTPeU6dONSu777774O/vj4qKCrv0l6xjzXgbfPTRRzhx4gRef/11e3aVbMCa8d6yZQva2trwyiuvAND/qp76NmvG29PTE56envD19TUpHzJkCJ+03ocNGDAAwcHBvWpry8zGAN8HHDt2DBERESZPhAWAyZMnG493pLy8HFFRUWblkydPxvXr11FZWWnbzpLVrBlvS65duwadTofAwECb9ZFsx9rx1ul0eP7557F27dpe/6dBjmPNeB86dAhjxozB3r17MXToUHh7eyMgIAAvvfSSycMJqe+wZrx/+9vfoq2tDU8++SROnjyJs2fP4v3330deXh5eeOEFu/abnMOWmY0Bvg+or69HSEiIWXlISAhEBHV1db1qC6DTtuQc1oy3JZs2bcKNGzewYMECW3WRbMja8X7llVeg0WiwcuVKe3WRbMia8f7uu+9w9uxZPPHEE1i6dCl27dqFWbNmISMjA+vWrbNnt6mXrBnv8ePHIz8/H59++inGjh2L8PBwPPvss3jnnXewfPlye3abnMSWmc3dZr2iXmtsbISHh4dZuaenp/F4b9qKSKdtyTmsGe+fKygowKuvvor58+fjgQcesFkfyXasGe/Kykq888472Llzp8kTn6nvsma8dTodRARvvvkm0tPTAQBJSUn44Ycf8Kc//QkvvPACvLy87NNx6hVrxvvkyZOYNWsWhg8fjg0bNsDDwwM7duzA8uXLMWTIEO429Qtky8zGGfg+QK1Wo7m52ay8qanJeLw3bRVF4Tq6Psia8W7v5MmTmDNnDu6++25s3brVpn0k27FmvFesWIGpU6fi0UcftVv/yLas/fccgNlvPcZbCwAABBRJREFU0xYuXIjGxkZuD9wHWTPe6enpcHd3xz//+U+kpqYiOTkZu3btwtSpU/HMM89wK8lfIFtmNgb4PiAkJAT19fVm5Yay0NBQu7Ql57DFmFVXV2P69Onw8/PD3r17OSvXh/V2vPPz87F//348++yzOHPmDM6cOYOqqiq0traisbERZ86cQUNDg137Tj1nzfe34djgwYNNyoODgyEi+PHHH23YU7IFa8b7iy++QHx8vFloS0hIQF1dHaqqqmzaV3I+W2Y2Bvg+IDIyEpWVldDpdCblhYWFUBQFkZGRnbYtKyszKy8sLIRGo0FERITN+0vWsWa8AeDy5cuYPn06WltbsX//frP/7Klv6e14V1dXQ1EUJCUlYcSIERgxYgRGjhyJuro6HDp0CCNHjsS2bdsc8RaoB6z5/p44cSIAmO1cUltbC0VREBQUZPsOk1WsGe8bN27g5s2bFssBoLW11badJaezZWZjgO8DkpOT0draiqysLGNZS0sLsrOzERMTg7CwMADAuXPncOrUKZNv+OTkZJw/fx65ubnGskuXLiEnJwcJCQlcN9sHWTPe169fx8yZM1FfX4/PPvsMI0eOdHj/qWd6O97Tpk3D3//+d+Tl5Zm8AgMDcc899yAvLw+zZ892ynuijlnz/T1//nyICD744ANjmYhg27Zt8Pf3NwZ86jusGe8JEybgwIEDJr9ZaWtrw86dO+Ht7Y1Ro0Y57o2Qzdk9s/Vo13iym5SUFBk4cKCsXr1asrKyZMqUKTJw4EA5cuSIsc5jjz0miqLImTNnjGU3b96Ue++9V3x8fOTVV181PtXL19dXKisrnfFWqBt6O96JiYmiKIosXbpUPv74Y5NXXl6eM94KdUNvx9sSPsip77NmvB988EFxc3OTJ598UjIzM+Whhx4SlUolf/nLXxz9Nqibejve+/btEzc3Nxk9erS89dZb8u6778q9994rKpVKfv/73zvjrVA3vffee5KRkSFPP/20KIoic+fOlYyMDMnIyJCffvpJROyf2Rjg+4jm5mZZvXq1hIaGilqtlujoaDlw4IBJncWLF4ubm5vZP/hXrlyRtLQ0CQoKEq1WK/Hx8VJWVubI7lMP9Xa8w8PDRaVSWXyNGDHC0W+Dusma7++fGzFihCQkJNizu2Qla8b72rVrsmrVKgkNDRVPT08ZP3687Nixw5Hdpx6yZrz3798v999/v2i1WuN4b9261ZHdp17o7P9iwxjbO7MpInw6BBERERGRq+AaeCIiIiIiF8IAT0RERETkQhjgiYiIiIhcCAM8EREREZELYYAnIiIiInIhDPBERERERC6EAZ6IiIiIyIUwwBMRERERuRAGeCIiIiIiF8IAT0RERETkQhjgiYiIiIhcCAM8EREREZEL+T/11+e38A1nYgAAAABJRU5ErkJggg==",
"text/plain": [
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x3271a4ed0>)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"PyObject <matplotlib.text.Text object at 0x32736d810>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"m = 100; n = 15;\n",
"t = (0:m-1)/(m-1);\n",
"A = [t[i].^(j-1) for i=1:m, j=1:n];\n",
"b = exp(sin(4*t));\n",
"x = A\\b;\n",
"\n",
"using PyPlot\n",
"plot(t,b-A*x)\n",
"title(\"Residual of least squares fit\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that the fit is quite good. As in the text, we will renormalize the vector $b$ to make the last coefficient of the solution equal to 1. (See the section below for more on this constant.) "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n",
"WARNING: Base.writemime is deprecated.\n",
" likely near /Users/driscoll/.julia/v0.5/IJulia/src/kernel.jl:31\n",
"in show at /Users/driscoll/.julia/v0.5/PyCall/src/PyCall.jl\n"
]
}
],
"source": [
"b = b/2006.787453104851834;\n",
"x = A\\b; y = A*x;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As in the text, we compute all the numbers associated with the conditioning of the least squares problem, as described by Theorem 18.1. Since the residual is small, the conditioning of $x$ will be close to $\\kappa(A)$."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"kappa = cond(A) = 2.2717773446531837e10\n",
"theta = asin(norm(y - b) / norm(b)) = 3.7461113609849745e-6\n",
"eta = (norm(A) * norm(x)) / norm(y) = 210355.94476385307\n"
]
}
],
"source": [
"@show kappa = cond(A);\n",
"@show theta = asin(norm(y-b)/norm(b));\n",
"@show eta = norm(A)*norm(x)/norm(y);"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2×2 Array{Float64,2}:\n",
" 1.0 1.07997e5 \n",
" 2.27178e10 3.19087e10"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"K = zeros(2,2);\n",
"K[1,1] = sec(theta); K[2,1] = kappa*K[1,1];\n",
"K[1,2] = K[2,1]/eta; K[2,2] = kappa + kappa^2*tan(theta)/eta;\n",
"K"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Backslash\n",
"\n",
"The internal backslash does Householder QR, but includes column swapping to improve accuracy. Here's how it does."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x(15) = 0.999999916159403\n"
]
},
{
"data": {
"text/plain": [
"8.38405971315126e-8"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = A\\b;\n",
"@printf(\"x(15) = %.15f\\n\",x[n])\n",
"errBS = abs(x[n]-1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We've lost about 9 digits of accuracy, which is in line with the conditioning of $x$ with respect to $A$ (the (2,2) element of $K$ above). "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Householder QR solution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With a default call to `qr`, column pivoting is not used."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x(15) = 1.000000259485135\n"
]
},
{
"data": {
"text/plain": [
"2.594851349346783e-7"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(Q,R) = qr(A);\n",
"x = R\\(Q'*b);\n",
"@printf(\"x(15) = %.15f\\n\",x[n])\n",
"errHH = abs(x[n]-1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Modified GS QR solution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Classical Gram-Schmidt is too unstable even to bother with. The modified form is better, but problems remain:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x(15) = 0.951973163678014\n"
]
},
{
"data": {
"text/plain": [
"0.04802683632198579"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"include(\"GramSchmidt.jl\")\n",
"(Q,R) = mgs(A);\n",
"x = R\\(Q'*b);\n",
"@printf(\"x(15) = %.15f\\n\",x[n])\n",
"err = abs(x[n]-1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Crikey! That's much worse than is accounted for by the problem conditioning. The culprit is our nonorthogonal $Q$."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"7.83608202245558e-7"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"norm(Q'*Q-eye(15))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"However, we can imitate Gaussian elimination and use an augmented matrix in order to get an \"implicit Q\" result. "
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x(15) = 0.999999954249057\n"
]
},
{
"data": {
"text/plain": [
"4.5750943367117713e-8"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(Q,R) = mgs([A b]);\n",
"x = R[1:n,1:n] \\ R[1:n,n+1];\n",
"@printf(\"x(15) = %.15f\\n\",x[n])\n",
"errMGS = abs(x[n]-1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Normal equations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This problem is a perfect storm for the normal equations: a very good fit (small residual) and a badly conditioned matrix. Squaring that condition number is catastrophic."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x(15) = -0.513420734792582\n"
]
}
],
"source": [
"x = (A'*A)\\(A'*b);\n",
"@printf(\"x(15) = %.15f\\n\",x[n])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## SVD"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The SVD provides the gold standard of stability in least squares. It is preferred to QR when the matrix is nearly or numerically rank deficient."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x(15) = 1.000000055412116\n"
]
},
{
"data": {
"text/plain": [
"5.5412116228836794e-8"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(U,s,V) = svd(A);\n",
"x = V*((U'*b)./s);\n",
"@printf(\"x(15) = %.15f\\n\",x[n])\n",
"errMGS = abs(x[n]-1)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Extended precision\n",
"\n",
"If you compare my results to those in the text, you will find that they are different in some respects. For one thing, I use a different normalization constant for $b$. This constant is supposed to come from a higher-precision computation of the problem. \n",
"\n",
"There's some ambiguity here. Should all computations be evaluated in extended precision from the start of the fitting problem, or only once the data $A$ and $b$ have been formed in double precision? Here's the second interpretation."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4-element Array{BigFloat,1}:\n",
" 2.006787453104851833876103814362793589027e+03\n",
" 2.006787453104851833876103814356153695004e+03\n",
" 2.006787453104851833676489380919793745478e+03\n",
" 2.006787453104851833876103814351814933863e+03"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"setprecision(BigFloat,128); # use 128-bit floats\n",
"b = convert( Array{BigFloat},exp(sin(4*t)) );\n",
"A = convert(Array{BigFloat},A);\n",
"(Q,R) = qr(A);\n",
"x1 = R\\ (Q'*b);\n",
"(Q,R) = mgs([A b]);\n",
"x2 = R[1:15,1:15] \\ R[1:15,16];\n",
"x3 = (A'*A)\\(A'*b);\n",
"x4 = A\\b;\n",
"\n",
"[x1[n];x2[n];x3[n];x4[n]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see how the normal equation result wanders off on its own first, before the other ones start to disagree.\n",
"The disadvantage of this interpretation is that it could be dependent on the precise double precision values found for the data, before extended precision is used. By putting extended precision in from the start, we get results that will hopefully be machine- and language-independent. "
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4-element Array{BigFloat,1}:\n",
" 2.006787453104851833876103814338068195207e+03\n",
" 2.006787453104851833876103814355358077263e+03\n",
" 2.006787453104851834342923924263804001505e+03\n",
" 2.006787453104851833876103814376793404332e+03"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"t = convert(Array{BigFloat},collect(0:m-1))/convert(BigFloat,m-1);\n",
"A = [t[i].^j for i=1:m, j=0:n-1];\n",
"b = exp(sin(4*t));\n",
"\n",
"(Q,R) = qr(A);\n",
"x1 = R\\ (Q'*b);\n",
"(Q,R) = mgs([A b]);\n",
"x2 = R[1:15,1:15] \\ R[1:15,16];\n",
"x3 = (A'*A)\\(A'*b);\n",
"x4 = A\\b;\n",
"\n",
"[x1[n];x2[n];x3[n];x4[n]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Unfortunately, neither of my results matches the T&B number of 2006.787453080206, which I can't explain. "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 0.5.0",
"language": "julia",
"name": "julia-0.5"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "0.5.0"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment