{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " \n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "using Interact, PyPlot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The power method\n", "\n", "We know that multiplying by a matrix $A$ repeatedly will exponentially amplify the largest-|λ| eigenvalue. This is the basis for many algorithms to compute eigenvectors and eigenvalues, the most basic of which is known as the [power method](https://en.wikipedia.org/wiki/Power_iteration).\n", "\n", "The simplest version of this is to just start with a random vector $x$ and multiply it by $A$ repeatedly. (This is the procedure by which a Markov process approaches its steady state!) This works, but has the practical problem that the vector quickly becomes very large or very small, and eventually becomes too big/small for the computer to represent (this is known as \"overflow/underflow\"). The fix is easy: *normalize the vector after each multiplication by A*. That is:\n", "\n", "* Starting with a random $x$, repeatedly compute $x \\leftarrow Ax / \\Vert Ax \\Vert $.\n", "\n", "For example, let's try it on a random matrix with eigenvalues 1 to 5:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5×5 Array{Float64,2}:\n", " 3.90707 4.93316 -7.4917 1.70637 -0.268847 \n", " 0.328777 2.23306 2.20676 -0.74148 -0.261381 \n", " -0.345501 0.950596 0.611161 0.472235 0.0743504\n", " -1.07781 5.40745 -12.6191 6.63879 0.788743 \n", " -0.259124 -5.88048 11.402 -3.93029 1.60991 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = randn(5,5)\n", "A = A * diagm(1:5) / A" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Array{Float64,1}:\n", " 1.0\n", " 5.0\n", " 2.0\n", " 3.0\n", " 4.0" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eigvals(A)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Array{Float64,1}:\n", " 5.0\n", " 4.0\n", " 3.0\n", " 2.0\n", " 1.0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "λ, X = eig(A)\n", "i = sortperm(λ, by=abs, rev=true) # sort the eigenvalues in descending order by magnitude\n", "λ = λ[i]; X = X[:,i] # and re-order λ and X\n", "λ" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at the result of $n$ steps of the power method side-by-side with the eigenvector $x_1$ (which is normalized to unit length by Julia) for $\\lambda = 5$:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "Interact.Options{:SelectionSlider,Any}(1: \"input\" = 50 Any , \"n\", 50, \"50\", 50, Interact.OptionDict(DataStructures.OrderedDict{Any,Any}(\"1\"=>1,\"2\"=>2,\"3\"=>3,\"4\"=>4,\"5\"=>5,\"6\"=>6,\"7\"=>7,\"8\"=>8,\"9\"=>9,\"10\"=>10…), Dict{Any,Any}(Pair{Any,Any}(68, \"68\"),Pair{Any,Any}(2, \"2\"),Pair{Any,Any}(89, \"89\"),Pair{Any,Any}(11, \"11\"),Pair{Any,Any}(39, \"39\"),Pair{Any,Any}(46, \"46\"),Pair{Any,Any}(85, \"85\"),Pair{Any,Any}(25, \"25\"),Pair{Any,Any}(55, \"55\"),Pair{Any,Any}(42, \"42\")…)), Any[], Any[], true, \"horizontal\")" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "5×2 Array{Float64,2}:\n", " -0.911569 0.911572 \n", " -0.119762 0.119768 \n", " 0.062554 -0.0625553\n", " 0.0962837 -0.0963053\n", " 0.376185 -0.376171 " ] }, "execution_count": 5, "metadata": { "comm_id": "098c74c9-02f3-4850-8b07-eb4b87611d65", "reactive": true }, "output_type": "execute_result" } ], "source": [ "x = randn(5)\n", "@manipulate for n = 1:100\n", " y = x\n", " for i = 1:n\n", " y = A*y\n", " y = y / norm(y)\n", " end\n", " [y X[:,1]]\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the *sign* of the resulting vector is random, depending on the initial $x$.\n", "\n", "We could also plot the difference $\\Vert \\pm y - x_1 \\Vert$ versus the number $n$ of steps:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHHCAYAAABa2ZeMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xl4VOXZx/HfZAJhSwIIRAJJQBYVAZGAKK8IAQziAkhbEDeWKOJWlaIttVVQBFtFtCIoiFCLlpSqWJUqUSOL4MISragIgkDY1ySAQDI57x+HGWYLmRlmMku+n+uai8w5Z848MxmYm+e+7+dYDMMwBAAAAMWFewAAAACRgsAIAADgFAIjAACAUwiMAAAATiEwAgAAOIXACAAA4BQCIwAAgFMIjAAAAE4hMAIAADiFwAgAAOAUAiMAAIBTCIyAGJGbm6uLLrpItWvXlsViUUFBQbiHFPNWrlypCRMm6PDhwx77JkyYIIvFov3794d0DPbn8UU4PiPHjx9XfHy8EhMTdd9994X8+SSppKREDz/8sLKzs9W4cWNZLBZNmDAhoHN98sknGjVqlC644ALVrVtXzZo108CBA7VmzRq/z1VQUKBrr71W6enpql27tho2bKjLL79c8+fPD2hszl555RVZLBbVq1fP78d++umnslgsXm+ff/75WY8t2hAYATFg3759uvXWW9WqVSt98MEHWrVqldq2bRvuYcW8lStXauLEiV4Do0gTrs+IxWLRJ598oksvvVTTp0/Xjz/+GPLnPHDggGbNmqUTJ05o0KBBZ3WumTNn6ueff9b999+vxYsX6/nnn9fevXt12WWX6ZNPPvHrXIcPH1ZaWpomT56sxYsX67XXXlOLFi106623atKkSQGPcceOHRo3bpxSU1MDPockTZ48WatWrXK5tW/f/qzOGY3iwz0AIBDHjh1TnTp1wj2MiPHjjz+qtLRUt9xyi3r27Bnu4VQJPgP+CcVnxJffQUJCgq688ko9/PDD+uSTT7RmzZqQB2QZGRk6dOiQY8bulVdeCfhcL774opo0aeKy7eqrr1br1q01efJk9e7d2+dz9erVS7169XLZdt1112nLli2aNWuW/vSnPwU0xjFjxujKK69Uw4YN9e9//zugc0hSmzZtdNlllwX8+FjBjFGM++GHHzRs2DClpKQoISFB6enpuu2223TixAnHMStWrFCfPn2UmJioOnXqqHv37nr//fddzmOfrl+/fr2GDRum5ORkpaSkaNSoUSoqKpIkLVq0SBaLRR9//LHHOGbOnCmLxaJvvvnGsW3jxo266aab1KRJEyUkJOjCCy/Uiy++6PFY+3OvXbtWv/71r9WgQQO1atVKkvTOO++oY8eOSkhI0Hnnnafnn3++wtSCL8/ny+v09/319XVWpLLfz4gRI3TFFVdIkoYOHSqLxeLxj6+317hu3ToNHjxYSUlJSk5O1i233KJ9+/b59dyStH79elksFi1cuNCxbc2aNbJYLLroootcjh0wYIAyMzP9fm/O9Bk402v85ptv9Jvf/EbJyclq2LChxo4dq7KyMm3YsEFXX321EhMT1aJFC/31r3/1OEdlY5swYYIeeughSVLLli0dqYdPP/3U5Tx79uyp9LPky/ssSe+//746deqkhIQEtWzZUs8880yF74Gzyj4j/vwb4OvvwN0FF1wgSVWSvrP/LoLBPSiSpHr16qldu3bavn17UJ6jUaNGio8PbJ5i/vz5Wrp0qWbMmBGUsUCSgZhVUFBg1KtXz2jRooXx0ksvGR9//LExf/58Y8iQIUZxcbFhGIbx6aefGjVq1DAyMzON3NxcY9GiRUZ2drZhsViMBQsWOM712GOPGZKM888/33j00UeNvLw849lnnzUSEhKMkSNHGoZhGKWlpUaTJk2Mm2++2WMsl156qdG5c2fH/fXr1xvJyclGhw4djNdee81YsmSJ8bvf/c6Ii4szJkyY4PJY+3NnZGQYv//97428vDxj0aJFxn//+18jLi7O6NWrl/H2228bCxcuNLp162a0aNHCcP9o+/p8vrxOf95ff16nN778fjZt2mS8+OKLhiRj8uTJxqpVq4z169dXeE7n9/Ohhx4yPvzwQ+PZZ5816tata1xyySXGyZMnfX5uu6ZNmxqjR4923H/qqaeM2rVrG5KMHTt2GIZhfj6SkpKMhx9+OGifgcpe4/nnn2888cQTRl5envHwww8bkox7773XuOCCC4y//e1vRl5enjFy5EhDkvHmm286Hu/L2LZv327cd999hiTjrbfeMlatWmWsWrXKKCoq8hjDmT5Lvr7PH330kWG1Wo0rrrjCeOutt4yFCxcaXbt2NdLT0z0+7+7O9Bnx998AX38H7u666y5DkpGdnX3G48rLy43S0lKfbr7Yt2+fIcl47LHHfB5rZQ4fPmwkJycbN9xwQ0CPt9lsRmlpqbF3717jxRdfNOLj442XXnrJ7/Ps2bPHOOecc4wXX3zRMAzDGD58uFG3bl2/z5Ofn29IMpo0aWJYrVYjMTHRyM7ONpYvX+73uWIBgVEM6927t1G/fn1j7969FR5z2WWXGU2aNDFKSkoc28rKyoz27dsbzZs3N8rLyw3DOP2P4l//+leXx999991GrVq1HMeNHTvWqF27tnH48GHHMd99950hyXjhhRcc2/r162c0b97c8SVid++99xq1atUyDh486Nhmf+5HH33U5diuXbsaaWlpxokTJxzbSkpKjHPOOcfji8LX5/P1dRqGb++vP6/TG19/P/Z/2BYuXHjG8zm/xgcffNBl++uvv25IMubPn+/XcxuGYdxyyy3Geeed57jft29f44477jAaNGhg/P3vfzcMwzA+++wzQ5KxZMkSv9+bij4Dlb3GqVOnumzv1KmTI5CxKy0tNRo3bmwMHjzYsc3XsT399NOGJGPLli0VjqGyz5Kv73O3bt2M1NRU45dffnEcV1xcbDRs2LDSwMgwKv6M+PtvgK+/A2cffvihIclo0KCB0bhxY5/G6cvN2/vuLhSB0c0332zEx8cbq1evDujxd955p+M11KxZ05gxY0ZA5/nVr35ldO/e3fE7CjQwWrt2rXH//fcbb7/9trFs2TLj1VdfNS688ELDarUaH3zwQUBji2ak0mLUsWPHtHTpUg0ZMkSNGzf2eszRo0f1xRdf6Ne//rVLJ4PVatWtt96qwsJCbdiwweUxAwYMcLnfsWNHHT9+XHv37pUkjRo1Sr/88otyc3Mdx8ydO1cJCQm66aabJJldKh9//LFuuOEG1alTR2VlZY7bNddco+PHj3vthPjVr37lMvbVq1dr0KBBqlmzpmN7vXr1dP3117s8LpDnq+x1+vL+Bvo6nV+jv78ff9x8880u94cMGaL4+Hjl5+f7/dx9+vTR5s2btWXLFh0/flwrVqzQ1VdfraysLOXl5UmSPvroIyUkJOiKK64IymfAF9ddd53L/QsvvFAWi0X9+/d3bIuPj1fr1q21detWSWf/e3N3ps+Sr+/z0aNH9dVXX2nw4MGqVauW47jExESPz7s/AvmM+fs7OHz4sEaNGqWBAwfq7rvv1r59+7Rz584Kj8/MzNRXX33l0+1si40D8ec//1mvv/66pk2b5pIW9scf//hHffXVV3r//fc1atQo3XvvvT6nRe3efPNNvfvuu5o9e/ZZpw0vueQSPffccxo0aJB69OihkSNHauXKlWratKkefvjhszp3NKL4OkYdOnRINptNzZs3P+MxhmGoadOmHvvs/+AcOHDAZfs555zjcj8hIUGS9Msvv0iSLrroInXt2lVz587V6NGjZbPZNH/+fA0cOFANGzZ0nLOsrEwvvPCCXnjhBa9j89bi7DxO+9hTUlI8jnPfFsjzVfY6fXl/A32ddoH8fvxx7rnnutyPj4/XOeecowMHDvj93H379pVkBj8tW7ZUaWmpevfurT179uiJJ55w7Pu///s/1a5dWzt27Djrz4Av7J85u5o1a6pOnTouwYV9e3FxseN1nc3vzd2ZPkulpaU+vc/16tVTeXm5x+9M8vw9+iOQz5i/v4N77rlHpaWlmj17tpYtWybJrDOqKKipV6+eOnXq5NO5A63LCdTEiRM1adIkPfnkk7r33nsDPk96errS09MlSddcc40kafz48Ro+fHiF/9FyduTIEd1zzz267777lJqa6uiKPHnypCQzGK1Ro4bq1q0b8Bjr16+v6667Ti+99JJ++eUX1a5dO+BzRRsCoxjVsGFDWa1WFRYWVnhMgwYNFBcXp127dnnss/+PrlGjRn4/98iRI3X33Xfr+++/1+bNm7Vr1y6NHDnS5Xnt/yO95557vJ6jZcuWHtuc/1fUoEEDWSwW7dmzx+O43bt3u9wP9PnOxNf392yeN1S/H7vdu3erWbNmjvtlZWU6cOCAzjnnHL+fu3nz5mrbtq0++ugjtWjRQl26dFH9+vXVp08f3X333friiy/0+eefa+LEiY7XdrafgVAJxeflTM/ly/ts/7y7f7Ylz897KJ7fmT+/g3//+99644039O6776px48bq3LmzJDMwsgcE7pYuXaqsrCyfzr9lyxa1aNHC5/GcjYkTJ2rChAmaMGGC/vjHPwb13Jdeeqleeuklbd682afAaP/+/dqzZ4+mTp2qqVOneuxv0KCBBg4cqEWLFp3VuAzDkFQ1f+8iCYFRjKpdu7Z69uyphQsX6sknn/T6BVq3bl1169ZNb731lp555hnH/wjKy8s1f/58x5edv4YNG6axY8dq3rx52rx5s5o1a6bs7GzH/jp16igrK0vr1q1Tx44dXVJhvqpbt666dOmiRYsW6ZlnnnGc48iRI3rvvfdcjg3G87nz5f092+cN1e/H7vXXX3dJBfzrX/9SWVmZevXqFdBz9+3bV//617+Ulpama6+9VpLUtm1bpaen69FHH1VpaaljZikUv5Ng8Wds7jOJ/vL1fbZYLLr00kv11ltv6emnn3bMeJWUlOjdd98N6Ln9ef5A7N69W2PGjNHo0aMdKc2WLVuqfv36WrduXYWPs6fSfFFVqbQnnnhCEyZM0J/+9Cc99thjQT9/fn6+4uLidN555/l0/Lnnnqv8/HyP7U899ZSWLl2q//73v2f1nybJnE1877331KlTJ48Z1lhHYBTDnn32WV1xxRXq1q2b/vCHP6h169bas2eP/vOf/+jll19WYmKipkyZoquuukpZWVkaN26catasqRkzZujbb7/VP//5z4D+p1C/fn3dcMMNmjdvng4fPqxx48YpLs61nO3555/XFVdcoR49euiuu+5SixYtVFJSok2bNundd9/1aeG0xx9/XNdee6369eun+++/XzabTU8//bTq1aungwcPBv353Pny/p7t84bi92P31ltvKT4+XldddZXWr1+vP//5z7r44os1ZMiQgJ67T58+mjFjhvbv36/nnnvOZfvcuXPVoEEDl0AsFL+TYPF1bB06dHAcP3z4cNWoUUPnn3++EhMTfX4uX9/nJ554QldffbWuuuoq/e53v5PNZtNf/vIX1a1b1+Pz7o9QfcbuuOMONWjQQM8++6zL9ksuueSMLfuJiYnq0qVLQM/p7L///a+OHj2qkpISSdJ3333nWOPnmmuucay/ZLFY1LNnT49lFuymTp2qRx99VFdffbWuvfZaj/oy93V/znS+0aNHKykpSZdeeqlSUlK0f/9+LVy4ULm5uXrooYc8ZosqOletWrW8Lskxb948Wa1Wr/vONK6bbrpJ6enp6tKlixo1aqSNGzdq6tSp2rNnj+bNm+ftbYltYSz8RhX47rvvjN/85jfGOeecY9SsWdNIT083RowYYRw/ftxxzPLly43evXsbdevWNWrXrm1cdtllxrvvvutyHntHyr59+1y2z50712t3yJIlSxxdFz/++KPXsW3ZssUYNWqU0axZM6NGjRpG48aNje7duxuTJk3y6bkNwzDefvtto0OHDo7X9tRTTxm//e1vjQYNGgT0fP6+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rsTERH9PByCInNNrn30mOa2owWVEAMAHfgdGQ4cOVU5OjnJzc7V9+3YVFhZqwYIFuv322zVs2LBQjBGAH5o3l3r1kk6cMFNozmw26Y03zOAoP58gCQDc+Z1KO3nypB566CG99NJLKisrkyTVqFFDd911l5566iklJCSEZKDhQioN0aqw0FwR273mSDJnkmjpBxDLAv3+9jswsjt27Jh++uknGYah1q1bq06dOoGcJuIRGCGaOdccWa1S167S55+7HsOK2QBiUZXVGI0aNUolJSWqU6eOOnTooI4dO6pOnTo6evSoRo0a5e/pAISQe0v/5Mmex9hs0qpVpNYAQApgxshqtWrXrl1q0qSJy/b9+/fr3HPPdaTXYgUzRoglFaXXSK0BiDUhnzEqLi5WUVGRDMNQSUmJiouLHbdDhw5p8eLFHsESgMhiXzHbanXdbv/vEZ1rAKo7nxd4rF+/viwWiywWi9q2beux32KxaOLEiUEdHIDgy8kxLxOyaZO0Z490442u++2rZVNzBKA68jkwys/Pl2EY6t27t9588001bNjQsa9mzZrKyMhQampqSAYJILjsK2YXFnpfLXvZMqlVKzNAYsVsANWJ3zVGW7duVXp6uizOK8fFMGqMEOucO9fstUbOqDsCEI2qrCvtk08+0b///W+P7QsXLtTf//53f08HIMycO9e2bpUmTHDdT90RgOrE78DoqaeeUqNGjTy2N2nSRJO99QIDiHj21bLT0qQrr/TcT0s/gOrC78Bo69atatmypcf2jIwMr9dQAxBd2rQx02fuhgyRevc22/3nzKn6cQFAVfA7MGrSpIm++eYbj+1ff/21zjnnnKAMCkD4VNTSb0dqDUAs8zswuvHGG/Xb3/5W+fn5stlsstls+uSTT3T//ffrRve+XwBRybnuKDfXc7+9pR8AYo3P7fp2kyZN0tatW9WnTx/Fx5sPLy8v12233UaNERBDKmvpf+01KT3dLNimpR9ArAj4IrI//vijvv76a9WuXVsdOnRQRkZGsMcWEWjXB2jpBxB9Av3+DjgwOnnypLZs2aJWrVo5Zo5iEYERYCosNNNnrVtLH30kjRzput9qNdNvzBwBiARVto7RsWPHlJOTozp16uiiiy5ydKL99re/1VNPPeXv6QBECXtLf/PmZmeaO5tN2rDBDKBo6wcQrfwOjMaPH6+vv/5an376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", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject Text(0.5,1,u'convergence of power method for $\\\\lambda=1,2,3,4,5$')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = Float64[]\n", "y = x\n", "for i = 1:100\n", " y = A*y\n", " y = y / norm(y)\n", " push!(d, min(norm(y - X[:,1]), norm(-y - X[:,1]))) # pick the better of the two signs\n", "end\n", "semilogy(1:length(d), d, \"b.-\")\n", "xlabel(\"number of power steps\")\n", "ylabel(\"error in eigenvector\")\n", "title(L\"convergence of power method for $\\lambda=1,2,3,4,5$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Convergence rate\n", "\n", "How fast does the power method converge?\n", "\n", "Suppose that $A$ is diagonalizable with eigenvalues sorted in order of decreasing magnitude $$|\\lambda_1| > |\\lambda_2| > \\cdots$$. And suppose that we expand our initial $x$ in the basis of the eigenvectors:\n", "$$x = c_1 x_1 + c_2 x_2 + \\cdots$$\n", "Then, after $n$ steps, the power method produces:\n", "\n", "$$\n", "\\mbox{scalar multiple of } A^n x = \\mbox{multiple of } \\left( \\lambda_1^n c_1 x_1 + \\lambda_2^n c_2 x_2 + \\lambda_3^n c_3 x_3 + \\cdots \\right)\n", "= \\mbox{multiple of } \\lambda_1^n \\left[ c_1 x_1 + (\\lambda_2/\\lambda_1)^n c_2 x_2 + (\\lambda_3/\\lambda_1)^n c_3 x_3 + \\cdots \\right]\n", "$$\n", "\n", "The overall exponentially growing (or decaying) term $\\lambda_1^n$ gets removed by the normalization. The key thing is that the $x_2$, $x_3$ and other \"error\" terms not proportional to $x_1$ decay like the *ratios* of their eigenvalues/λ₁to the n-th power. \n", "\n", "For large $n$ the error is dominated by the $x_2$ term (the *next*-biggest |λ|), since that term decays most slowly, and the magnitude of this term decays proportional to $|\\lambda_2/\\lambda_1|^n$: the *ratio* of the magnitudes. \n", "\n", "For example, in our case above, we'd expect the error to decay proportional to $(4/5)^n$:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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EhLg6+sLX19fAJpEyNfXFx9//DEAICwsDIsXL8bs2bPh4+OD2NhY7Ny5E25ubqZsNhERUZ127do1pKSk4MKFC+jSpQuWLFkCQzv8GNoxWwigZ0/z3DG7Vu1jVBtVdR8EIiIic/fXX39h1KhR2lMpQkNDsXr1ajRq1EgvNiNDUz47fx4YM0Z+T6nUlN9qcjPIOrmPEREREZlOo0aNsHXrVixZsgRWVlbYvn07fH19Da72Li2vtWql/xy1GkhONo8l/RwxegSOGBEREQFJSUkICwvDhQsX4OnpiV9//RXKsifOovwds596CsjJqbkl/RwxIiIiIqPx8/NDUlISwsPDsXHjRoNJEaA/50ihABo2BLKzzWNJP0eMHoEjRkREROVbu3YtWrRogd69e8uul845atVKU0Z74QX99x48qCm/GUNVf3+bxc7XREREVPucOnUK48aNw4MHD/DRRx/h448/1h67VZEds3//XbOCrXXrmp2Y/TAspREREVGVtG7dGuHh4RBCYM6cOejVqxcyDNTHDC3pB4B33ql9S/pZSnsEltKIiIgebvPmzRgzZgxyc3PRuHFjfPfddxg4cKBeXGl5TaHQlNB0M5DqXtLPyddERERkEq+99hqSkpLg5+eHW7duYdCgQfjggw/04kqX9KvV8qQIqD3HiDAxIiIiosfWqlUrHDt2DJMnTwYAPPXUU+XGtm6tf4yIUml4D6SaxsSIiIiIqoW1tTUWL16M2NhYTJs2TXs9Ly9PFld2zpFSCaxcWTsmYHOO0SNwjhEREVHV5efno1OnTggODsaXX34JGxsb7T3dJf3VnRRxuT4RERHVOnv27MHZs2dx9uxZHD16FNHR0fD09ASgv6S/NmApjYiIiIzm5Zdfxp49e9C0aVOcPn0aAQEBWLdunambVS4mRkRERGRUffv2hUqlQq9evZCfn4/w8HCEh4frzT2qDZgYERERkdE1a9YMe/fuxezZs6FQKLBu3TrtCrbahIkRERER1QilUol///vfOHjwIHx8fDBnzhxTN0kPJ18TERFRjerRoweSkpIgSZKpm6KHI0ZERERU42pjUgQwMSIiIiLSYmJEREREVIKJEREREVEJJkZEREREJZgYEREREZVgYkRERERUgokRERERUQkmRkREREQlmBgRERERlWBiRERERFSCiRERERFRCSZGRERERCWYGBERERGVYGJEREREVMLC1A2o7YQQAICcnBwTt4SIiIgqqvT3dunv8YpiYvQIubm5AABXV1cTt4SIiIgqKzc3Fw4ODhWOl0RlU6knTHFxMa5fv4769etDkqQqPycnJweurq64evUqGjRoUI0tpLLY1zWHfV1z2Nc1h31dc4zZ10II5Obmonnz5lAoKj5ziCNGj6BQKODi4lJtz2vQoAH/h1ZD2Nc1h31dc9jXNYd9XXOM1deVGSkqxcnXRERERCWYGBERERGVUM6aNWuWqRvxpFAqlQgJCYGFBSuYxsa+rjns65rDvq457OuaU9v6mpOviYiIiEqwlEZERERUgokRERERUQkmRkREREQlmBgRERERlWBiVAOWL18Od3d32NjYwN/fH4cPHzZ1k8xeZGQkOnbsiPr166Np06YIDQ1FamqqLOb+/ft499134ejoCDs7O7zwwgvIyMgwUYvrjsjISEiShIiICO019nX1uXbtGt544w00btwY9erVg4+PDxITE7X3hRCYNWsWmjdvDltbW4SEhOC3334zYYvNU1FRET766CO4u7vD1tYWHh4emD17NoqLi7Ux7Ouqi42NxeDBg9G8eXNIkoTt27fL7lekb2/fvo3hw4fDwcEBDg4OGD58OLKzs43ediZGRhYdHY2IiAjMnDkTycnJ6N69O/r374/09HRTN82sHTp0CBMmTMDx48exb98+FBUVoW/fvsjPz9fGREREYNu2bdi8eTOOHDmCvLw8DBo0CGq12oQtN28nT57EN998g/bt28uus6+rx+3bt9G1a1dYWlpi165dOHv2LBYuXIinnnpKGzN//nx8+eWXWLZsGU6ePAlnZ2f06dNHe64jVcwXX3yBr7/+GsuWLUNKSgrmz5+PBQsWYOnSpdoY9nXV5efno0OHDli2bJnB+xXp29dffx0qlQq7d+/G7t27oVKpMHz4cOM3XpBRderUSYwbN052zdPTU8yYMcNELaqbsrKyBABx6NAhIYQQ2dnZwtLSUmzevFkbc+3aNaFQKMTu3btN1UyzlpubK1q3bi327dsngoODxeTJk4UQ7OvqNH36dNGtW7dy7xcXFwtnZ2cxb9487bV79+4JBwcH8fXXX9dEE+uMgQMHirfeekt27eWXXxZvvPGGEIJ9XZ0AiG3btmm/rkjfnj17VgAQx48f18bExcUJAOL33383ans5YmRE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", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "semilogy(1:length(d), d, \"b.-\")\n", "semilogy(1:length(d), (4/5).^(1:length(d)), \"k--\")\n", "xlabel(\"number of power steps\")\n", "ylabel(\"error in eigenvector\")\n", "title(L\"convergence of power method for $\\lambda=1,2,3,4,5$\")\n", "legend([\"error\", L\"(4/5)^n\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pros/cons of the power method\n", "\n", "* Our analysis shows that the power method can converge very slowly if $|\\lambda_2/\\lambda_1|$ is close to 1. And if two eigenvalues have *equal* magnitude, the method may not converge *at all*.\n", "\n", "* Also, it only gives us $x_1$. What if we want $x_2$, or in general a *few* of the biggest-|λ| eigenvectors?\n", "\n", "Still, the power method is the **starting point for many more sophisticated methods,** including the [Arnoldi method](https://en.wikipedia.org/wiki/Arnoldi_iteration) (which gives a few of the biggest eigenvectors) or the [QR algorithm](https://en.wikipedia.org/wiki/QR_algorithm) which gives *all* of the eigenvectors.\n", "\n", "And the power method *by itself* can still be a pretty good method if we know that one eigenvalue is bigger than all of the others, e.g. for Markov matrices. And because it is so simple, the power method is easy to apply in lots of different cases, especially since:\n", "\n", "* The power method only requires you to supply a \"black box\" that **multiplies matrix × vector** This is a *huge* advantage for problems where the matrix is *mostly zeros* (or has some other special structure), in which you can multiply **matrix × vector much more quickly than for a generic matrix**.\n", "\n", "An interesting application of the power method comes from how Markov matrices relate to the [Google PageRank](https://en.wikipedia.org/wiki/PageRank). Google actually runs this algorithm on a *huge* Markov matrix where rows/cols are *web pages*: the matrix is [*over a billion by billion entries*](https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/moler/exm/chapters/pagerank.pdf). But since most web pages only link to a few other pages, the matrix is mostly zeros, and you can multiply it by a random vector in a few billion operation, rather than a billion² operations. (They don't even store the whole matrix: you only store the nonzero entries of such a [sparse matrix](https://en.wikipedia.org/wiki/Sparse_matrix).)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting an eigenvalue from the eigenvector\n", "\n", "In the textbook method of solving eigenproblems, we first find the eigenvalues from the roots of the characteristic polynomial, and then we find the eigenvectors from $N(A - \\lambda I)$ for each eigenvalue.\n", "\n", "The power method, however, gives you an eigenvector first! How do you find the eigenvalue? And how do you find an *approximate* eigenvalue given the *approximate* eigenvector that you get from a *finite* number of iterations.\n", "\n", "For example, suppose that we do 30 iterations on the example above:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Array{Float64,1}:\n", " -0.911343 \n", " -0.119255 \n", " 0.0624392\n", " 0.0944356\n", " 0.37738 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = x\n", "for i = 1:30\n", " y = A*y\n", " y = y / norm(y)\n", "end\n", "y" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Array{Float64,1}:\n", " -4.55708 \n", " -0.596806\n", " 0.312321\n", " 0.474062\n", " 1.88575 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A*y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If $y$ was the *exact* eigenvector, we could just multiply $Ay$ and see how much each component increased: they would all increase (or decrease) by the same factor λ.\n", "\n", "But, for an approximate eigenvector, each component of $Ay$ will increase by a slightly different amount:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Array{Float64,1}:\n", " 5.0004 \n", " 5.00445\n", " 5.00201\n", " 5.01995\n", " 4.99694" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(A*y) ./ y # divide each element of Ay elementwise (./ in Julia) by the corresponding element of y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These are all pretty close to the true eigenvalue λ=5, but don't quite agree. Clearly, we need some kind of average?\n", "\n", "A problem with dividing things elementwise is that some of the eigenvector elements might be zero (or nearly zero), and then our estimate will go crazy. Instead, we need to take the average in some other way.\n", "\n", "Instead, the most common approach is to use the [Rayleigh quotient](https://en.wikipedia.org/wiki/Rayleigh_quotient):\n", "\n", "$$\n", "\\lambda \\approx \\frac{y^T A y}{y^T y}\n", "$$\n", "\n", "where $y$ is our estimated eigenvector. If we have an exact eigenvector, so that $Ay = \\lambda y$, then the Rayleigh quotient will gives us exactly $\\lambda$. Otherwise, it is a kind of weighted-average (weighted by the components $y_k^2$), and is a reasonable approximation:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5.0001452498336105" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dot(y, A*y) / dot(y,y) # a Rayleigh quotient in Julia" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Clearly, this is a pretty good estimate for the true eigenvalue 5. Let's see how it converges by plotting the error as a function of the number of power iterations:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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zZo1OHjwIJycnHD16lX4+/tj3rx5yM7Oljo8o2LCREREZEQFy3TffWd4Pr+TTk569+6NS5cuYdiwYcjLy8OyZcuQLJeszkjMpA6AiIioqnF21rwaN9aU6PQ76Q4dAurXB27dApo00YyVmr29PbZu3Yo333wT6enpaNSokfacEAKK/FntlRSfMBEREUmkqE66L74AGjSQ37wmABg4cCBGjRql/ToyMhL+/v74/fffpQvKCJgwERERSUh/wculS3XPy21eU0FCCEybNg2nTp2Ct7c3li5dijz9x2WVBBMmIiIiieV30rm4AK1aGZ5Xq4F//1t+Sw8oFAr8+9//RlBQELKyshASEoJu3brh5s2bUodW7pgwERERyUiTJoUvPTBpkjxLdM7Ozjh48CDWrFmDGjVqIDIyEl5eXli7di0q02YiTJiIiIhkpKh5TfnkWKJTKBQYO3YsLly4gM6dO+PJkycYN24cDh8+LHVo5YZ7yZUR95IjIqKKlJysWV4gNVWzsKW+efM0idONG/LppAOAvLw8fP311zhz5gy2b98uu+65sv7+ZsJURkyYiIjIGIraxLcguW3iC+guNZCWloZZs2bh888/R+3atSWNi5vvEhERVUL6JTqVCggM1B0j1zJdvmnTpmHdunXw8PDAnj17JIyq7JgwERERyVzBpQdu3wZmzzYco1YDR47Ir5MOAIKDg+Hp6Ym//voLAwcOxPDhw5GWliZ1WKXChImIiMgEFNzEt6hOuvfek2cnXevWrXH27FnMmTMHSqUS27Ztg6enJ3755RepQysxJkxEREQmxhQ76SwtLbFo0SJERUWhadOmuHPnDnr37o2NGzdKHVqJMGEiIiIyQQXLdDt2GJ5Xq4HduzVJk5zKdH5+fjh//jymTp2KevXq4Y033pA6pBJhl1wZsUuOiIjk4kWddAoFIIQ8O+nS09O1v0OFENiwYQOGDBkCKyurCv1MdskRERFVQYV10rVrp/l7/mMROZbpCiYsW7duxfvvvw9vb2+cOXNGwqgKx4SJiIioEtDvpPviC8MxajUQGSmvEl0+R0dH1K1bF1evXoW/vz8+/fRTqUPSwYSJiIiokihJJ93QofLspAsKCsKlS5cwZMgQqNVqKAsLXkKcw1RGnMNERERyt369pgynVv89l6kglUrzNEou26rkO3ToEHr27AkzM7NyvzbnMBEREZGOknTS5Zfn5FSm6927d4UkSy9DXtEQERFRuXJ21rySkzUlOv1OutGjNYmTXDvp5IJPmIiIiKqAwjrpGjcGcnPl3UknF1UiYXrzzTdhb2+Pt99+2+DcgQMH0KxZMzRp0gTfffedBNEREREZh34n3erVhmPUaiA6Wl4lOjmoEpO+jx07hszMTGzevBk//fST9nhubi5atGiBY8eOwdbWFm3atMHp06dRq1atYq/JSd9ERGTqXrTgJVA5S3Sc9P0C3bp1g42NjcHxM2fOoGXLlqhXrx5sbGzQt29fk9oIkIiI6GXol+n0sUT3N8kTpsjISPTr1w9OTk5QKBTYu3evwZiVK1eiQYMGqFatGnx8fHDixIly+ey7d++iXr162q+dnZ1x586dcrk2ERGRKShYptu50/C8Wg3ExMivk87YJO+Se/LkCVq1aoX33nsPb731lsH5nTt3Ijg4GCtXrkTHjh2xZs0a9OnTB1euXIGrqysAwMfHB9nZ2QbvPXz4MJycnIr87MKqkQr9LZ+JiIgqueI66YYNA548qdqddJInTH369EGfPn2KPP/VV19hzJgxeP/99wEAy5Ytwy+//IJVq1YhNDQUABATE1Omz65Xr57OE6Xk5GR06NCh0LHZ2dk6SVl6enqZPpOIiEiu8kt0+YtdKpWAgwOQmvr3mPwyXVCQ/Ba8rEiSl+ReJCcnBzExMQgMDNQ5HhgYiOjo6Je+fvv27XHp0iXcuXMHGRkZ+M9//oOgoKBCx4aGhsLOzk77cnFxeenPJyIikpuCJbqEBGDLFsMxajVw40bVKtNJ/oTpRe7fvw+1Wg1HR0ed446Ojrh3716JrxMUFITY2Fg8efIEzs7O2LNnD9q1awczMzOEhYWhW7duyMvLw8yZM/HKK68Ueo05c+YgJCRE+3V6ejqTJiIiqpTyS3T5CivTzZsHnDqlOV4VynSyTpjy6c8rEkKUaq7Rizrf+vfvj/79+xd7DUtLS1haWpb4M4mIiCoD/TJd/p50BQs9VaFMJ+uSnIODA1QqlcHTpNTUVIOnTkRERFQxCpbpEhOBJUsMx+SX6SorWSdMFhYW8PHxQXh4uM7x8PBw+Pv7SxQVERFR1ePsDHTtqvlz8GBNGU5fYmLlndMkeUkuMzMTNwqkpLdu3UJcXBxq1aoFV1dXhISEYPjw4Wjbti38/Pywdu1aJCYmYvz48RJGTUREVHXpl+nyjRyp+bMyzmmSfGuUiIgIdOvWzeD4yJEjsWnTJgCahSuXLFmClJQUeHh4YOnSpQgICDBypLq4NQoREVV1ycmaMtzz54BeQzuUSk2XndzmNJX197fkCZOpYsJERESkcewY0L274fFx44A5c4CbN4EmTeSRPHEvOSIiIpJEkyaFz2laswaoX1+TTLm5AevXGz20csOEiYiIiF6K/ia+KhXwzju6Y0x9I18mTERERPTSCi49cPs28OGHhmPUamDfPtPspJO8S46IiIgqh5KsED5x4t/nTKmTjk+YiIiIqNzpl+n0N+gwtRIdEyYiIiKqEAXLdDt2GJ5Xq4F160xjE18uK1BGXFaAiIio5JKTNZ1y+iW6goxRpuOyAkRERCRbhXXS9eypO0bOZTpO+iYiIiKjGDMGCArSrA7euDFw/Tpw5IjuGLUa+O9/AVdX+Sx2CTBhIiIiIiMqSSfdqFF/n5NLJx1LckRERCQJU+qkY8JEREREkilJJ92NG0YPywBLckRERCSp/DJdcrJhiU6l0sx3khqfMBEREZEsFNZJt2aNPCZ+8wkTERERyYZ+J50ckiWACRMRERHJjH4nnRywJEdERERUDCZMRERERMVgwkRERERUDCZMRERERMVgwkRERERUDCZMRERERMVgwkRERERUDCZMRERERMVgwkRERERUDCZMRERERMVgwkRERERUDO4lV0ZCCABAenq6xJEQERFRSeX/3s7/PV5STJjKKCMjAwDg4uIicSRERERUWhkZGbCzsyvxeIUobYpFAIC8vDzcvXsXNjY2UCgUZb5Oeno6XFxckJSUBFtb23KMkPTxXhsP77Xx8F4bD++18VTkvRZCICMjA05OTlAqSz4ziU+YykipVMLZ2bncrmdra8v/AI2E99p4eK+Nh/faeHivjaei7nVpnizl46RvIiIiomIwYSIiIiIqhmrBggULpA6iqlOpVOjatSvMzFghrWi818bDe208vNfGw3ttPHK715z0TURERFQMluSIiIiIisGEiYiIiKgYTJiIiIiIisGEiYiIiKgYTJgktHLlSjRo0ADVqlWDj48PTpw4IXVIJi80NBTt2rWDjY0NateujQEDBuDq1as6Y7KzszF58mQ4ODigRo0a6N+/P5KTkyWKuPIIDQ2FQqFAcHCw9hjvdfm5c+cOhg0bhldeeQXV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", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Δλ = Float64[]\n", "y = x\n", "for i = 1:100\n", " y = A*y\n", " y = y / norm(y)\n", " λ̃ = dot(y, A*y) / dot(y,y)\n", " push!(Δλ, abs(λ̃ - 5))\n", "end\n", "semilogy(1:length(Δλ), Δλ, \"b.-\")\n", "semilogy(1:length(Δλ), (4/5).^(1:length(Δλ)), \"k--\")\n", "xlabel(\"number of power steps\")\n", "ylabel(\"error in eigenvalue\")\n", "title(L\"convergence of power method $\\lambda$ for $\\lambda=1,2,3,4,5$\")\n", "legend([\"error\", L\"(4/5)^n\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is converging at the same rate.\n", "\n", "(For symmetric matrices, it turns out that the eigenvalue converges even faster than the eigenvalue, but that is not a topic for 18.06.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Shift-and-invert\n", "\n", "The power method finds the eigenvector (and eigenvalue) for the biggest |λ|. If, instead, we want to find the *smallest* |λ|, we can apply the power method to $A^{-1}$. More generally, if we want to find the eigenvalue *closest to some μ*, we can apply the power method to $(A - \\mu I)^{-1}$. This is called a **shift and invert method**:\n", "\n", "\n", "* Starting with a random $x$, repeatedly solve $(A-\\mu I)y = x$ and then replace $x \\leftarrow y / \\Vert y \\Vert $.\n", "\n", "Notice that we don't usually compute $(A - \\mu I)^{-1}$ explicitly; instead, we solve $(A-\\mu I)y = x$ by whatever the best available method is. (If $A$ is a huge sparse matrix, this is a tricky problem in itself, which requires its own iterative or sparse methods.)\n", "\n", "If $\\lambda$ is the closest eigenvalue to $\\mu$, and $\\lambda^\\prime$ is the second-closest, the same analysis as above tells us that the errors on the n-th iteration should go like\n", "$$\n", "\\mathrm{error} \\sim \\left| \\frac{\\lambda - \\mu}{\\lambda^\\prime - \\mu} \\right|^n ,\n", "$$\n", "since $(\\lambda - \\mu)^{-1}$ and $(\\lambda^\\prime - \\mu)^{-1}$ are the largest- and second-largest-magnitude eigenvalues of $(A - \\mu I)^{-1}$, respectively.\n", "\n", "Let's try this on our example matrix above to find the eigenvalue closest to 2.1. This should give us 2, and the error should go as $|2-2.1|^n / |3-2.1|^n = 1/9^n$:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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S3Xrwk8/wdKlUKkSHD9urpJQty78+KO50PyqVeZ/xWT5tB6rV6+mZcuW2fb37NmT2bNnA+bEue+++y5Hjx4lJCSEiRMn0qxZMycnzcpdhwWLiIi4krQ0mDIFRo+Gs2ezPufhAdOnmwvS24u7nr8tL9jclbt+4CIiIq7o1Cl45RXzkun1PD3NEabXFqK/U+56/rb8kqiIiIhIsWLmiNIbpaebqyjkdyrYRERExCVUrmxeBr2ep6d5n1t+p4JNREREXEJQkHnPmqenue3pCdOm2e9yqDtzi4lzRUREJH/o3RvatjUvg1aqpGLtGhVsIiIi4lKCglSo3UiXREVERERcnAo2ERERERengk1ERETExalgExEREXFxKthEREREXJwKNhEREREXp4JNRERExMWpYBMRERFxcSrYRERERFycCjYRERERF6eCTURERMTFaS3RXDIMA4CUlBSLk4iIiMjtunbevnYedxcq2HLp3LlzAJQtW9biJCIiIpJT586dIzAw0OoYt81muFuJ6SIyMjI4cuQIhQoVwmazWR3HrlJSUihbtiwHDx4kICDA6jhOp/efv98/6HuQ398/6HuQl9+/YRicO3eOMmXK4OHhPneGqYctlzw8PAgKCrI6hkMFBATkuX+oOaH3n7/fP+h7kN/fP+h7kFffvzv1rF3jPqWliIiISD6lgk1ERETExXmOGjVqlNUhxPV4enrSokULvLzy51Vzvf/8/f5B34P8/v5B34P8/v5djQYdiIiIiLg4XRIVERERcXEq2ERERERcnAo2ERERERengk1ERETExalgEwCio6OpX78+hQoVokSJEnTs2JEdO3ZYHcsy0dHR2Gw2BgwYYHUUpzp8+DDdu3enWLFi+Pv7U7t2beLi4qyO5RRXr17ltddeo0KFCvj5+VGxYkXefPNNMjIyrI7mMGvXrqVDhw6UKVMGm83G0qVLszxvGAajRo2iTJky+Pn50aJFC37//XeL0trfrd7/lStXGDZsGKGhodx1112UKVOGHj16cOTIEQsT29/f/Qxc77nnnsNmszFp0iQnJpRrVLAJAGvWrOHFF1/k119/JSYmhqtXrxIZGcn58+etjuZ0sbGxTJ8+nVq1alkdxanOnDlD48aNKVCgAN999x1//PEH48ePp3DhwlZHc4px48bxySefMHnyZLZv3867777Le++9x0cffWR1NIc5f/48YWFhTJ48+abPv/vuu0yYMIHJkycTGxtLqVKlaNOmTeZayu7uVu//woULxMfH889//pP4+Hi+/vpr/vrrL/7xj39YkNRx/u5n4JqlS5fy22+/UaZMGSclk2wMkZtISkoyAGPNmjVWR3Gqc+fOGZUrVzZiYmKM5s2bG/3797c6ktMMGzbMaNKkidUxLPPggw8aTz/9dJZ9jzzyiNG9e3eLEjkXYCxZsiRzOyMjwyhVqpTxzjvvZO67dOmSERgYaHzyySdWRHSoG9//zWzcuNEAjP379zsplXP9f9+DQ4cOGffcc4+xbds2Izg42Jg4caIF6UQ9bHJTycnJABQtWtTiJM714osv8uCDD9K6dWurozjdsmXLqFevHo899hglSpSgTp06zJgxw+pYTtOkSRN+/PFH/vrrLwC2bNnC+vXrad++vcXJrLF3716OHTtGZGRk5j4fHx+aN2/Ohg0bLExmneTkZGw2W77pdQbIyMggKiqKV155hZo1a1odJ1/T9MWSjWEYDBo0iCZNmhASEmJ1HKdZuHAh8fHxxMbGWh3FEnv27GHq1KkMGjSIV199lY0bN9KvXz98fHzo0aOH1fEcbtiwYSQnJ1OtWjU8PT1JT09nzJgxPPHEE1ZHs8SxY8cAKFmyZJb9JUuWZP/+/VZEstSlS5cYPnw43bp1y5OLof9/xo0bh5eXF/369bM6Sr6ngk2yeemll9i6dSvr16+3Oor/GqHVAAAOXElEQVTTHDx4kP79+/P999/j6+trdRxLZGRkUK9ePcaOHQtAnTp1+P3335k6dWq+KNgWLVrE/PnzWbBgATVr1iQhIYEBAwZQpkwZevbsaXU8y9hstizbhmFk25fXXblyha5du5KRkcGUKVOsjuM0cXFxfPDBB8THx+e7z9wV6ZKoZPHyyy+zbNkyVq1aRVBQkNVxnCYuLo6kpCTCw8Px8vLCy8uLNWvW8OGHH+Ll5UV6errVER2udOnS1KhRI8u+6tWrc+DAAYsSOdcrr7zC8OHD6dq1K6GhoURFRTFw4ECio6OtjmaJUqVKAf/rabsmKSkpW69bXnblyhW6dOnC3r17iYmJyVe9a+vWrSMpKYly5cpl/l7cv38/gwcPpnz58lbHy3fUwyaA+Vfzyy+/zJIlS1i9ejUVKlSwOpJT3X///SQmJmbZ99RTT1GtWjWGDRuGp6enRcmcp3Hjxtmmcvnrr78IDg62KJFzXbhwAQ+PrH/Denp65ulpPW6lQoUKlCpVipiYGOrUqQNAWloaa9asYdy4cRanc45rxdrOnTtZtWoVxYoVszqSU0VFRWW7n7dt27ZERUXx1FNPWZQq/1LBJoB5s/2CBQv45ptvKFSoUOZf1YGBgfj5+VmczvEKFSqU7X69u+66i2LFiuWb+/gGDhxIREQEY8eOpUuXLmzcuJHp06czffp0q6M5RYcOHRgzZgzlypWjZs2abN68mQkTJvD0009bHc1hUlNT2bVrV+b23r17SUhIoGjRopQrV44BAwYwduxYKleuTOXKlRk7diz+/v5069bNwtT2c6v3X6ZMGTp37kx8fDzLly8nPT098/di0aJF8fb2tiq2Xf3dz8CNRWqBAgUoVaoUVatWdXZUsXiUqrgI4KaPWbNmWR3NMvltWg/DMIx///vfRkhIiOHj42NUq1bNmD59utWRnCYlJcXo37+/Ua5cOcPX19eoWLGiMXLkSOPy5ctWR3OYVatW3fTffc+ePQ3DMKf2eOONN4xSpUoZPj4+RrNmzYzExERrQ9vRrd7/3r17/9/fi6tWrbI6ut383c/AjTSth3VshmEYTqoNRURERCQXNOhARERExMWpYBMRERFxcSrYRERERFycCjYRERERF6eCTURERMTFqWATERERcXEq2ERERERcnAo2EbG7Fi1aMGDAAKtjZDIMg2effZaiRYtis9lISEiwOpKISI6oYBORPG/FihXMnj2b5cuXc/To0Xyz3Ng15cuXZ9KkSVbHEJE7oLVERcQtpKenY7PZsi3Qfjt2795N6dKliYiIcEAy57py5QoFChSwOoaIOJl62ETyqBYtWtCvXz+GDh1K0aJFKVWqFKNGjcp8ft++fdkuD549exabzcbq1asBWL16NTabjZUrV1KnTh38/Pxo1aoVSUlJfPfdd1SvXp2AgACeeOIJLly4kKX9q1ev8tJLL1G4cGGKFSvGa6+9xvUr4aWlpTF06FDuuece7rrrLu67777MdgFmz55N4cKFWb58OTVq1MDHx4f9+/ff9L2uWbOGBg0a4OPjQ+nSpRk+fDhXr14FoFevXrz88sscOHAAm81G+fLlb3qMa+0tXbqUKlWq4OvrS5s2bTh48GCW102dOpV7770Xb29vqlatyrx58zKfGzx4MB06dMjcnjRpEjabjf/85z+Z+6pWrcq0adMyt2fNmkX16tXx9fWlWrVqTJkyJdtn9MUXX9CiRQt8fX2ZP3/+TfOPGjWKcuXK4ePjQ5kyZejXrx9g/hzs37+fgQMHYrPZsNlsmV+zYcMGmjVrhp+fH2XLlqVfv36cP38+8/ny5cvz1ltv0a1bNwoWLEiZMmX46KOPbqtdEbEza5cyFRFHad68uREQEGCMGjXK+Ouvv4w5c+YYNpvN+P777w3DMDIXt968eXPm15w5cybL4tbXFoZu2LChsX79eiM+Pt6oVKmS0bx5cyMyMtKIj4831q5daxQrVsx45513srRdsGBBo3///saff/5pzJ8/3/D398+ymHy3bt2MiIgIY+3atcauXbuM9957z/Dx8TH++usvwzAMY9asWUaBAgWMiIgI4+effzb+/PNPIzU1Ndv7PHTokOHv72+88MILxvbt240lS5YYxYsXN9544w3DMAzj7NmzxptvvmkEBQUZR48eNZKSkm76/brWXr169YwNGzYYmzZtMho0aGBERERkvubrr782ChQoYHz88cfGjh07jPHjxxuenp7GTz/9ZBiGYSxbtswIDAw00tPTDcMwjI4dOxrFixc3XnnlFcMwDOPo0aMGYGzfvt0wDMOYPn26Ubp0aWPx4sXGnj17jMWLFxtFixY1Zs+eneUzKl++fOZrDh8+nC37l19+aQQEBBjffvutsX//fuO3337L/F6fOnXKCAoKMt58803j6NGjxtGjRw3DMIytW7caBQsWNCZOnGj89ddfxs8//2zUqVPH6NWrV+Zxg4ODjUKFChnR0dHGjh07jA8//NDw9PTM/Bm6VbsiYl8q2ETyqObNmxtNmjTJsq9+/frGsGHDDMPIWcH2ww8/ZL4mOjraAIzdu3dn7nvuueeMtm3bZmm7evXqRkZGRua+YcOGGdWrVzcMwzB27dpl2Gy2bMXH/fffb4wYMcIwDLOAAoyEhIRbvs9XX33VqFq1apa2Pv74Y6NgwYKZhdPEiRON4ODgWx7nWnu//vpr5r7t27cbgPHbb78ZhmEYERERxjPPPJPl6x577DGjffv2hmGYxaGHh4exadMmIyMjwyhWrJgRHR1t1K9f3zAMw1iwYIFRsmTJzK8tW7assWDBgizHe+utt4xGjRoZhvG/z2jSpEm3zD5+/HijSpUqRlpa2k2fDw4ONiZOnJhlX1RUlPHss89m2bdu3TrDw8PDuHjxYubXPfDAA1le8/jjjxvt2rW7rXZFxH50SVQkD6tVq1aW7dKlS5OUlHRHxylZsiT+/v5UrFgxy74bj9uwYcMsl98aNWrEzp07SU9PJz4+HsMwqFKlCgULFsx8rFmzht27d2d+jbe3d7b3cKPt27fTqFGjLG01btyY1NRUDh06lKP36eXlRb169TK3q1WrRuHChfm/9u4vpKk+jAP4d60dOc42Bg0FKccoUSPbFrUjkpP+EHVhRSWBYBchi6klg7CLyAKDKIQo6CaiUQRBqBfeNYlTpEVoUFKyLirwIihDwYso254uej14cv7J15cOr9/Pleec3+95zvkJ8rD9nuPw8LCRq7Ky0jSnsrLSuO52uxEIBKDrOoaGhrBixQpEo1G8fPkSExMT0HUdkUgEAPD582eMjIzg2LFjpjVob283rQEA0z1lc/jwYXz9+hV+vx8NDQ3o7u42vhKezeDgIBKJhCn37t27kclk8P79e2NcRUWFaV5FRYXxvIvJS0SLw6YDov+x3zen22w2ZDIZADA278u0fWWTk5PzxrHZbHPGXYhMJgO73Y7BwUHY7XbTtby8PONnVVVNhVg2IjJjzNQzzTc3m2xzpp/Llmv6uerqaui6DkVREIlE4PF4sGHDBvT19UHXdeN1J1PrdePGDYTDYVPM39fE6XTOec9r1qxBKpVCMplEb28vYrEYLl++jEePHs3aoJDJZBCNRrPuOVu7du2c+aaedzF5iWhxWLARLVNerxcA8PHjRwSDQQBY0veTPXv2bMbx+vXrYbfbEQwGkU6n8enTJ2zbtu1f5SkrK0NnZ6epcOrv78eqVatQWFj4R7F+/PiBgYEBbN26FQCQSqUwPj6OkpISAEBpaSmePHmC+vp6Y05/fz9KS0uN4+rqaty8eRMrV67Ezp07AQCRSAT37t3D27dvjU/Y8vPzUVhYiHfv3qGurm7xC/APVVVRU1ODmpoaNDY2oqSkBENDQwiFQlAUBel02jQ+FArh9evXWLdu3Zxxs/0ep9ZjvrxEtHRYsBEtU6qqQtM0XLx4ET6fD6Ojozhz5sySxR8ZGUE8Hkc0GsWLFy9w7do1dHR0AACKi4tRV1eH+vp6dHR0IBgMYnR0FA8fPsTGjRuxd+/eBeeJxWK4cuUKmpub0dTUhFQqhba2NsTj8T9+BYjD4UBzczOuXr0Kh8OBpqYmaJpmFHCnTp1CbW0tQqEQduzYgZ6eHnR1daG3t9eIUVVVhYmJCfT09KC9vR3AryLu4MGD8Hq9KCsrM8aeO3cOJ06cgMvlwp49e/Dt2zcMDAxgbGwM8Xh8wfedSCSQTqcRDoeRm5uLO3fuQFVVFBUVAfjV7fn48WMcOXIEOTk5WL16NVpbW6FpGhobG9HQ0ACn04nh4WEkk0lTJ2hfXx8uXbqE/fv3I5lM4v79+0bX63x5iWgJ/c0NdET034lEInLy5EnTuX379snRo0eN4zdv3oimaaKqqgQCAXnw4EHWpoOxsTFjzq1bt8TtdpvitrW1yaZNm0y5Y7GYHD9+XFwul3g8Hjl9+rSpMeD79+9y9uxZ8fl84nA4pKCgQA4cOCCvXr2aNc9sdF2XLVu2iKIoUlBQIK2trTI5OWlcX2jTgdvtls7OTvH7/aIoimzfvl0+fPhgGnf9+nXx+/3icDikuLhYbt++PSPW5s2bxev1Gs/75csXsdlscujQoRlj7969K4FAQBRFEY/HI1VVVdLV1SUi2RtDsunu7pZwOCwul0ucTqdommZqFHn69KmUl5dLTk6OTP+z//z5c9m1a5fk5eWJ0+mU8vJyuXDhgnG9qKhIzp8/L7W1tZKbmyv5+fmmBoj58hLR0rGJTNvAQkS0TCUSCbS0tGB8fPxv34pl+Hw+tLS0WOrfjBEtV+wSJSIiIrI4FmxEREREFsevRImIiIgsjp+wEREREVkcCzYiIiIii2PBRkRERGRxLNiIiIiILI4FGxEREZHFsWAjIiIisjgWbEREREQWx4KNiIiIyOJYsBERERFZ3E+GJgRlz644awAAAABJRU5ErkJggg==", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Δλ = Float64[]\n", "y = x\n", "for i = 1:15\n", " y = (A - 2.1I) \\ y\n", " y = y / norm(y)\n", " λ̃ = dot(y, A*y) / dot(y,y)\n", " push!(Δλ, abs(λ̃ - 2))\n", "end\n", "semilogy(1:length(Δλ), Δλ, \"b.-\")\n", "semilogy(1:length(Δλ), (1/9).^(1:length(Δλ)), \"k--\")\n", "xlabel(\"number of power steps\")\n", "ylabel(\"error in eigenvalue\")\n", "title(L\"convergence of shift-and-invert method $\\lambda$ for $\\lambda=1,2,3,4,5$, $\\mu = 2.1$\")\n", "legend([\"error\", L\"1/9^n\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yup, it converges at the expected rate!\n", "\n", "If you have a reasonable guess for the eigenvalue that you want, shift-and-invert can converge amazingly fast!" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Julia 0.6.0", "language": "julia", "name": "julia-0.6" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "0.6.0" }, "widgets": { "state": { "261a280b-0628-4842-8d64-15aa1b5543bc": { "views": [ { "cell_index": 5 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 1 }