{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Can you hear the shape of a drum?\n", "We are concerned with the problem originally posed by Mark Kac, whether we can hear the shape of a drum. We illustrate this on two drums and show that the eigenvalues are the same even though the shape of the drums is different." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mPackage PyPlot is already installed\n", "\u001b[39m\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mMETADATA is out-of-date — you may not have the latest version of PyPlot\n", "\u001b[39m\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mUse `Pkg.update()` to get the latest versions of your packages\n", "\u001b[39m" ] } ], "source": [ "using Pkg\n", "Pkg.add(\"PyPlot\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "using PyPlot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are now to" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2×9 Array{Int64,2}:\n", " 1 0 0 2 2 3 2 1 1\n", " 0 1 2 2 3 2 1 1 0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "drum1 = [0 0 2 2 3 2 1 1 0;\n", " 0 1 3 2 2 1 1 0 0]\n", "drum2 = [1 0 0 2 2 3 2 1 1;\n", " 0 1 2 2 3 2 1 1 0]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1-element Array{PyCall.PyObject,1}:\n", " PyObject " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(drum1[1,:],drum1[2,:])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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164lNDT0qvuEhIRcsf133313ze1FRESkenN4rDN16lTGjRtH9+7dCQkJ4f333ycpKYkJEyYAMH78eBo1alT8yZ0pU6bQt29f3nzzTYYPH86KFSv4/vvviY2NLdvfRERERKoEh8vJ6NGjOXfuHK+99hopKSl06NCB6OhomjZtCkBSUhJm838vyISGhrJo0SJefPFFXnrpJVq0aMHixYvp1atX2f0WIiIiUmU4/D0nRijt56RFRETEOBXyPSciIiIi5U3lRERERJyKyomIiIg4FZUTERERcSoqJyIiIuJUVE5ERETEqaiciIiIiFNRORERERGnUqqnEle0374nzmazGZxERERESuq3921Hv++1UpSTjIwMAAICAgxOIiIiIo7KyMjA29u7xNtXiq+vLyoq4tSpU3h6emIymcrs59psNgICAkhOTtbX4peAzlfJ6VyVnM5VyelclZzOVcmV57my2+1kZGTQsGHDy567dyOV4sqJ2WymcePG5fbzvby89JfXATpfJadzVXI6VyWnc1VyOlclV17nypErJr/RDbEiIiLiVFRORERExKlYXnnllVeMDmEki8VCv379cHGpFBMuw+l8lZzOVcnpXJWczlXJ6VyVnLOdq0pxQ6yIiIhUHxrriIiIiFNRORERERGnonIiIiIiTkXlRERERJyKyomIiIg4lSpfTmbPnk1gYCDu7u5069aNmJiY626/dOlSgoKCsFqtBAUFsWzZsgpKajxHztW8efMwmUxXLDk5ORWY2BgbNmxg6NChNGzYEJPJxPLly2+4z/r16+nWrRvu7u40b96cuXPnVkBS4zl6rtatW3fVv1f79++voMTGiYyMpEePHnh6euLr68uIESM4cODADferjv9mleZcVdd/s+bMmUOnTp2Kv/01JCSENWvWXHcfZ/g7VaXLyeLFi3nqqad44YUXiI+PJzw8nIEDB5KUlHTV7Tdv3szo0aMZN24ciYmJjBs3jlGjRrFly5YKTl7xHD1X8OtXHf//du4vpKk+jAP4N91OowKxEhuMLCrOiEA0iy0tocGMCLqLbmTUTUYW1kUsr7prQRT9I4jE7hJqDoQgHDQnZQaLI1ZGRVl0oYhQUQsq5fte9Lq36VZuLzvnuPN8YBf77TnjOQ8PD49jc2xsLO3hcDh0zNoYyWQS1dXVuHLlyrziR0dHsXv3bmzfvh2apqG9vR3Hjh1DOBwucKbGy7VWM16+fJnWVxs2bChQhuYRj8dx5MgRDA4OIhqNYmpqCn6/H8lkMus1Vp1Z+dQKsObMcrlcCIVCSCQSSCQS2LlzJ/bu3Yvnz59njDdNT7GIbd26lS0tLWlnbrebwWAwY/y+ffu4a9eutLOmpibu37+/YDmaRa616uzsZFlZmR6pmRoARiKRP8acPHmSbrc77ezQoUP0eDyFTM105lOrWCxGAPz48aNOWZnXxMQEATAej2eNsfLM+t18aiUz6z/l5eW8ceNGxtfM0lNF+8nJjx8/8OTJE/j9/rRzv9+PgYGBjNc8evRoTnxTU1PW+GKRT60A4OvXr6iqqoLL5cKePXugaVqhU12QsvVVIpHAz58/DcrK3GpqauB0OuHz+RCLxYxOxxCfP38GACxfvjxrjFVn1mzzqRUgM2t6ehpdXV1IJpPwer0ZY8zSUxeCcscAAAP0SURBVEW7nExOTmJ6ehqVlZVp55WVlRgfH894zfj4eE7xxSKfWrndbty8eRM9PT24desWHA4H6uvr8fr1az1SXlCy9dXU1BQmJycNysqcnE4nrl+/jnA4jO7ubqiqCp/Ph/7+fqNT0xVJnDhxAg0NDdi0aVPWOKvOrN/Nt1ZWnllPnz7FsmXLsHjxYrS0tCASiWDjxo0ZY83SU+b4J/oFtGjRorTnJOec/Z/4YpLLvXs8Hng8ntTz+vp61NbW4vLly7h06VJB81yIMtU207nVqaoKVVVTz71eLz58+IBz585hx44dBmamr9bWVgwPD+PBgwd/jbXyzALmXysrzyxVVTE0NIRPnz4hHA4jEAggHo9nXVDM0FNF+8nJypUrUVpaOmfbm5iYmLMVzli1alVO8cUin1rNVlJSgi1btljir5BcZesrm82GFStWGJTVwuHxeCzVV0ePHkVPTw9isRhcLtcfY606s2bkUqvZrDSzFEXB+vXrUVdXhzNnzqC6uhoXL17MGGuWnira5URRFGzevBnRaDTtPBqNYtu2bRmv8Xq9c+J7e3uzxheLfGo1G0kMDQ3B6XQWIsUFLVtf1dXVwW63G5TVwqFpmiX6iiRaW1vR3d2N+/fvY+3atX+9xqozK59aZXoPq84skvj+/XvG10zTU7p+/VZnXV1dtNvt7Ojo4MjICNva2rh06VK+e/eOJNnc3Jz2a5SHDx+ytLSUoVCIL168YCgUos1m4+DgoFG3oJtca3X69Gneu3ePb968oaZpPHDgAG02Gx8/fmzULejmy5cv1DSNmqYRAM+fP09N0/j+/XuSZDAYZHNzcyr+7du3XLJkCY8fP86RkRF2dHTQbrfzzp07Rt2CbnKt1YULFxiJRPjq1Ss+e/aMwWCQABgOh426Bd0cPnyYZWVl7Ovr49jYWOrx7du3VIzMrF/yqZVVZ9apU6fY39/P0dFRDg8Ps729nSUlJezt7SVp3p4q6uWEJK9evcqqqioqisLa2tq0n5o1NjYyEAikxd++fZuqqtJut9PtdltiKM7IpVZtbW1cvXo1FUVhRUUF/X4/BwYGDMhafzM/d539mKlPIBBgY2Nj2jV9fX2sqamhoihcs2YNr127pn/iBsi1VmfPnuW6devocDhYXl7OhoYG3r1715jkdZapTgDY2dmZipGZ9Us+tbLqzDp48GBqrldUVNDn86UWE9K8PbWI/PebeUIIIYQQJlC03zkRQgghxMIky4kQQgghTEWWEyGEEEKYiiwnQgghhDAVWU6EEEIIYSqynAghhBDCVGQ5EUIIIYSpyHIihBBCCFOR5UQIIYQQpiLLiRBCCCFMRZYTIYQQQpjKP2r2ryh8bTnjAAAAAElFTkSuQmCC", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1-element Array{PyCall.PyObject,1}:\n", " PyObject " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(drum2[1,:],drum2[2,:])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "polygon2mat (generic function with 2 methods)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Compute a discrete spatial description matrix of a polygon given by a number of points\n", "#\n", "# points: 2 x N matrix of N points\n", "# nx, ny: size of the returned matrix\n", "# fillValue: An Int64 that is assigned to the interior of the polygon\n", "#\n", "# The returned matrix's entries will be 0 outside the polygon, 1 on the edges, and fillValue inside the polygon\n", "# \n", "# Important: setting fillValue != 0 requires the points to be given in a clockwise order\n", "\n", "function polygon2mat(points, nx, ny, fillValue = 0)\n", " N = size(points, 2)\n", "\n", " M = zeros(Int64, ny, nx);\n", "\n", " minx = minimum(points[1,:])\n", " maxx = maximum(points[1,:])\n", " miny = minimum(points[2,:])\n", " maxy = maximum(points[2,:])\n", "\n", " # Transform the points from [minx, maxx] \\times [miny, maxy] to [1,nx] \\times [1,ny]\n", " # (writing 1:1 instead of 1 preserves the row matrix format by preventing transformation into a 1D array)\n", " points = [1 + (nx-1)*(points[1:1,:] - minx)/(maxx - minx); 1 + (ny-1)*(points[2:2,:] - miny)/(maxy - miny)]\n", "\n", " # Fill the entries along the edges with 1's\n", " xOld = points[1,1]\n", " yOld = points[2,1]\n", " for k = 2:N\n", " xNew = points[1,k]\n", " yNew = points[2,k]\n", "\n", " # Follow the edge from (xOld, yOld) to (xNew, yNew) and fill entries close to it with 1's\n", " \n", " if abs(yOld - yNew) < abs(xOld - xNew)\n", " xStep = xNew < xOld ? -1 : 1\n", " for x = round(Int64,xOld):xStep:round(Int64,xNew)\n", " t = (x - xOld) ./ (xNew - xOld)\n", " y = round(Int64, t*yNew + (1-t)*yOld)\n", " M[y,x] = 1\n", " end\n", " else\n", " yStep = yNew < yOld ? -1 : 1\n", " for y = round(Int64,yOld):yStep:round(Int64,yNew)\n", " t = (y - yOld) ./ (yNew - yOld)\n", " x = round(Int64, t*xNew + (1-t)*xOld)\n", " M[y,x] = 1\n", " end\n", " end\n", "\n", " xOld = xNew\n", " yOld = yNew\n", " end\n", "\n", " # Fill the interior of the polygon with fillValue\n", " if fillValue != 0\n", " # Compute an interior point (requires points to be given in clockwise order)\n", " \n", " # Compute center coordinate and unnormalized normal vector of first edge\n", " centerx = round(Int64, 0.5*(points[1,1] + points[1,2]))\n", " centery = round(Int64, 0.5*(points[2,1] + points[2,2]))\n", "\n", " normalx = points[2,2] - points[2,1]\n", " normaly = - points[1,2] + points[1,1]\n", "\n", " # Check for interior point: center coordinate + small step * normal\n", " # This might fail if an angle is extremely acute and the resolution is too low\n", " step = 1\n", " intx, inty = 0, 0\n", " while true\n", " if abs(normaly) < abs(normalx)\n", " intx = centerx + step*Int64(sign(normalx))\n", " inty = round(Int64, centery + step*normaly/abs(normalx))\n", " else\n", " intx = round(Int64, centerx + step*normalx/abs(normaly))\n", " inty = centery + step*Int64(sign(normaly))\n", " end\n", " if M[inty, intx] == 0\n", " break\n", " end\n", " step += 1\n", " end\n", " \n", " # Simple graph coloring. For each point in the queue: Check if it is already colored.\n", " # If not, color it and add all its neighbors to the queue\n", " intQueue = [(intx, inty)]\n", " while !isempty(intQueue)\n", " (x,y) = pop!(intQueue)\n", " if M[y,x] == 0\n", " M[y,x] = fillValue\n", " push!(intQueue, (x-1,y))\n", " push!(intQueue, (x+1,y))\n", " push!(intQueue, (x,y+1))\n", " push!(intQueue, (x,y-1))\n", " end\n", " end\n", " end\n", " M\n", "end" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "fdlaplacian (generic function with 1 method)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function fdlaplacian(G)\n", " # read info about G\n", " M, N = size(G)\n", " nonz = find(G)\n", " # define function to create a 1D laplacian and a sparse identity\n", " fdl1(m) = spdiagm((ones(m-1),-2*ones(m),ones(m-1)), [-1,0,1])\n", " # laplace operator on the full grid\n", " A = kron(speye(M), fdl1(N)) + kron(fdl1(M), speye(N))\n", " # return the restriction to the coloured grid points\n", " return A[nonz, nonz]\n", " \n", "end" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 with eigenvalues:[-0.0452362, -0.0649907, -0.0919928, -0.115439, -0.128364, -0.162298, -0.186071, -0.202467, -0.216614, -0.229769, -0.25044, -0.278662, -0.29563, -0.308065, -0.332113, -0.363516, -0.370352, -0.386677, -0.409112, -0.424055](721, 721)\n" ] }, { "data": { "image/png": "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HTp//nzM55OVlaXvfe97mjp1qqqrq3Xttdfqt7/9revm0dDQoPb2dpWWliojI0MZGRnas2ePfve73ykjI0NFRUWumk9fOTk5mjx5sj7++GPXPWYuvfRSTZo0Kei6iRMnqrm5WZI7nwM+/fRT7d69W/fcc49zXTweM66KVlZWlkpLS1VXVxd0fV1dncrLy+O0V+EbP368vF5v0Dy6u7u1Z88eZx5lZWWybVsHDx50xhw4cEC2bcd8rsYYrVixQq+++qreeustjR8/Pmh7aWmpMjMzg+bT1tampqamoPk0NTWpra3NGbNr1y55PB6VlpbGZiKDMMYoEAi4bh6zZs3SkSNH1NjY6FymTp2qRYsWOX9203z6CgQC+vDDD3XppZe67jEzY8aMfm8L+dOf/qRx48ZJct9zgCRt2bJFhYWFmjt3rnNdXB4zYZ+6EWe9p7w/99xz5tixY6aqqsrk5OSY//3f/433rgU5ffq0ef/99837779vJJknnnjCvP/++86p+Y888oixLMu8+uqr5siRI+bnP//5gKe7TpkyxdTX15v6+nozefLkuJy++8tf/tJYlmXeeeedoFNf/+///s8Zs3TpUnPZZZeZ3bt3m8OHD5uf/OQnA572OmvWLHP48GGze/duc9lll8X81Op169aZd99915w4ccJ88MEH5sEHHzTp6elm165drprHYL599qAx7prPmjVrzDvvvGM++eQTs3//fjNv3jyTm5vrPLbd9Jg5ePCgycjIML/5zW/Mxx9/bF5++WUzevRo89JLLzlj3DSfnp4ec/nll5sHHnig37ZY/465LlrGGPMf//EfZty4cSYrK8v84Ac/cE69TiRvv/22kdTvsnjxYmPM16e8Pvzww8br9RqPx2N+/OMfmyNHjgTdx6lTp8yiRYtMbm6uyc3NNYsWLTIdHR0xn8tA85BktmzZ4ow5d+6cWbFihRkzZozJzs428+bNM83NzUH38+mnn5q5c+ea7OxsM2bMGLNixQrz5ZdfxnQud911l/O7893vftfMmjXLCZab5jGYvtFy03x636eUmZlpfD6f+elPf2qOHj3qbHfTY8YYY/74xz+akpIS4/F4zNVXX202bdoUtN1N83nzzTeNJHP8+PF+22L9O5ZmjDHhr88AAIg9V72mBQBIbUQLAOAaRAsA4BpECwDgGkQLAOAaRAsA4BqujFYg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", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "2 with eigenvalues:[-0.0452362, -0.0649907, -0.0919928, -0.115439, -0.128364, -0.162298, -0.186071, -0.202467, -0.216614, -0.229769, -0.25044, -0.278662, -0.29563, -0.308065, -0.332113, -0.363516, -0.370352, -0.386677, -0.409112, -0.424055](721, 721)\n" ] } ], "source": [ "resolution = 15;\n", "nx = 3*resolution+1\n", "ny = 3*resolution+1\n", "\n", "grid1 = polygon2mat(drum1, nx, ny, 2)\n", "grid2 = polygon2mat(drum2, nx, ny, 2)\n", "grids = [grid1, grid2]\n", "includeEdges = false\n", "\n", "ev = Float64[]\n", "laplacian = Float64[]\n", "G = zeros(Int64, size(grids[1]))\n", "for d=1:2\n", " isinpolygon = includeEdges ? (grids[d] .> 0) : (grids[d] .== 2)\n", " p = find(isinpolygon)\n", " numNodes = length(p)\n", " \n", " G = zeros(Int64, size(grids[d]))\n", " G[p] = 1:numNodes;\n", "\n", " laplacian = fdlaplacian(G)\n", " spy(laplacian)\n", " (ew,ev)=eigs(laplacian,which=:SM,nev=20)\n", " println(d,\" with eigenvalues:\",ew,size(laplacian))\n", "end\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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8sornud53l133eXV1dV5TzzxhLdnzx7vk5/8pNfY2Oj19fXF3PLRjbRux48f99asWeM9//zz3qFDh7xnn33Wmz9/vvfOd74zEev2uc99zqurq/O2bdvmHTlypPj4wx/+UHzNZz/7WW/q1KneM8884+3atcu78sorvdmzZ3tvvfVWjC0f3Wjr9pvf/Ma74447vJ07d3qHDh3ynnzySe+iiy7yLr30UufXbd26dd727du9Q4cOeb/4xS+89evXe2PGjPGefvppz/OSu80KRlq/JG+3Ugaf2ZL0bddf/3Uzud2cCiie53n/+q//6k2fPt2rrq725syZM+BUwaS6+eabvcbGRm/s2LHelClTvBtvvNHbt29f3M0K5Nlnn/UkDXksW7bM87y3TzXesGGD19DQ4OVyOe+KK67w9uzZE2+jyzTSuv3hD3/wlixZ4p133nne2LFjvWnTpnnLli3zDh8+HHezy1JqvSR5Dz/8cPE1b775pnfbbbd5EydO9MaPH+9de+21iVi/0dbt8OHD3hVXXOFNnDjRq66u9mbMmOF9/vOf915//fV4G16Gv/3bvy0eD8877zxv0aJFxXDiecndZgUjrV+St1spgwNK0rddf/3XzeR2q/A8z/NZ4QEAALDKmTkoAAAABQQUAADgHAIKAABwDgEFAAA4h4ACAACcQ0ABAADOIaAAAADnEFAAAIBzCCgAAMA5BBQAAOAcAgoAAHDO/wfT+/fRDwAIIgAAAABJRU5ErkJggg==", "text/plain": [ "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P=zeros(nx,nx)\n", "for i=1:nx\n", " for j=1:nx\n", " if G[i,j]!= 0\n", " P[i,j]=ev[G[i,j],18]\n", " #P[i,j]=ev[1,G[i,j]];\n", " end\n", " end\n", "end\n", "\n", "contourf(P)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 0.6.3", "language": "julia", "name": "julia-0.6" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "0.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }