{"id":1120,"date":"2014-11-17T12:00:51","date_gmt":"2014-11-17T17:00:51","guid":{"rendered":"https:\/\/blogs.mathworks.com\/cleve\/?p=1120"},"modified":"2017-01-06T09:47:44","modified_gmt":"2017-01-06T14:47:44","slug":"mathworks-logo-part-four-method-of-particular-solutions-generates-the-logo","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/cleve\/2014\/11\/17\/mathworks-logo-part-four-method-of-particular-solutions-generates-the-logo\/","title":{"rendered":"MathWorks Logo, Part Four, Method of Particular Solutions Generates the Logo"},"content":{"rendered":"<div class=\"content\">\r\n\r\n<!--introduction-->The Method of Particular Solutions computes a highly accurate approximation to the eigenvalue we have been seeking, and guaranteed bounds on the accuracy. It also provides flexibility involving the boundary conditions that leads to the MathWorks logo.\r\n\r\n<!--\/introduction-->\r\n<h3>Contents<\/h3>\r\n<div>\r\n<ul>\r\n \t<li><a href=\"#f9eb3d7a-72de-4e72-abb9-0810809d8136\">Eidgenossische Technische Hochschule Zurich<\/a><\/li>\r\n \t<li><a href=\"#3bf8d99e-a550-43d0-85ac-df2506207c72\">Method of Particular Solutions<\/a><\/li>\r\n \t<li><a href=\"#4dadc5c5-8ef2-4b11-87cb-5528ec7a8c5b\">Boundary Conditions<\/a><\/li>\r\n \t<li><a href=\"#1558f33f-6e8a-460d-a73d-cfc00349fd0f\">All Four Terms<\/a><\/li>\r\n \t<li><a href=\"#29c5b0a5-62b4-4f05-a50e-bbefecbf8e34\">Just Two Terms<\/a><\/li>\r\n \t<li><a href=\"#71a871ee-25cf-4eca-b97c-006868e4a29d\">Upper and lower bounds<\/a><\/li>\r\n \t<li><a href=\"#b3d6f8f3-aba9-4e16-9ee0-a316c4b9c4ed\">Reviving the Method of Particular Solutions<\/a><\/li>\r\n \t<li><a href=\"#b00d104d-626f-4c42-a660-450963141814\">References<\/a><\/li>\r\n<\/ul>\r\n<\/div>\r\n<h4>Eidgenossische Technische Hochschule Zurich<a name=\"f9eb3d7a-72de-4e72-abb9-0810809d8136\"><\/a><\/h4>\r\nIn 1965-66, after finishing grad school, I spent a postdoctoral year at the ETH, the Swiss Federal Institute of Technology in Zurich. At the time, the faculty included three world renowned numerical analysts, Eduard Stiefel, Heinz Rutishauser, and Peter Henrici. Moreover, IBM had a branch of their research division in Ruschlikon, a Zurich suburb, where they held occasional seminars.\r\n\r\nIn October, Leslie Fox, from Oxford, visited the IBM center and gave a talk about the work two of his students, Joan Walsh and John Reid, were doing on the L-shaped membrane. Expansions involving Bessel functions that matched the singularity of the eigenfunction near the reentrant corner were coupled to finite difference grids in the rest of the domain. Shortly after Fox's talk, it occurred to me to use the Bessel function expansions over the entire domain and avoid finite differences altogether.\r\n\r\nWithin a matter of weeks I had done computations on the CDC 1604 mainframe at the ETH that had me very excited. To celebrate, I made an L-shaped ornament out of aluminum foil for the Christmas tree in our apartment.\r\n\r\nHenrici contributed some theoretical background relating what I was doing to work of Stephan Bergman and a Russian mathematician I. N. Vekua. Together with Fox, we published <a href=\"https:\/\/blogs.mathworks.com\/images\/cleve\/Fox_Henrici_Moler.pdf\">a paper<\/a> in the SIAM Journal on Numerical Analysis in 1967.\r\n<h4>Method of Particular Solutions<a name=\"3bf8d99e-a550-43d0-85ac-df2506207c72\"><\/a><\/h4>\r\nYou don't need to know much about Bessel functions to appreciate the method of particular solutions. Using polar coordinates, a particular solution is any function of the form\r\n\r\n$$ v_\\alpha(\\lambda,r,\\theta) = B_\\alpha(\\sqrt{\\lambda} r) \\sin{(\\alpha \\theta}) $$\r\n\r\nFirst of all, notice that the $\\sin{(\\alpha \\theta)}$ portion insures that this solution satisfies the boundary condition\r\n\r\n$$ v_\\alpha(\\lambda,r,\\theta) = 0 $$\r\n\r\nalong the two rays with $\\theta = 0$ and $\\theta = {\\pi}\/{\\alpha}$. For our L-shaped domain the reentrant corner has an angle of $\\frac{3}{2}\\pi$, so we will want to have\r\n\r\n$$ \\alpha = \\frac{2}{3}j $$\r\n\r\nwhere $j$ is an integer.\r\n\r\nThe Bessel function $B_\\alpha$ is defined by an ordinary differential equation that implies any $v_\\alpha$ satisfies the partial differential equation\r\n\r\n$$ \\Delta v_\\alpha + \\lambda v_\\alpha = 0 $$\r\n\r\nIf $\\alpha$ is not an integer, then $B_\\alpha(r)$ has another important property. Its derivatives blow up as $r$ goes to 0. This asymptotic singularity is just what we need to match the singularity in the eigenfunction.\r\n\r\nWe can also take advantage of symmetries. The first eigenfunction is symmetric about the centerline of the L. We can also eliminate components that come from the eigenfunctions of the unit squares that are subdomains. This implies that for the first eigenfunction $\\alpha = \\frac{2}{3}j$ where $j$ is an odd integer that is not a multiple of 3, that is\r\n\r\n$$ \\alpha_j = \\frac{2}{3}j, \\ \\ j = 1,5,7,11,13, ... $$\r\n<h4>Boundary Conditions<a name=\"4dadc5c5-8ef2-4b11-87cb-5528ec7a8c5b\"><\/a><\/h4>\r\nForm a linear combination of particular solutions.\r\n\r\n$$ u(\\lambda,r,\\theta) = \\sum_\\alpha c_\\alpha v_\\alpha(\\lambda,r,\\theta) $$\r\n\r\nThis function satisfies our differential equation throughout the domain, satisfies the boundary condition on the two edges that meet at the reentrant corner, and has the desired singular behavior there. All we have to do is pick $\\lambda$ and the coefficients $c_\\alpha$ so that $u$ satisfies the boundary condition, $u = 0$, on the remaining edges of the L.\r\n\r\nThe general idea is to pick a number of points on the outer boundary and investigate the matrix obtained by evaluating the particular solutions in the linear combination at these points. Vary $\\lambda$ until that matrix is nearly rank deficient. The resulting null vector provides the desired coefficients.\r\n\r\nThe details of how we carry out this general plan have varied over the years. The best approach is implemented in the function <tt>membranetx<\/tt>, <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/37976-numerical-computing-with-matlab\">available here<\/a>, described in the <a href=\"https:\/\/www.mathworks.com\/content\/dam\/mathworks\/mathworks-dot-com\/moler\/pdes.pdf\">PDE chapter<\/a> of <i>Numerical Computing with MATLAB<\/i>. It uses the matrix computation workhorse, the SVD, the singular value decomposition.\r\n\r\nThe number of rows in the matrix involved is the number of points on the boundary and the number of columns is the number of terms in the sum. The figures below come from matrices that are 46-by-9. Let $(r_i,\\theta_i)$ be the points chosen on the boundary. The matrix elements are\r\n\r\n$$ a_{i,j}(\\lambda) = B_{\\alpha_j}(\\sqrt{\\lambda} r_i) \\sin{(\\alpha_j \\theta_i)} $$\r\n\r\nThe function <tt>fmintx<\/tt> is used to vary $\\lambda$ and find a minimum of the SVD of this matrix. The resulting matrix is essentially rank deficient and the resulting right singular vector is a null vector that provides the coefficients.\r\n\r\nThe minimum is found at\r\n\r\n$$ \\lambda = 9.639723844 $$\r\n\r\nHere are the first four particular solutions. The vertical scale reflects the magnitude of the corresponding coefficient.\r\n<pre class=\"codeinput\">   mps_figs\r\n<\/pre>\r\n<img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/cleve\/logo_mps_01.png\" alt=\"\" hspace=\"5\" vspace=\"5\" \/>\r\n<h4>All Four Terms<a name=\"1558f33f-6e8a-460d-a73d-cfc00349fd0f\"><\/a><\/h4>\r\nNone of these four terms is remotely close to zero on the outer boundary, but when they are added together the sum is zero to graphical accuracy.\r\n<pre class=\"codeinput\">   mps_figs(4)\r\n<\/pre>\r\n<img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/cleve\/logo_mps_02.png\" alt=\"\" hspace=\"5\" vspace=\"5\" \/>\r\n\r\nSo this is actually the first eigenfunction of the L-shaped membrane.\r\n<h4>Just Two Terms<a name=\"29c5b0a5-62b4-4f05-a50e-bbefecbf8e34\"><\/a><\/h4>\r\nNow we can have some fun. Here is a <tt>surf<\/tt> plot of the sum of just the first two particular solutions.\r\n<pre class=\"codeinput\">   mps_figs(2)\r\n<\/pre>\r\n<img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/cleve\/logo_mps_03.png\" alt=\"\" hspace=\"5\" vspace=\"5\" \/>\r\n\r\nThis function is an exact solution of the partial differential equation\r\n\r\n$$ \\Delta u + \\lambda u = 0 $$\r\n\r\nwith the value of $\\lambda$ reported above. It satisfies the boundary condition $u = 0$ on the two edges meeting at the reentrant corner, but it fails significantly on the outer edges. So it is only with some artistic license that we can refer to it as the first eigenfunction of L-shaped membrane.\r\n\r\nWhen I first saw this <tt>surf<\/tt> plot, it didn't have this gorgeous color map, but I found the shape so attractive that I kept it around. The evolution of the shading, lighting and colors that turned this into our logo is the subject of my next blog.\r\n<h4>Upper and lower bounds<a name=\"71a871ee-25cf-4eca-b97c-006868e4a29d\"><\/a><\/h4>\r\nThe Fox, Henrici and Moler paper was not just about the method of particular solutions. We were also concerned about finding guaranteed upper and lower bounds for the exact eigenvalue of the continuous differential operator. A theorem proved in the paper relates the discrepancy in meeting the boundary condition to the width of a small interval containing the eigenvalue. In 1966 we proved\r\n\r\n$$ 9.6397238_{05} &lt; \\lambda &lt; 9.6397238^{84} $$\r\n\r\nToday with <tt>membranetx<\/tt> on MATLAB, I am finding a value of $\\lambda$ in the center of this interval.\r\n<pre class=\"codeinput\">   [L,lambda] = membranetx(1);\r\n   format <span class=\"string\">long<\/span>\r\n   lambda\r\n<\/pre>\r\n<pre class=\"codeoutput\">lambda =\r\n   9.639723844021997\r\n<\/pre>\r\n<h4>Reviving the Method of Particular Solutions<a name=\"b3d6f8f3-aba9-4e16-9ee0-a316c4b9c4ed\"><\/a><\/h4>\r\nIn 2005 Timo Betcke and Nick Trefethen published <a href=\"https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf\">a paper<\/a> in <i>SIAM Review<\/i> that pointed out a serious shortcoming in the approach we described in the Fox, Henrici and Moler paper. When the method is attempted on other domains, especially domains with more than one singular corner, the matrix has a tendency to appear nearly rank deficient for all values of $\\lambda$. It is difficult to identify local minima. The recommended cure is to add a number of interior points and require the approximate eigenfunction to be nonzero there.\r\n\r\nBetcke and Trefethen also prove an approximation theoretic result that, when combined with their computations, adds four more digits to our rigorous bounds on the first eigenvalue.\r\n\r\n$$ 9.63972384402_{16} &lt; \\lambda &lt; 9.63972384402^{22} $$\r\n\r\nMoreover, they are so confident in their numerical results that they are sure the exact eigenvalue lies in the center of this interval, and they are pretty sure they even know the next digit.\r\n\r\n$$ \\lambda \\approx 9.63972384402195 $$\r\n\r\nThis agrees with what I get out of <tt>membranetx<\/tt> to almost full double precision accuracy. I think we finally have this fellow pinned down.\r\n\r\nI recommend that anyone reading this blog who wants to know more about the method of particular solutions and computing the eigenvalues of the L-shaped membrane read the <a href=\"https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf\">Betcke and Trefethen paper<\/a>.\r\n<h4>References<a name=\"b00d104d-626f-4c42-a660-450963141814\"><\/a><\/h4>\r\nLeslie Fox, Peter Henrici, and Cleve Moler, Approximations and Bounds for Eigenvalues of Elliptic Operators, SIAM Journal Numerical Analysis 4, 89-102, 1967, <a href=\"https:\/\/blogs.mathworks.com\/images\/cleve\/Fox_Henrici_Moler.pdf\">&lt;https:\/\/blogs.mathworks.com\/images\/cleve\/Fox_Henrici_Moler.pdf<\/a>&gt;\r\n\r\nTimo Betcke and Lloyd N. Trefethen, Reviving the Method of Particular Solutions SIAM Review 47, 469-491, 2005, <a href=\"https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf\">https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf<\/a>\r\n\r\nCleve Moler, <i>Numerical Computing with MATLAB<\/i>, Chapter 11, Partial Differential Equations, 2004. &lt;<a href=\"https:\/\/www.mathworks.com\/content\/dam\/mathworks\/mathworks-dot-com\/moler\/pdes.pdf\">https:\/\/www.mathworks.com\/content\/dam\/mathworks\/mathworks-dot-com\/moler\/pdes.pdf<\/a>&gt;\r\n\r\n<script>\/\/ <![CDATA[\r\nfunction grabCode_cce3cf9be95c48ccb5a8cf2fca81f5c0() {\r\n        \/\/ Remember the title so we can use it in the new page\r\n        title = document.title;\r\n\r\n        \/\/ Break up these strings so that their presence\r\n        \/\/ in the Javascript doesn't mess up the search for\r\n        \/\/ the MATLAB code.\r\n        t1='cce3cf9be95c48ccb5a8cf2fca81f5c0 ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' cce3cf9be95c48ccb5a8cf2fca81f5c0';\r\n    \r\n        b=document.getElementsByTagName('body')[0];\r\n        i1=b.innerHTML.indexOf(t1)+t1.length;\r\n        i2=b.innerHTML.indexOf(t2);\r\n \r\n        code_string = b.innerHTML.substring(i1, i2);\r\n        code_string = code_string.replace(\/REPLACE_WITH_DASH_DASH\/g,'--');\r\n\r\n        \/\/ Use \/x3C\/g instead of the less-than character to avoid errors \r\n        \/\/ in the XML parser.\r\n        \/\/ Use '\\x26#60;' instead of '<' so that the XML parser\r\n        \/\/ doesn't go ahead and substitute the less-than character. \r\n        code_string = code_string.replace(\/\\x3C\/g, '\\x26#60;');\r\n\r\n        copyright = 'Copyright 2014 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('\r\n\r\n\r\n\r\n\r\n\r\n<pre>\\n');\r\n        d.write(code_string);\r\n\r\n        \/\/ Add copyright line at the bottom if specified.\r\n        if (copyright.length > 0) {\r\n            d.writeln('');\r\n            d.writeln('%%');\r\n            if (copyright.length > 0) {\r\n                d.writeln('% _' + copyright + '_');\r\n            }\r\n        }\r\n\r\n        d.write('<\/pre>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\\n');\r\n\r\n        d.title = title + ' (MATLAB code)';\r\n        d.close();\r\n    }\r\n\/\/ ]]><\/script>\r\n<p style=\"text-align: right; font-size: xx-small; font-weight: lighter; font-style: italic; color: gray;\"><a><span style=\"font-size: x-small; font-style: italic;\">Get\r\nthe MATLAB code<noscript>(requires JavaScript)<\/noscript><\/span><\/a><\/p>\r\nPublished with MATLAB\u00ae R2014b\r\n\r\n<\/div>\r\n<!--\r\ncce3cf9be95c48ccb5a8cf2fca81f5c0 ##### SOURCE BEGIN #####\r\n%% MathWorks Logo, Part Four, Method of Particular Solutions Generates the Logo\r\n% The Method of Particular Solutions computes a highly accurate approximation\r\n% to the eigenvalue we have been seeking, and guaranteed bounds on the\r\n% accuracy.  It also provides flexibility involving the boundary conditions\r\n% that leads to the MathWorks logo.\r\n\r\n%% Eidgenossische Technische Hochschule Zurich\r\n% In 1965-66, after finishing grad school, I spent a postdoctoral year\r\n% at the ETH, the Swiss Federal Institute of Technology in Zurich.\r\n% At the time, the faculty included three world renowned numerical\r\n% analysts, Eduard Stiefel, Heinz Rutishauser, and Peter Henrici.\r\n% Moreover, IBM had a branch of their research division in Ruschlikon, a\r\n% Zurich suburb, where they held occasional seminars.\r\n\r\n%%\r\n% In October, Leslie Fox, from Oxford, visited the IBM center and gave\r\n% a talk about the work two of his students, Joan Walsh and John Reid,\r\n% were doing on the L-shaped membrane.  Expansions involving Bessel functions\r\n% that matched the singularity of the eigenfunction near the reentrant corner\r\n% were coupled to finite difference grids in the rest of the domain.  Shortly\r\n% after Fox's talk, it occurred to me to use the Bessel function expansions\r\n% over the entire domain and avoid finite differences altogether.\r\n\r\n%%\r\n% Within a matter of weeks I had done computations on the CDC 1604 mainframe\r\n% at the ETH that had me very excited.  To celebrate, I made an L-shaped\r\n% ornament out of aluminum foil for the Christmas tree in our apartment.\r\n\r\n%%\r\n% Henrici contributed some theoretical background relating what I was\r\n% doing to work of Stephan Bergman and a Russian mathematician I. N. Vekua.\r\n% Together with Fox, we published\r\n% <https:\/\/blogs.mathworks.com\/images\/cleve\/Fox_Henrici_Moler.pdf % a paper> in the SIAM Journal on Numerical Analysis in 1967.\r\n\r\n%% Method of Particular Solutions\r\n% You don't need to know much about Bessel functions to appreciate the\r\n% method of particular solutions.  Using polar coordinates, a particular\r\n% solution is any function of the form\r\n%\r\n% $$ v_\\alpha(\\lambda,r,\\theta) = B_\\alpha(\\sqrt{\\lambda} r) \\sin{(\\alpha \\theta}) $$\r\n\r\n%%\r\n% First of all, notice that the $\\sin{(\\alpha \\theta)}$ portion insures that\r\n% this solution satisfies the boundary condition\r\n%\r\n% $$ v_\\alpha(\\lambda,r,\\theta) = 0 $$\r\n%\r\n% along the two rays with $\\theta = 0$ and $\\theta = {\\pi}\/{\\alpha}$.\r\n% For our L-shaped domain the reentrant corner has an angle of\r\n% $\\frac{3}{2}\\pi$, so we will want to have\r\n%\r\n% $$ \\alpha = \\frac{2}{3}j $$\r\n%\r\n% where $j$ is an integer.\r\n\r\n%%\r\n% The Bessel function $B_\\alpha$ is defined by an ordinary differential\r\n% equation that implies any $v_\\alpha$ satisfies the partial differential\r\n% equation\r\n%\r\n% $$ \\Delta v_\\alpha + \\lambda v_\\alpha = 0 $$\r\n\r\n%%\r\n% If $\\alpha$ is not an integer, then $B_\\alpha(r)$ has another\r\n% important property.  Its derivatives blow up as $r$ goes to 0.\r\n% This asymptotic singularity is just what we need to match the\r\n% singularity in the eigenfunction.\r\n\r\n%%\r\n% We can also take advantage of symmetries.  The first eigenfunction\r\n% is symmetric about the centerline of the L.  We can also eliminate\r\n% components that come from the eigenfunctions of the unit squares that\r\n% are subdomains.  This implies that for the first eigenfunction\r\n% $\\alpha = \\frac{2}{3}j$ where $j$ is an odd integer that is not\r\n% a multiple of 3, that is\r\n%\r\n% $$ \\alpha_j = \\frac{2}{3}j, \\ \\ j = 1,5,7,11,13, ... $$\r\n%\r\n\r\n%% Boundary Conditions\r\n\r\n%%\r\n% Form a linear combination of particular solutions.\r\n%\r\n% $$ u(\\lambda,r,\\theta)  = \\sum_\\alpha c_\\alpha v_\\alpha(\\lambda,r,\\theta) $$\r\n%\r\n% This function satisfies our differential equation throughout the domain,\r\n% satisfies the boundary condition on the two edges that meet at the\r\n% reentrant corner, and has the desired singular behavior there.\r\n% All we have to do is pick $\\lambda$ and the coefficients $c_\\alpha$ so that\r\n% $u$ satisfies the boundary condition, $u  = 0$, on the remaining edges\r\n% of the L.\r\n\r\n%%\r\n% The general idea is to pick a number of points on the outer boundary\r\n% and investigate the matrix obtained by evaluating the particular solutions\r\n% in the linear combination at these points.  Vary $\\lambda$ until that\r\n% matrix is nearly rank deficient.  The resulting null vector provides\r\n% the desired coefficients.\r\n\r\n%%\r\n% The details of how we carry out this general plan have varied over the years.\r\n% The best approach is implemented in the function |membranetx|,\r\n% <https:\/\/www.mathworks.com\/moler.htmlncmfilelist.html available here>,\r\n% described in the <https:\/\/www.mathworks.com\/moler.htmlpdes.pdf PDE chapter>\r\n% of _Numerical Computing with MATLAB_.  It uses the matrix computation\r\n% workhorse, the SVD, the singular value decomposition.\r\n\r\n%%\r\n% The number of rows in the matrix involved is the number of points on the\r\n% boundary and the number of columns is the number of terms in the sum.\r\n% The figures below come from matrices that are 46-by-9.  Let\r\n% $(r_i,\\theta_i)$ be the points chosen on the boundary.\r\n% The matrix elements are\r\n%\r\n% $$ a_{i,j}(\\lambda) = B_{\\alpha_j}(\\sqrt{\\lambda} r_i) \\sin{(\\alpha_j \\theta_i)} $$\r\n\r\n%%\r\n% The function |fmintx| is used to vary $\\lambda$ and find a minimum of\r\n% the SVD of this matrix. The resulting matrix is essentially rank deficient\r\n% and the resulting right singular vector is a null vector that provides\r\n% the coefficients.\r\n\r\n%%\r\n% The minimum is found at\r\n%\r\n% $$ \\lambda = 9.639723844 $$\r\n%\r\n\r\n%%\r\n% Here are the first four particular solutions.  The vertical scale\r\n% reflects the magnitude of the corresponding coefficient.\r\n\r\nmps_figs\r\n\r\n%% All Four Terms\r\n% None of these four terms is remotely close to zero on the outer boundary,\r\n% but when they are added together the sum is zero to graphical accuracy.\r\n\r\nmps_figs(4)\r\n\r\n%%\r\n% So this is actually the first eigenfunction of the L-shaped membrane.\r\n\r\n%% Just Two Terms\r\n% Now we can have some fun.  Here is a |surf| plot of the sum of just the\r\n% first two particular solutions.\r\n\r\nmps_figs(2)\r\n\r\n%%\r\n% This function is an exact solution of the partial differential equation\r\n%\r\n% $$ \\Delta u + \\lambda u = 0 $$\r\n%\r\n% with the value of $\\lambda$ reported above.\r\n% It satisfies the boundary condition $u = 0$ on the two edges meeting at\r\n% the reentrant corner, but it fails significantly on the outer edges.\r\n% So it is only with some artistic license that we can refer to it as\r\n% the first eigenfunction of L-shaped membrane.\r\n\r\n%%\r\n% When I first saw this |surf| plot,  it didn't have this gorgeous color map,\r\n% but I found the shape so attractive that I kept it around.\r\n% The evolution of the shading, lighting and colors that turned this into\r\n% our logo is the subject of my next blog.\r\n\r\n%% Upper and lower bounds\r\n% The Fox, Henrici and Moler paper was not just about the method of\r\n% particular solutions.  We were also concerned about finding guaranteed\r\n% upper and lower bounds for the exact eigenvalue of the continuous\r\n% differential operator.  A theorem proved in the paper relates the\r\n% discrepancy in meeting the boundary condition to the width of a small\r\n% interval containing the eigenvalue.  In 1966 we proved\r\n%\r\n% $$ 9.6397238_{05} < \\lambda < 9.6397238^{84} $$\r\n\r\n%%\r\n% Today with |membranetx| on MATLAB, I am finding a value of $\\lambda$\r\n% in the center of this interval.\r\n\r\n[L,lambda] = membranetx(1);\r\nformat long\r\nlambda\r\n\r\n%% Reviving the Method of Particular Solutions\r\n% In 2005 Timo Betcke and Nick Trefethen published\r\n% <https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf % a paper> in _SIAM Review_ that pointed out a serious shortcoming in the\r\n% approach we described in the Fox, Henrici and Moler paper.  When the\r\n% method is attempted on other domains, especially domains with more than\r\n% one singular corner, the matrix has a tendency to appear nearly rank\r\n% deficient for all values of $\\lambda$.  It is difficult to identify\r\n% local minima.  The recommended cure is to add a number of interior points\r\n% and require the approximate eigenfunction to be nonzero there.\r\n%\r\n\r\n%%\r\n% Betcke and Trefethen also prove an approximation theoretic result that,\r\n% when combined with their computations, adds four more digits to our\r\n% rigorous bounds on the first eigenvalue.\r\n%\r\n% $$ 9.63972384402_{16} < \\lambda < 9.63972384402^{22} $$\r\n%\r\n% Moreover, they are so confident in their numerical results that they are\r\n% sure the exact eigenvalue lies in the center of this interval, and they\r\n% are pretty sure they even know the next digit.\r\n%\r\n% $$ \\lambda \\approx 9.63972384402195 $$\r\n\r\n%%\r\n% This agrees with what I get out of |membranetx| to almost full double\r\n% precision accuracy.  I think we finally have this fellow pinned down.\r\n\r\n%%\r\n% I recommend that anyone reading this blog who wants to know more about\r\n% the method of particular solutions and computing the eigenvalues of the\r\n% L-shaped membrane read the\r\n% <https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf % Betcke and Trefethen paper>.\r\n\r\n%% References\r\n% Leslie Fox, Peter Henrici, and Cleve Moler,\r\n% Approximations and Bounds for Eigenvalues of Elliptic Operators,\r\n% SIAM Journal Numerical Analysis 4, 89-102, 1967,\r\n% <https:\/\/blogs.mathworks.com\/images\/cleve\/Fox_Henrici_Moler.pdf % https:\/\/blogs.mathworks.com\/images\/cleve\/Fox_Henrici_Moler.pdf>\r\n\r\n%%\r\n% Timo Betcke and Lloyd N. Trefethen,\r\n% Reviving the Method of Particular Solutions\r\n% SIAM Review 47, 469-491, 2005,\r\n% <https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf % https:\/\/people.maths.ox.ac.uk\/trefethen\/publication\/PDF\/2005_112.pdf>\r\n\r\n%%\r\n% Cleve Moler, _Numerical Computing with MATLAB_,\r\n% Chapter 11, Partial Differential Equations, 2004.\r\n% <https:\/\/www.mathworks.com\/moler.htmlpdes.pdf % https:\/\/www.mathworks.com\/moler.htmlpdes.pdf>\r\n\r\n##### SOURCE END ##### cce3cf9be95c48ccb5a8cf2fca81f5c0\r\n-->","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/cleve\/files\/feature_image\/logo_mps_03.png\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div><!--introduction-->The Method of Particular Solutions computes a highly accurate approximation to the eigenvalue we have been seeking, and guaranteed bounds on the accuracy. It also provides flexibility involving the boundary conditions that leads to the MathWorks logo.\r\n\r\n<!--\/introduction-->... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/cleve\/2014\/11\/17\/mathworks-logo-part-four-method-of-particular-solutions-generates-the-logo\/\">read more >><\/a><\/p>","protected":false},"author":78,"featured_media":1125,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[24,13,4,25,16],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/posts\/1120"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/comments?post=1120"}],"version-history":[{"count":10,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/posts\/1120\/revisions"}],"predecessor-version":[{"id":2252,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/posts\/1120\/revisions\/2252"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/media\/1125"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/media?parent=1120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/categories?post=1120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/tags?post=1120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}