Skip to content

Instantly share code, notes, and snippets.

@tobydriscoll
Last active September 16, 2016 19:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tobydriscoll/fb438fc942a01e242cc08ee05385af17 to your computer and use it in GitHub Desktop.
Save tobydriscoll/fb438fc942a01e242cc08ee05385af17 to your computer and use it in GitHub Desktop.
TB Lecture 6: Projectors
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lecture 6: Projectors"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Orthogonality in projection"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Consider the map on $\\mathbb{R}^2$ defined by"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2x2 Array{Float64,2}:\n",
" 0.0 0.0\n",
" 1.0 1.0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"P = [0 0; 1. 1.]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The result of applying $P$ is to zero out the first component and replace the second component with the sum of the coordinates. For a vector on the $x_2$-axis, this operation leaves the vector unchanged, i.e.,"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"norm(P^2-P)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Thus $P$ is a projector. As shown in the text, it can't be an orthogonal projector because it's nonsymmetric. It may help to visualize the map."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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JYFaXl6uBx98UFdddZX69eunRCKhLVu2tLv/tm3bVFBQoD59+mjw4MG69957dfLkyVQsFQBSgkgFgPalJFD37dunJ554QocPH9YXv/hFeZ7X7r67d+/WlClTVF1draefflrf+ta39Mwzz+jmm29OxVKdtHr16nQvAQHi9o2uzkQqt6/buH3dxu3bfSkJ1Msvv1zHjh3T3r17df/991v3/e53v6tzzz1Xb731lu666y49+uijWrp0qTZs2KDS0tJULNc53EHcxu0bbR1FKrev27h93cbt230pCdQ+ffronHPO6XC/yspKlZaW6tZbb1WfPn2av15cXKw+ffro5ZdfDnKZAJAWZ0ZqRUWl7rnnHl1wwQXatGmTLrjgAt1zzz2qrKxM91IBICUy0r2Aln7zm9/o1KlTGjNmzGlfz8zMVH5+vnbt2pWmlQFAsJoidfr0Sl144ZU6eXKPGhoaJEkfffSRli1bpl/96ld655131Ldv3zSvFgCCFaqz+I8cOSLP8zR48OBW2wYPHqzDhw+nYVUAkBpFRVJR0cOqrPxLnDZpaGjQnj17tHDhwjStDgBSp8tHUI0xqq2t7dS+2dnZXZpdVVXV7vfl5OQ0b7d97549e7p0nXFw/Phx7dy5M93LQEC4fd2yY8crkhra3NbQ0KA1a9Zozpw5qV0UAsP9123cvq01dZqt6aRuBOqWLVv0la98pcP9PM/Tnj17NHz48E7Pzs3NlSTVtHEqa3V1dfP2tnz00UeSpG984xudvr44OfNtE3ALt298HDlyhNvbMdyebuP2bdtHH32kCRMmtLu9y4F68cUXa+XKlZ3at62X6jva3xijI0eOtNp25MgR5eXltfu9U6dO1QsvvKChQ4daQxYAAADpUVVVpY8++khTp0617tflQB04cKCKi4u7vTCbSy+9VBkZGXr33Xc1Y8aM5q/X1dVp9+7duuWWW9r93gEDBmj27NmBrAsAAAD+sB05bRKqk6T69eunKVOm6IUXXjjtX456/vnndfLkST6sHwAAIAY8Y4xJxRU99thj8jxP77//vn7605/q9ttv1wUXXCBJevjhh5v327VrlyZMmKARI0borrvu0sGDB/XUU0+psLBQb7zxRiqWCgAAgDRKWaAmEok2/4lTz/N06tSp0762bds2PfDAA9q5c6f69u2rW265Rd///vdP+/B+AAAAuCllgQoAAAB0RqjegwoAAAAQqI4qLy/Xgw8+qKuuukr9+vVTIpHQli1b2t1/27ZtKigoUJ8+fTR48GDde++9p52ohvBbtWqVEolEqz+9evXS0aNH0708dFJtba0eeOABDRkyRL1799a4ceNUWlqa7mXBJ2+99Va799Pt27ene3nogpMnT+p73/uerrnmGvXv31+JRELPP/98m/vu3btXRUVF6tu3r/r376/i4mJVVFSkeMXR0uWPmUI07Nu3T0888YT+6q/+Sl/84hf1zjvvtLvv7t27NWXKFP3N3/yNnn76aX388cd64okndODAAf3iF79I4arRU57nadGiRRo6dOhpXz/nnHPSsyB02Zw5c1RSUqL7779fF110kVauXKlrr71Wb775psaPH5/u5cEn9913ny6//PLTvnbRRRelaTXojoqKCi1atEhf+MIXlJ+frzfffLPN/Q4dOqSJEyfqM5/5jH7wgx+osrJSTzzxhH77299q+/btysggxdrCT8VRl19+uY4dO6ZzzjlH//Ef/2EN1O9+97s699xz9dZbbzWfiPaFL3xBd911l0pLSzVlypRULRs+KCoq0ujRo9O9DHTD9u3b9bOf/UxPPvmk7r//fknSrbfeqksvvVQLFizQ22+/neYVwi8FBQW68cYb070M9EBeXp7Ky8t1/vnnK5lM6oorrmhzv8WLF6uqqkq7d+/WkCFDJElXXHGFvvrVr2rlypW68847U7nsyOAlfkf16dOnU0fNKisrVVpaqltvvfW0T0koLi5Wnz599PLLLwe5TATkxIkTamho+99zR3i98sorysjI0Le+9a3mr2VnZ+uOO+7QO++8o0OHDqVxdfDbiRMnVF9fn+5loJsyMzN1/vnnd7hfSUmJrrvuuuY4laTJkydr+PDhPMZaEKgx95vf/EanTp1q9W8FZ2ZmKj8/X7t27UrTytAdxhgVFhaqX79+6t27t6ZPn64DBw6ke1nopN27d2v48OE666yzTvv6l770pebtcMNtt92mfv36KScnR1dddZWSyWS6l4QAHD58WEePHm31dg6p8X7NY2z7eIk/5o4cOSLP8zR48OBW2wYPHsxLihHSu3dv3XbbbfrKV76ifv36KZlM6sknn9SECRO0c+fO0569I5yOHDnS7n3RGKPDhw+nYVXwU1ZWlmbMmKFrr71WAwYM0O9+9zstWbJEkyZN0rZt2zRq1Kh0LxE+OnLkiCS1e7/+05/+pLq6OmVmZqZ6aaFHoEaAMUa1tbWd2jc7O7tLs6uqqtr9vpycnObtSK3u3OY33XSTbrrppuavf+1rX9PVV1+tSZMmafHixVq+fHkga4V/qqqq2r0vNm1HtF155ZW68sorm///ddddp69//ev64he/qIceeoh/MdExHT3GNu1DoLbGS/wRsGXLFuXm5nb4p3fv3tq/f3+XZufm5kqSampqWm2rrq5u3o7U8us2nzBhgsaOHcvHFEVEbm5uu/fFpu1wz7BhwzR9+nT953/+p/i3c9zS0WNsy31wOo6gRsDFF1+slStXdmrftl5G6Gh/Y0zzyxAtHTlyRHl5eV2aB3/4eZt/7nOf6/ITF6TH4MGD23wZv+n+yf3RXZ/73OdUW1urkydPtnoPMqKr6e/n9h5jzz33XI6etoNAjYCBAwequLg4kNmXXnqpMjIy9O6772rGjBnNX6+rq9Pu3bt1yy23BHK9sPPzNv/www913nnn+TILwWr6LMUTJ06cFillZWXyPE/5+flpXB2C9MEHHygnJ4c4dUxeXp7OO+88vfvuu622bd++nfu0BS/xx1y/fv00ZcoUvfDCC6f9y1HPP/+8Tp48qZtvvjmNq0NXtPWvkrzxxhtKJpO65ppr0rAidNWMGTN06tQpPfPMM81fq62t1cqVKzVu3DhOdHNAW/fTX//61/r5z3+uqVOnpmFFCNrXv/51vf7666d9TNzmzZu1f/9+HmMtPMMbXpz12GOPyfM8vf/++/rpT3+q22+/XRdccIEk6eGHH27eb9euXZowYYJGjBihu+66SwcPHtRTTz2lwsJC3rAfIcOHD9dll12myy+/XGeffbaSyaR+8pOfaMiQIdq+fTtHUSPilltu0Wuvvab77ruv+V+Sevfdd/WrX/1KEyZMSPfy0EOTJ09Wbm6uxo8fr/PPP1/vv/++fvzjHys7O1vbtm3TX//1X6d7ieiCZcuW6c9//rMOHTqkf/u3f9ONN96oyy67TJJ0zz33qG/fvvr44481evRonX322br33ntVWVmpJUuW6POf/7y2b9/OS/ztMXCW53kmkUi0+tOrV69W+/7Xf/2XKSgoML179zYDBw4099xzjzlx4kQaVo3ueuSRR8zo0aPNZz7zGZOdnW2GDh1q7r77bnP06NF0Lw1dUFNTYxYsWGDy8vJMbm6uGTt2rNm0aVO6lwWf/OhHPzLjxo0zAwYMMFlZWWbIkCFmzpw55oMPPkj30tANQ4cObfNxNpFImP/5n/9p3u93v/udKSoqMmeddZY599xzTXFxMX83d4AjqAAAAAgV3oMKAACAUCFQAQAAECoEKgAAAEKFQAUAAECoEKgAAAAIFQIVAAAAoUKgAgAAIFQIVAAAAIQKgQoAAIBQIVABAAAQKgQqAAAAQoVABQAAQKj8f/2FUVBRWXc5AAAAAElFTkSuQmCC",
"text/plain": [
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x316c8bc90>)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"1-element Array{Any,1}:\n",
" PyObject <matplotlib.lines.Line2D object at 0x316dfb550>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using PyPlot\n",
"x1 = -5:5; \n",
"(X,Y) = (repmat(x1,1,11),repmat(x1',11,1));\n",
"x = [ X[:] Y[:] ]; \n",
"Px = (P*x')';\n",
"plot([x[:,1] Px[:,1] ]',[x[:,2] Px[:,2]]',\"b\")\n",
"axis(\"equal\")\n",
"plot(Px[:,1],Px[:,2],\"ko\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The direction of \"motion\" in the mapping is not orthogonal to the range of the map. You can also see that the singular values are not just 1 and 0, as is required of an orthogonal projector."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2-element Array{Float64,1}:\n",
" 1.41421\n",
" 0.0 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"svd(P)[2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The orthogonal projector onto the same space is very boring."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2x2 Array{Int64,2}:\n",
" 0 0\n",
" 0 1"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"P = [0 0; 0 1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The map is equally boring. "
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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TVFXVxdVVVUjjQoAQJn19PTEnj174uKLLz7mviMunrNnz44rrrhiRI9pbGyM3bt3R0dHR9TV1Q1s7+joiFwuF7NmzRrycSeeeGJcfvnlI40IAEBCTU1Nw9ovyar25cuXR7FYjG9/+9sD24rFYmzcuDFmzJgRjY2NKWIAAJChJKvaL7nkkrjwwgvj61//evz3f/93fPjDH46HH344nnzyybjnnntiypQpKWIAAJChXDHRF2l2d3fHDTfcEA8++GC89tprsWDBgrjuuuvisssuS3F4AAAylqx4AgAwsSX5jCcAACie48jWrVvjwgsvjPe9730xbdq0+MhHPhJbtmzJOtaYs2rVqpg0aVIsWbIk6yhjwmOPPRYrV66MBQsWRE1NTZx66qmxatWqePnll7OOVlH6+vri2muvjZNPPjmqq6vjvPPOi61bt2Yda0x46qmnYvXq1bFw4cKora2NefPmxfLly+P555/POtqYdNttt8WkSZNi0aJFWUcZU3bt2hVLliyJmTNnRk1NTZx99tnxrW99K+tYY4632seJjRs3xhe/+MW46KKLYsmSJXHcccfFr371qzj55JPjK1/5StbxxoynnnoqPvrRj8aUKVPiwgsvjB/84AdZR6p4f/InfxIHDx6M5ubmOP300+OFF16Iu+66K2pqauLpp5+Ok046KeuIFWHFihXx0EMPxdq1a+O0006L++67L37+85/H9u3b46Mf/WjW8Spac3NzPPnkk9Hc3ByLFi2Kl19+Oe66667o7OyMn/3sZ3HmmWdmHXHM6OjoiAULFsSkSZOirq4u/uu//ivrSGPCj370o1iyZEk0NDTE8uXLo7a2Nn7961/H0aNH4xvf+EbW8cYUxXMc2Lt3b5x55pnxt3/7t/HNb34z6zhjWlNTU5x55pmxdevWOPvssxXPYXjiiSfi/PPPH7Ttxz/+cSxevDhuuOGGuOWWWzJKVjl+/vOfx3nnnReFQiHWrl0bERG9vb2xcOHCmD17djzxxBMZJ6xsP/3pT+MjH/lITJ78v1/Esnv37jj77LOjubk57r///gzTjS2XXXZZvPrqq3HkyJF49dVXFc9h+MMf/hBnnHFGnH/++d5FfBd4q30cuPvuu+Po0aNx8803R0REV1dXxonGpvvvvz+eeeaZuO2227KOMqb839IZEfGxj30sZsyYMfD7vRNdW1tbTJ48OVatWjWwberUqbFy5cr4yU9+Eh0dHRmmq3znnXfeoNIZEXHaaafFWWed5W9sBHbs2BEPPfRQ3HHHHVlHGVMeeOCB+N3vfjfw3NDd3R3m7N45xXMc2LZtW9TX18cjjzwSH/zgB+P444+PmTNnxk033eR/jmHq7OyM6667LtatW+et4XdBV1dXdHZ2xoknnph1lIrw9NNPxxlnnBG1tbWDtp977rkD44zcK6+84m9smI4ePRpXX311rFq1Ks4666ys44wp27Zti2nTpsW+ffuivr4+amtrY9q0afGlL30pent7s4435iT5AnnK6/nnn4/jjjsurrzyyrj22mtj0aJF8dBDD8Wtt94ab7zxhhm8Ybj55pujuro6rrnmmqyjjAvr16+P/v5+39P7P1566aWYM2fOW7bPmTMnisVi7N+/P4NUY9umTZuio6Mjbr311qyjjAl33313vPjii/HYY49lHWXMef7556O/vz8uueSSWLVqVXzjG9+I7du3x4YNG+Lw4cPxwAMPZB1xTFE8K0yxWIy+vr5h7Tt16tSIeHO2rlgsxu233x4tLS0REbF06dJ49dVX484774zrr78+ampqypa5kryT8/fcc8/Fhg0b4sEHH5zwv6L1Ts7f/7Vjx4645ZZbYvny5bF48eJ3M96Y1dPTM+T5eu973zswzvC1t7fH6tWro6mpKa644oqs41S81157Lb761a/GTTfdFDNmzMg6zpjT2dkZPT09cdVVV8X69esjIuLSSy+N3t7euOeee+KWW26JU089NeOUY4e32ivMjh07oqqq6pi36urqeO655yIioqqqKiLiLbNLK1asiJ6envjP//zP5P8dWXkn52/NmjVx/vnnx6WXXppx+uy9k/P3/2tvb4/PfOYzsWjRorj33nsz+C+oTFVVVUO+Jff6668PjDM8r7zySnzyk5+M6dOnx5YtWyKXy2UdqeKtW7cuZs6cGatXr846yphU6jn2c5/7XBSLxfjJT36SRawxy4xnhamvr4/77rtvWPv+8a27uXPnxu7du2P27NmDxk866aQoFotx8ODBdztmxRrp+Xvsscfi0UcfjYcffjj27t0bEW/O+h05ciR6enpi7969MWPGjDj++OPLmLpyvJO/vz/at29fXHTRRTF9+vR45JFHJsws+3DMmTNnyLfTX3rppYh48/9hju33v/99/OVf/mX8/ve/jyeeeCLe//73Zx2p4u3evTvuvffeuPPOOwcWsRWLxXj99dejv78/9u7dG9OmTYvp06dnnLRyzZ07N375y18O+RwbERPqOfbdoHhWmNmzZ4/4raPGxsbYvXt3dHR0RF1d3cD2jo6OyOVyMWvWrHc5ZeUa6fnbt29f5HK5WLp06aDtuVwuOjo6Yv78+bF+/fq4+uqr3+2oFemd/P1FvPlW3kUXXRRHjhyJ7du3v+UCPdGdc845sX379ujs7By0wOinP/1p5HK5OOecczJMNzb09vbGpz71qdi9e3ds27YtFixYkHWkMaGjoyOKxWJcffXV8eUvf/kt4/Pnz481a9b4Kr630djYGFu3bo2Ojo44/fTTB7b/8cXkRHqOfTf4Hs9x4Pvf/34sXbo01q1bF1/72tci4s1XtH/2Z38W7e3tsX///gn/2cVSfvvb38auXbvesn3VqlVRV1cXN9xwQyxcuDBOOeWUDNKNDd3d3XHBBRfEr371q9i+fbsSNYQ/fo9na2vrwA869PX1xcKFC2PWrFnx7//+7xknrGxHjx6NpUuXxr/927/FD37wg7j44ouzjjRmvPrqq0P+fa1bty46Oztjw4YNMX/+fCvd38bTTz8dDQ0Ncfnll8d3vvOdge2f+9zn4rvf/W7s3bvX7PsIKJ7jxF/8xV/E448/Hl/84hfjwx/+cDz88MOxbdu2uOeee2LlypVZxxtzTjnlFF8gP0yXXnpp/OAHP4iVK1fGxz/+8UFjtbW1cckll2QTrMIsX748vve978U111wz8MtFTz31VDz22GPR1NSUdbyKds0118SGDRtiyZIl0dzc/Jbxyy+/PINUY9sFF1zgC+RH4Itf/GJs3LgxmpubY/HixfH444/Hd7/73bj++usHJnwYHsVznOju7o4bbrghHnzwwXjttddiwYIFcd111/k6m3do/vz5cfbZZ8f3v//9rKNUvFNOOSVefPHFIcfmzZsXL7zwQuJElamvry9uvPHG2LRpUxw8eDAWLVoUt956a/z5n/951tEq3gUXXBA7duwoOf7GG28kTDM+XHDBBfHaa6/FL37xi6yjjAlvvPFG/MM//ENs3Lgx9u/fH/PmzYvVq1cP+fEF3p7iCQBAEr5OCQCAJBRPAACSUDwBAEhC8QQAIAnFEwCAJBRPAACSUDwBAEhC8QQAIAnFEwCAJBRPAACSUDwBAEhC8QQAIIn/B2Wdg2MUgfbdAAAAAElFTkSuQmCC",
"text/plain": [
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x31a5e54d0>)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"(-6.0,6.0,-6.0,6.0)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = [X[:] Y[:]]; Px = (P*x')';\n",
"plot([x[:,1] Px[:,1]]',[x[:,2] Px[:,2]]',\"b\");\n",
"plot(Px[:,1],Px[:,2],\"ko\");\n",
"axis(\"equal\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 0.4.5",
"language": "julia",
"name": "julia-0.4"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "0.4.5"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment