{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "application/vnd.webio.node+json": { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": {}, "type": "node" }, "text/html": [ "
\n", "

The WebIO Jupyter extension was not detected. See the\n", "\n", " WebIO Jupyter integration documentation\n", "\n", "for more information.\n", "

\n" ], "text/plain": [ "WebIO._IJuliaInit()" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" } ], "source": [ "using LinearAlgebra, PyPlot, Interact" ] }, { "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 Matrix{Float64}:\n", " 4.27661 1.1409 0.216216 2.8477 -2.26094\n", " -0.77939 1.01093 0.542869 -3.46742 2.19621\n", " -0.325662 0.57507 2.23157 0.54375 1.83044\n", " 0.825317 0.693926 0.482976 4.41696 -0.892176\n", " 0.302161 0.00126964 0.898394 -0.428578 3.06394" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = randn(5,5)\n", "A = A * Diagonal(1:5) / A" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Vector{Float64}:\n", " 0.9999999999999998\n", " 2.0\n", " 3.000000000000002\n", " 4.0000000000000036\n", " 4.999999999999995" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eigvals(A)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5-element Vector{Float64}:\n", " 4.999999999999995\n", " 4.0000000000000036\n", " 3.000000000000002\n", " 2.0\n", " 0.9999999999999998" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "λ, X = eigen(A, sortby=λ->-abs(λ)) # sort eigenvals by -|λ|\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": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 1" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.8256072799048821\n -0.08146902471050843\n  0.2827545769388959\n  0.44794212550415574\n  0.17644579564190693
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 1\")\n", " [0.8256072799048821, -0.08146902471050843, 0.2827545769388959, 0.44794212550415574, 0.17644579564190693])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 2" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7943912825124728\n -0.31553441134669485\n  0.16009043175172383\n  0.46885440544802165\n  0.15468395417047048
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 2\")\n", " [0.7943912825124728, -0.31553441134669485, 0.16009043175172383, 0.46885440544802165, 0.15468395417047048])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 3" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7715323748801386\n -0.4064057371538176\n  0.08655461208728565\n  0.46529334420609486\n  0.1248301817839077
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 3\")\n", " [0.7715323748801386, -0.4064057371538176, 0.08655461208728565, 0.46529334420609486, 0.1248301817839077])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 4" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7605949964424256\n -0.4497171569732749\n  0.03701715709084387\n  0.4567347548613731\n  0.09629550297523977
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 4\")\n", " [0.7605949964424256, -0.4497171569732749, 0.03701715709084387, 0.4567347548613731, 0.09629550297523977])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 5" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7557264753154274\n -0.4733963237531922\n  0.00017832405522310188\n  0.44685393436966053\n  0.07137888135275113
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 5\")\n", " [0.7557264753154274, -0.4733963237531922, 0.00017832405522310188, 0.44685393436966053, 0.07137888135275113])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 6" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7536302758648975\n -0.4875193814022369\n -0.028598863108686323\n  0.4370272836234865\n  0.05055213600379533
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 6\")\n", " [0.7536302758648975, -0.4875193814022369, -0.028598863108686323, 0.4370272836234865, 0.05055213600379533])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 7" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7527477253330508\n -0.496444442317198\n -0.051517333677548384\n  0.4279411682872238\n  0.03355739134685802
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 7\")\n", " [0.7527477253330508, -0.496444442317198, -0.051517333677548384, 0.4279411682872238, 0.03355739134685802])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 8" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7523774930751926\n -0.5023218113100897\n -0.06987633584596087\n  0.4199087501783914\n  0.019870707294981325
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 8\")\n", " [0.7523774930751926, -0.5023218113100897, -0.06987633584596087, 0.4199087501783914, 0.019870707294981325])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 9" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7522140929020339\n -0.5063162419421631\n -0.08459353982978109\n  0.4130158959308184\n  0.008923245635202061
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 9\")\n", " [0.7522140929020339, -0.5063162419421631, -0.08459353982978109, 0.4130158959308184, 0.008923245635202061])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 10" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7521291338313594\n -0.50910158691695\n -0.09638199018399124\n  0.4072196141740886\n  0.00019504053876687904
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 10\")\n", " [0.7521291338313594, -0.50910158691695, -0.09638199018399124, 0.4072196141740886, 0.00019504053876687904])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 11" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.752071417351545\n -0.5110865784339829\n -0.10581527211634305\n  0.4024134552974101\n -0.006755126203545295
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 11\")\n", " [0.752071417351545, -0.5110865784339829, -0.10581527211634305, 0.4024134552974101, -0.006755126203545295])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 12" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7520223363700542\n -0.5125280942056814\n -0.11335817069064183\n  0.3984674144193489\n -0.012288329180469347
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 12\")\n", " [0.7520223363700542, -0.5125280942056814, -0.11335817069064183, 0.3984674144193489, -0.012288329180469347])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 13" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7519763629519373\n -0.5135922148810071\n -0.11938659900114366\n  0.39525018751501867\n -0.01669477832978176
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 13\")\n", " [0.7519763629519373, -0.5135922148810071, -0.11938659900114366, 0.39525018751501867, -0.01669477832978176])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 14" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7519327333918133\n -0.5143889421667326\n -0.12420342496131533\n  0.3926403172250944\n -0.0202057206692113
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 14\")\n", " [0.7519327333918133, -0.5143889421667326, -0.12420342496131533, 0.3926403172250944, -0.0202057206692113])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 15" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7518920576853981\n -0.5149927335308243\n -0.1280518264340346\n  0.3905308305651388\n -0.023004741360820972
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 15\")\n", " [0.7518920576853981, -0.5149927335308243, -0.1280518264340346, 0.3905308305651388, -0.023004741360820972])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 16" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7518550514609499\n -0.5154550141540767\n -0.13112656679221216\n  0.38883030463339663\n -0.025237425701930712
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 16\")\n", " [0.7518550514609499, -0.5154550141540767, -0.13112656679221216, 0.38883030463339663, -0.025237425701930712])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 17" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7518221506842239\n -0.5158119817762924\n -0.13358338052866245\n  0.3874621194383501\n -0.027019245796988122
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 17\")\n", " [0.7518221506842239, -0.5158119817762924, -0.13358338052866245, 0.3874621194383501, -0.027019245796988122])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 18" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7517934683783734\n -0.5160895728629241\n -0.1355466757996753\n  0.38636290318113226\n -0.02844186018678891
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 18\")\n", " [0.7517934683783734, -0.5160895728629241, -0.1355466757996753, 0.38636290318113226, -0.02844186018678891])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 19" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7517688637969465\n -0.516306679821705\n -0.1371157877795076\n  0.38548071899534136\n -0.029578096987045565
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 19\")\n", " [0.7517688637969465, -0.516306679821705, -0.1371157877795076, 0.38548071899534136, -0.029578096987045565])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 20" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7517480318458141\n -0.5164772713917627\n -0.13837001785125266\n  0.38477327605017153\n -0.030485881144019924
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 20\")\n", " [0.7517480318458141, -0.5164772713917627, -0.13837001785125266, 0.38477327605017153, -0.030485881144019924])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 21" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7517305800122787\n -0.5166118142286112\n -0.1393726748651477\n  0.3842062974479904\n -0.031211327688293718
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 21\")\n", " [0.7517305800122787, -0.5166118142286112, -0.1393726748651477, 0.3842062974479904, -0.031211327688293718])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 22" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7517160847525116\n -0.5167182425238506\n -0.14017430654282412\n  0.38375209498670426\n -0.03179118031737525
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 22\")\n", " [0.7517160847525116, -0.5167182425238506, -0.14017430654282412, 0.38375209498670426, -0.03179118031737525])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 23" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7517041286563255\n -0.5168026308718542\n -0.14081527897531487\n  0.3833883577275971\n -0.0322547368770004
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 23\")\n", " [0.7517041286563255, -0.5168026308718542, -0.14081527897531487, 0.3833883577275971, -0.0322547368770004])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 24" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.751694322521539\n -0.5168696692512652\n -0.14132783397865784\n  0.3830971403137061\n -0.03262537238613207
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 24\")\n", " [0.751694322521539, -0.5168696692512652, -0.14132783397865784, 0.3830971403137061, -0.03262537238613207])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 25" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516863166576098\n -0.5169230039144592\n -0.14173772946840457\n  0.382864028177026\n -0.032921745806843615
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 25\")\n", " [0.7516863166576098, -0.5169230039144592, -0.14173772946840457, 0.382864028177026, -0.032921745806843615])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 26" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516798050238978\n -0.5169654859001924\n -0.14206554736392793\n  0.3826774544503785\n -0.033158757738779465
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 26\")\n", " [0.7516798050238978, -0.5169654859001924, -0.14206554736392793, 0.3826774544503785, -0.033158757738779465])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 27" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516745249137794\n -0.516999354836007\n -0.14232773659899456\n  0.38252814433641824\n -0.033348311500589124
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 27\")\n", " [0.7516745249137794, -0.516999354836007, -0.14232773659899456, 0.38252814433641824, -0.033348311500589124])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 28" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516702540942762\n -0.5170263766569079\n -0.14253744512134275\n  0.38240866509213434\n -0.033499918680609087
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 28\")\n", " [0.7516702540942762, -0.5170263766569079, -0.14253744512134275, 0.38240866509213434, -0.033499918680609087])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 29" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516668066790847\n -0.5170479479797078\n -0.14270518378331745\n  0.3823130626960266\n -0.033621181421755554
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 29\")\n", " [0.7516668066790847, -0.5170479479797078, -0.14270518378331745, 0.3823130626960266, -0.033621181421755554])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 30" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.751664028549221\n -0.517065175988641\n -0.14283935626318672\n  0.38223656917816207\n -0.03371817685193268
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 30\")\n", " [0.751664028549221, -0.517065175988641, -0.14283935626318672, 0.38223656917816207, -0.03371817685193268])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 31" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516617928114376\n -0.5170789400895118\n -0.14294668218290482\n  0.3821753672734254\n -0.033795763724534515
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 31\")\n", " [0.7516617928114376, -0.5170789400895118, -0.14294668218290482, 0.3821753672734254, -0.033795763724534515])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 32" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516599955668624\n -0.5170899398250739\n -0.1430325350445901\n  0.3821264014114993\n -0.03385782714737693
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 32\")\n", " [0.7516599955668624, -0.5170899398250739, -0.1430325350445901, 0.3821264014114993, -0.03385782714737693])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 33" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516585521214868\n -0.5170987323270193\n -0.1431012122031146\n  0.3820872260650122\n -0.03390747398971578
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 33\")\n", " [0.7516585521214868, -0.5170987323270193, -0.1431012122031146, 0.3820872260650122, -0.03390747398971578])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 34" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516573936827312\n -0.5171057617265665\n -0.14315615059156545\n  0.3820558841588563\n -0.033947188965664926
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 34\")\n", " [0.7516573936827312, -0.5171057617265665, -0.14315615059156545, 0.3820558841588563, -0.033947188965664926])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 35" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.751656464534931\n -0.5171113823376916\n -0.14320009913308707\n  0.3820308096341801\n -0.033978959345113566
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 35\")\n", " [0.751656464534931, -0.5171113823376916, -0.14320009913308707, 0.3820308096341801, -0.033978959345113566])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 36" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516557196587027\n -0.5171158769871873\n -0.1432352565584326\n  0.3820107494002191\n -0.03400437462228629
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 36\")\n", " [0.7516557196587027, -0.5171158769871873, -0.1432352565584326, 0.3820107494002191, -0.03400437462228629])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 37" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516551227461725\n -0.5171194715427813\n -0.14326338158596175\n  0.3819947008352959\n -0.03402470618622762
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 37\")\n", " [0.7516551227461725, -0.5171194715427813, -0.14326338158596175, 0.3819947008352959, -0.03402470618622762])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 38" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516546445600893\n -0.5171223464502187\n -0.14328588101681414\n  0.38198186175078896\n -0.03404097101585432
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 38\")\n", " [0.7516546445600893, -0.5171223464502187, -0.14328588101681414, 0.38198186175078896, -0.03404097101585432])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 39" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516542615861407\n -0.5171246459092165\n -0.14330388017894555\n  0.3819715903398496\n -0.03405398260946184
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 39\")\n", " [0.7516542615861407, -0.5171246459092165, -0.14330388017894555, 0.3819715903398496, -0.03405398260946184])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" }, { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "power iteration 40" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516539549318045\n -0.5171264851804152\n -0.1433182792613011\n  0.38196337312266704\n -0.0340643917113
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "align-self": "stretch", "borderLeft": "solid 1.0px #DEDEDE" } }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "eigenvector" }, "type": "node" }, { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "
5-element Vector{Float64}:\n  0.7516527258032667\n -0.5171338396934146\n -0.14337587333973284\n  0.38193050353655744\n -0.03410602657662457
" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"row\") }\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"power iteration 40\")\n", " [0.7516539549318045, -0.5171264851804152, -0.1433182792613011, 0.38196337312266704, -0.0340643917113])\n", " (div { style=Dict{Any, Any}(\"align-self\" => \"stretch\", \"borderLeft\" => \"solid 1.0px #DEDEDE\") })\n", " (div { style=Dict(\"display\" => \"flex\", \"flex-direction\" => \"column\") }\n", " HTML{String}(\"eigenvector\")\n", " [0.7516527258032667, -0.5171338396934146, -0.14337587333973284, 0.38193050353655744, -0.03410602657662457]))" ] }, "metadata": { "application/vnd.webio.node+json": { "kernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" } }, "output_type": "display_data" } ], "source": [ "x = [5,4,3,2,1] # arbitrary initial vector\n", "# @manipulate\n", "for n = 1:40\n", " y = x\n", " for i = 1:n\n", " y = A*y\n", " y = y / norm(y)\n", " end\n", " display(\n", " hbox(vbox(HTML(\"power iteration $n\"),y),\n", " vline(), \n", " vbox(HTML(\"eigenvector\"),X[:,1]))\n", " )\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the *sign* of the resulting eigenvector depends 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": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject Text(0.5, 1.0, '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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FABEt27d0j1PYGDgByvXVGV0vt9//13Uq1dPuLm5CUtLS+Hi4iICAwPFH3/8oXWsPrFpSu/zndG5goODha+vr3B2dhZSqVQULFhQdOjQQZw6dUrva+dkEiH+3wlIlAukpKTA19cXRYsWxb59+8wdTrY0depUfP/993jy5MlHN58T5WS7d+9G69atce7cOWXrXnY5X3Y9V27ErjHK0QYMGICmTZuiSJEiePToEZYuXYorV67g119/NXdoRJTNHTp0CN26dcuy5CArz5ddz5UbsUWIcrQuXbogPDwcT548gZWVFapVq4YJEyagefPm5g4t22KLEBHRe0yEiIiIKM/izNJERESUZzERIiIiojyLiRARERHlWaway0BaWhoePHgAJyenXD/NOBERUW4hhMDLly/h4eGhNamvKiZCGXjw4AGKFStm7jCIiIgoE2JiYj64QDYToQwopsqPiYlBvnz5zBwNERER6SMxMRHFihXLcMkbJkIZUHSH5cuXj4kQERFRDpPRsBYOliYiIqI8i4kQERER5VlMhIiIiCjP4hghIiIiI5HJZEhJSTF3GLmSlZUVpFLpR5+HiRAREVEWE0Lg0aNHiI+PN3couZqLiwsKFy78UfP8MREiIiLKYookqFChQrC3t+eEvFlMCIHXr18jLi4OAFCkSJFMn4uJEBERURaSyWTKJKhAgQLmDifXsrOzAwDExcWhUKFCme4m42BpIiKiLKQYE2Rvb2/mSHI/xT3+mHFYTISIiIiMgN1hxpcV95iJEBEREeVZTISIiIgoz2IiRERERHkWEyEiIiIymBACqampWtuTk5Mzdb7Mvu5jMREyo6VLl+LHH3+ETCYzdyhERJQNxcYChw7J/2sKQgjMmjULpUqVgp2dHXx8fPD3338DAEJDQyGRSPDff//B398fNjY2OHLkCBo0aIDhw4djzJgxcHNzQ9OmTQEAhw8fRo0aNWBjY4MiRYpg3LhxaolTeq8zNc4jZCYnT97DyJGjkZLyDgcOHMAff/yBokWLmjssIiIyAiGA168Ne82aNcCIEUBaGmBhASxYAPTpY9g57O0BQwqrJk2ahK1bt2LJkiUoU6YMwsLC0LNnTxQsWFB5zNixYzFnzhyUKlUKLi4u/491Db744gscO3YMQgjcv38fLVu2RN++fbF27VpcvXoVAwcOhK2tLaZOnaryHtVfZxaCPighIUEAEAkJCVl2zhUrhJBI0gSwWgAOAoAoUKCA2LFjR5Zdg4iIzOPNmzfi8uXL4s2bN8ptSUlCyNMh0z6SkvSPOykpSdja2orw8HC17QMGDBDdu3cXhw4dEgDE9u3b1fYHBgYKX19ftW0TJkwQ5cqVE2lpacptixYtEo6OjkImk6X7OkPputcK+n5/s2vMxGJjgUGDACEkAPoAiARQFc+ePUPbtm0xcuRIvH371sxREhFRXnP58mW8ffsWTZs2haOjo/Kxdu1a3Lp1S3mcv7+/1ms1t125cgW1a9dWm+enTp06SEpKQqxKP5+uc5kau8ZM7MYNeTPne2UBHEfnzhPw119zsWDBAoSHh+P48eOwsrIyU5RERJSV7O2BpCT9j79/H6hQQf37QioFLl8GDBlFYcjk1mn/v9iuXbu0hmrY2NgokyEHBwet12puE0JoTXYo/t/1pbpd17lMjYmQiZUpI+/rVf1wSyQ2mDv3Z/Tt2xh9+/ZF+/btmQQREeUiEglgyHd+2bLAsmXA4MGATCZPgn77Tb7dWCpWrAgbGxvcu3cPgYGBWvtVW4X0OdeWLVvUEqLw8HA4OTllu/GwTIRMzNNT/cMNyHtyjx4FunVriYsXL6ot0hcdHQ1XV1c4OzubKWIiIjKHAQOAZs2AmzeB0qXl3x/G5OTkhK+//hpffvkl0tLSULduXSQmJiI8PByOjo4oXry43ucaOnQo5s2bhxEjRmD48OG4du0apkyZgjFjxsDCInuNymEiZAaqH+4dO4BffgG++AIoVQp49aoQypSRf+DfvHmDdu3a4eXLl9iwYQNq1apl7tCJiMiEPD2NnwCpmj59OgoVKoTg4GDcvn0bLi4uqFatGiZMmKDsOtNH0aJFsXv3bnzzzTfw8fGBq6srBgwYgEmTJhkx+syRCEWnHemUmJgIZ2dnJCQkIF++fFl+/pQUoF494OTJ99ssLOStRoGBNxEUFITo6GhIpVJMnz4dY8eOhVQqzfI4iIgoa7x9+xbR0dEoWbIkbG1tzR1Orvahe63v93f2ap/Kg6ysgNmz1belpcm7zmxtS+Ps2bPo1q0bZDIZJkyYgKCgIDx48MA8wRIREeUyTISyAR0zlEMmk3edOTs7Y/369Vi1ahXs7e1x8OBBVKlSBf/++6/pAyUiIsplmAhlA4pKMlUWFvLBcYC81LBv376IjIyEr68vnj17hlmzZplvFk4iIqJcgolQNqCoJFMd+pOWBixfrr7GTLly5XDixAl8++23WLdundYcDURERGQYJkLZxIABwJ07wMGDwPDh8m3TpgGNGgHFiwMrV8q32djYYObMmfDy8lK+dsKECfj999/ZQkRERGQgJkLZiKcn0LAhMHas+iJ5isHTulYfPnr0KIKDgzFgwAB89tlnSEhIMF3AREREORwToWzo5k35JIuqZDLgzBntYwMCAhAcHAypVIqNGzeiatWqOKlai09ERETpYiKUDekaPA0Aw4YBe/aojxuysLDAuHHjcPToUZQoUQLR0dGoW7cuZs6cadDkV0RERHkRE6FsSHPwtIUFUKgQ8OAB0LKl9rghAKhVqxaioqLQtWtXpKamYvz48ejatat53gAREVEOwUQom1IMnj50CLh7Vz6IWpWucUPOzs7YsGEDVq5cCXt7e3Tp0sWkMRMREeU0TISyMU9PoEED+X/j4rT3y2TA/v3yZEjRXSaRSNC/f3/cunULnTt3Vh576dIlvHv3znTBExER5QBMhHKI9MYNDRwIeHlpd5cVLlxYecyjR4/QqFEjBAQE4Pr16yaKmIiIcqJnz56hUKFCuHPnjlGv06lTJ8ydO1dre4sWLTBlyhTUqlULxYsXx+XLl40aBxOhHEJz3JBUKp95OjX1fYVZemX2t27dgkwmQ2RkJKpVq4Y1a9ZwziEiItIpODgYbdq0QYkSJXTuk0gkGD16tM7X9u3bF+PGjcPUqVMhkUjUHqp/oAPAd999hx9//BGJiYlq2y9evIiSJUvixIkTGDhwIHbu3JlVb00nJkI5iOq4oTt3gKVLtY+RyYDjx9Ury+rUqYNz586hQYMGePXqFfr27YuePXtqffiIiChve/PmDVauXInPP/9ca9/p06exbNkyVKlSRedr09LSsGvXLrRr1w4AUKlSJTx8+FD5uHDhgtrxVapUQYkSJfDnn38qtyUkJMDKygp9+/YFAFhbW8PFxSVr3lw6mAjlMKrjhsqV091d1rWrdldZ0aJFsX//fvzwww+QSqVYv349qlatilOnTpk0fiIiyr727NkDS0tL1K5dW217UlISevTogeXLlyN//vw6X3vs2DFYWFigZs2aAABLS0sULlxY+ShYsKDWa9q2bYsNGzYon1+8eBE1atRQe16pUqWseGvpYiKUg+laowxI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", "text/plain": [ "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 Vector{Float64}:\n", " 0.751664028549221\n", " -0.517065175988641\n", " -0.14283935626318672\n", " 0.38223656917816207\n", " -0.03371817685193268" ] }, "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 Vector{Float64}:\n", " 3.7585009856494422\n", " -2.585526794858033\n", " -0.7147699284677411\n", " 1.9109744679392595\n", " -0.16898745218157352" ] }, "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 Vector{Float64}:\n", " 5.000240590072783\n", " 5.000388567871437\n", " 5.0040125296473015\n", " 4.999454845589477\n", " 5.011761250427376" ] }, "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.000255409055291" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(y'A*y) / (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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", "text/plain": [ "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", " λ̃ = (y'A*y) / (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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Ss3vhTqfd3L++ecfrF27Fjt27EDu3LlRrlw5AFIBlHDgz4js31Lns01L3iNHjsDHxydV27937x4KFiyY6jzpMWbMGIwePRqjR4/GsGHDNLrtihUrYv78+bh7926qCraXL1/i+fPnmDp1KqZOnZro8Rw5cqBx48bYunVrunIltOKn9ff5/PnzqFOnTqLlhw8fhru7O/T0kj5ZqMmfgYz83FJL5wo2U1NTeHl5YePGjZgwYUKSB3Zzc3NUqlQJmzdvxt9//62syuPj47F69Wo4ODikqTt4y5YtERAQgOXLl+Pu3bvInz8/fH19lY+bmZnBx8cHly5dgqurq8opzdQyNzdH+fLlsXXrVvz999/Kbbx//x47d+5UWVcT+/teat7f9O43oz6fbzk6OqJXr144ePAgTpw4ka5t/UhSLU5GRkYoX758kusrFArlcxLs2rULjx8/RpEiRdTev7m5OSpWrIjNmzdjypQpyhajd+/eYceOHSrrppQrvTLj9wPQfGtoStTJnN5cqf29UCgUqf68k/Ls2TN0794dXbt2VZ4mdnZ2ho2NDS5dupSh2dMirXkTToelRmadEh03bhxGjx6NESNGYNSoURrffkhICPT09FCoUKFUrZ83b16EhIQkWj5p0iQcOXIEe/bsSdM/z9968+YNdu7cCTc3t0St2anx7NkzPH78OFEL2JEjR3Dx4kX069cv2edq6mcgoz+31NK5gg0Apk2bhmrVqqFSpUoYMmQIihQpgufPn2P79u1YsGABLC0tERgYiDp16sDHxwcDBgyAkZERgoKCcPXqVaxbty5Nlb6NjQ2aNm2K5cuX4+3btxgwYECiyn7mzJmoVq0aqlevjt9//x0FCxbEu3fvcOfOHezYsSNVA+2NHTsW9evXR926ddG3b1/ExcVhypQpsLCwwOvXrzW+v++l5v1N7341/flERkbCx8cHrVq1QokSJWBpaYlz585h7969aNasmdrvgTpcXFwASJ9F+/btYWhoiOLFi8PS0jLJ9Rs0aIDly5ejRIkScHV1xYULFzBlypQUT0P/yLhx4/DTTz+hTp06+OOPPxAXF4e//voL5ubmiX5mMkpm/X6o+36nV2ozayJXan8v0vN5d+nSBTly5MC0adNUlru7u6drqIyM+JubnryWlpYa+edkz549+PDhA969ewcAuHbtmnKMsnr16inHj1Mo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ypWFqampcHNzE/v370+y08GbN2+Uz1m2bJmwtrZW2e6oUaNE2bJlVfbdo0cP0b17d2FlZSVy5MghhgwZotIxIDo6WowcOVIULFhQGBoairx584qmTZuKK1euJLuf5Bw+fFhUqFBBGBkZibx584rBgweLmJgY5eOp7XRgbW0tNm3aJAoVKiSMjIxEzZo1xf3791XWCwoKEoUKFRKGhoaiWLFiYuXKlYm25eHhIXLnzq18va9evRIKhUL88ssvidZds2aNcHNzE0ZGRiJHjhyiRo0aYvPmzUKIpDuGJGXLli2iUqVKwsrKSpibm4vKlSurdBQ5deqUcHV1FcbGxuLbP/1nz54VderUERYWFsLc3Fy4urqKCRMmKB93cnISY8aMEc2bNxdmZmbCzs5OpQPEj/ZLRJqhEOKbi1eIiLKx5cuXo1+/fnj79q3cUbRGwYIF0a9fP62aZowoO2IvUSIiIiItx4KNiIiISMvxlCgRERGRlmMLGxEREZGWY8FGREREpOVYsBERERFpORZsRERERFqOBRsRERGRlmPBRkRERKTlWLARERERaTkWbERERERajgUbERERkZb7P5XkNNwCZYGqAAAAAElFTkSuQmCC", "text/plain": [ "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", " λ̃ = (y'A*y) / (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": { "@webio": { "lastCommId": "7dd865d46d0840b190e2e9939f83d754", "lastKernelId": "3c7d7052-bde9-4a18-a0c5-24a636d36fd8" }, "anaconda-cloud": {}, "kernelspec": { "display_name": "Julia 1.7.1", "language": "julia", "name": "julia-1.7" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.7.1" }, "widgets": { "state": { "261a280b-0628-4842-8d64-15aa1b5543bc": { "views": [ { "cell_index": 5 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 1 }