{"id":5839,"date":"2020-02-28T13:18:59","date_gmt":"2020-02-28T18:18:59","guid":{"rendered":"https:\/\/blogs.mathworks.com\/cleve\/?p=5839"},"modified":"2020-02-28T13:18:59","modified_gmt":"2020-02-28T18:18:59","slug":"gene-golubs-22nd-birthday","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/cleve\/2020\/02\/28\/gene-golubs-22nd-birthday\/","title":{"rendered":"Gene Golub&#8217;s 22nd Birthday"},"content":{"rendered":"<div class=\"content\"><!--introduction--><p>Tomorrow, February 29, 2020 would be Gene Golub's 22nd birthday.<\/p><p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"http:\/\/blogs.mathworks.com\/cleve\/files\/GHG.gif\" alt=\"\"> <\/p><!--\/introduction--><h3>Contents<\/h3><div><ul><li><a href=\"#5c3b28e3-2bdb-4037-ae0c-aeea66793bf2\">Leap Day<\/a><\/li><li><a href=\"#0f433e76-6e13-44ea-8f2d-7973fa1cf5f8\">Professor SVD<\/a><\/li><li><a href=\"#5a5fe350-bdcc-4b71-8436-7b4d4303e664\">Image approximation<\/a><\/li><li><a href=\"#28de1334-4baa-4273-bbd1-0ff16cec6b8f\">Stanford CompMath 50<\/a><\/li><li><a href=\"#c13b7c93-3979-433b-967e-43990ed69999\">NA Digest<\/a><\/li><li><a href=\"#38adba24-f0bd-4301-9593-3ee7e634cdf3\">National Academy of Engineering<\/a><\/li><li><a href=\"#d4630b41-e4ee-4b1b-acb1-292934c12af0\">Nature<\/a><\/li><\/ul><\/div><h4>Leap Day<a name=\"5c3b28e3-2bdb-4037-ae0c-aeea66793bf2\"><\/a><\/h4><p>Gene was born on Leap Day, February 29, 1932.  So, when his birthday came around only every fourth year, we made an especially big deal out of it.<\/p><h4>Professor SVD<a name=\"0f433e76-6e13-44ea-8f2d-7973fa1cf5f8\"><\/a><\/h4><p>Perhaps foremost among Gene's many accomplishments is the algorithm to compute the SVD, the singular value decomposition.  His California license plate was legend.<\/p><p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"http:\/\/blogs.mathworks.com\/cleve\/files\/professor_svd.gif\" alt=\"\"> <\/p><h4>Image approximation<a name=\"5a5fe350-bdcc-4b71-8436-7b4d4303e664\"><\/a><\/h4><p>The animation at the beginning of this blog uses the SVD to compute low-rank approximation of an image. X is a three-dimensional array holding a full color photo of Gene.<\/p><pre class=\"codeinput\">   X = imread(<span class=\"string\">'GHG.jpg'<\/span>);\r\n   [m,n,p] = size(X);\r\n   sizeX = [m,n,p]\r\n   imshow(X)\r\n<\/pre><pre class=\"codeoutput\">sizeX =\r\n   259   172     3\r\n<\/pre><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"http:\/\/blogs.mathworks.com\/cleve\/files\/GHG_blog_01.png\" alt=\"\"> <p>Reshape <tt>X<\/tt> into a two-dimensional matrix $A$ formed from the red, green and blue components.<\/p><pre class=\"codeinput\">   A = reshape(X,m,n*p);\r\n   sizeA = [m,n*p]\r\n   imshow(A)\r\n<\/pre><pre class=\"codeoutput\">sizeA =\r\n   259   516\r\n<\/pre><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"http:\/\/blogs.mathworks.com\/cleve\/files\/GHG_blog_02.png\" alt=\"\"> <p>Compute the SVD of this wide matrix.<\/p><pre class=\"codeinput\">   [U,S,V] = svd(double(A));\r\n<\/pre><p>Use the SVD to generate low-rank approximations, which are then reshaped to full color.<\/p><pre class=\"codeinput\">   <span class=\"keyword\">for<\/span> r = 2:2:50\r\n       k = 1:r;\r\n       B = U(:,k)*S(k,k)*V(:,k)';\r\n       B = reshape(B,m,n,p);\r\n       imshow(B\/256)\r\n   <span class=\"keyword\">end<\/span>\r\n<\/pre><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"http:\/\/blogs.mathworks.com\/cleve\/files\/GHG_blog_03.png\" alt=\"\"> <p>This is not a particularly good image compression scheme, nevertheless I think two aspects are amazing. The approximations retain the RGB components. And, relatively low rank produces recognizable images.  By rank 50 we can read the white board in the background and see his checkered shirt.<\/p><h4>Stanford CompMath 50<a name=\"28de1334-4baa-4273-bbd1-0ff16cec6b8f\"><\/a><\/h4><p>In March, 2007, there was a workshop at Stanford celebrating Gene's 75th birthday, as well as a half-century of Computational Mathematics at Stanford.  These coffee mugs, with photos of Golub and George Forsythe, were mementos.<\/p><p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"http:\/\/blogs.mathworks.com\/cleve\/files\/scm50_small.jpg\" alt=\"\"> <\/p><h4>NA Digest<a name=\"c13b7c93-3979-433b-967e-43990ed69999\"><\/a><\/h4><p>Later that year, we put out a special edition of the NA Digest.<\/p><pre>From: Cleve Moler &lt;Cleve.Moler@mathworks.com&gt;\r\nDate: Fri, 16 Nov 2007 17:55:42 -0500\r\nSubject: Gene Golub, 1932 - 2007<\/pre><pre>Gene Golub, founder of the NA Digest, passed away today, Friday, November 16,\r\nat the Stanford University Hospital. He was 75 years old.<\/pre><pre>Gene returned home to Stanford recently from a trip to Hong Kong. He was\r\nplanning to leave again Tuesday on another trip, this one to Zurich where the\r\nETH was to honor him with a special degree. Instead, Sunday night he went to\r\nthe emergency room because he was \"feeling lousy\". On Tuesday, he was found\r\nto have AML, acute myelogenous leukemia, a form of cancer that affects the\r\nwhite blood cells. This is a potentially curable disease and he was expecting\r\nto begin chemotherapy today. But serious complications developed suddenly\r\nover night.<\/pre><pre>I was able to see Gene for an hour last night and he was in reasonably good\r\nspirits. Mike Saunders was trying to get Gene's laptop to use dial-up over\r\nthe hospital's phone system because Gene said he was a couple of days behind\r\non his email. I was planning to get a wireless card for his machine today.\r\nNone of us had any idea how suddenly the situation would worsen.<\/pre><pre>The Stanford iCME students have created a memorial blog at\r\nhttp:\/\/genehgolub.blogspot.com .<\/pre><pre>Our community has lost its foremost member. He was a valued colleague and\r\nfriend. Goodbye, Gene.<\/pre><pre>-- Cleve Moler<\/pre><h4>National Academy of Engineering<a name=\"38adba24-f0bd-4301-9593-3ee7e634cdf3\"><\/a><\/h4><p>I wrote a short bio for the National Academy of Engineering memorials <a href=\"https:\/\/www.nae.edu\/187488\/GENE-H-GOLUB-19322007\">NAE Tribute<\/a>. After summarizing his accomplishments and honors, it concluded:<\/p><p>\r\n<p style=\"margin-left:3ex;\">\r\nEverything I have said thus far, however, pales in comparison to Golub's\r\nmost important characteristic -- his humanity.\r\nThe numerical analysis and scientific computing community was his family.\r\nThe closeness and congeniality of this community is due, in large part,\r\nto his influence. Thousands of people in dozens of countries knew him\r\nsimply as \"Gene\" and visitors to Stanford, particularly young people,\r\noften stayed in his home. He remembered everybody's name and their children's\r\nbirthdays, and he returned visits, traveling frequently to give lectures,\r\nattend workshops, or just to see people. His friendships, visits, and e-mails\r\nnot only led to important algorithms and research papers, but also made the\r\nworld a more pleasant place.\r\n<\/p>\r\n<\/p><h4>Nature<a name=\"d4630b41-e4ee-4b1b-acb1-292934c12af0\"><\/a><\/h4><p>Nick Trefethen wrote a beautiful tribute for <a href=\"https:\/\/www.nature.com\/articles\/450962a\">Nature<\/a>. Fittingly, the subtitle is \"Mathematician and godfather of numerical analysis.\" Here is Nick's last paragraph.<\/p><p>\r\n<p style=\"margin-left:3ex;\">\r\nGene Golub was restless and never entirely happy. He was a demanding friend;\r\nbehind his back, we all had Gene stories to tell. It was a huge back:\r\nGene was big, dominating any room he was in, and grew more impressive and\r\nimposing with the years. Graduate students around the world admired and loved him,\r\nand he bought them all dinner when he got the chance. His unexpected death,\r\nin Stanford in between speaking at a conference in Hong Kong and flying to\r\nZurich for his eleventh honorary degree, has left the world of numerical analysis\r\norphaned and reverberating.\r\n<\/p>\r\n<\/p><script language=\"JavaScript\"> <!-- \r\n    function grabCode_6cdc3ac0b28f4260947e777ff954553d() {\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='6cdc3ac0b28f4260947e777ff954553d ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' 6cdc3ac0b28f4260947e777ff954553d';\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 2020 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('<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>\\n');\r\n\r\n        d.title = title + ' (MATLAB code)';\r\n        d.close();\r\n    }   \r\n     --> <\/script><p style=\"text-align: right; font-size: xx-small; font-weight:lighter;   font-style: italic; color: gray\"><br><a href=\"javascript:grabCode_6cdc3ac0b28f4260947e777ff954553d()\"><span style=\"font-size: x-small;        font-style: italic;\">Get \r\n      the MATLAB code <noscript>(requires JavaScript)<\/noscript><\/span><\/a><br><br>\r\n      Published with MATLAB&reg; R2019b<br><\/p><\/div><!--\r\n6cdc3ac0b28f4260947e777ff954553d ##### SOURCE BEGIN #####\r\n%% Gene Golub's 22nd Birthday\r\n% Tomorrow, February 29, 2020 would be Gene Golub's 22nd birthday.\r\n%\r\n% <<GHG.gif>>\r\n\r\n%% Leap Day\r\n% Gene was born on Leap Day, February 29, 1932.  So, when his birthday came\r\n% around only every fourth year, we made an especially big deal out of it.\r\n\r\n%% Professor SVD\r\n% Perhaps foremost among Gene's many accomplishments is the algorithm\r\n% to compute the SVD, the singular value decomposition.  His California\r\n% license plate was legend.\r\n%\r\n% <<professor_svd.gif>>\r\n\r\n%% Image approximation\r\n% The animation at the beginning of this blog uses the SVD\r\n% to compute low-rank approximation of an image.\r\n% X is a three-dimensional array holding a full color photo of Gene.\r\n%\r\n   X = imread('GHG.jpg');\r\n   [m,n,p] = size(X);\r\n   sizeX = [m,n,p]\r\n   imshow(X)\r\n\r\n%%\r\n% Reshape |X| into a two-dimensional matrix $A$ formed from the red,\r\n% green and blue components.\r\n\r\n   A = reshape(X,m,n*p);\r\n   sizeA = [m,n*p]\r\n   imshow(A)\r\n\r\n%%\r\n% Compute the SVD of this wide matrix.\r\n%\r\n   [U,S,V] = svd(double(A));\r\n   \r\n%%\r\n% Use the SVD to generate low-rank approximations, which are then\r\n% reshaped to full color.\r\n\r\n   for r = 2:2:50\r\n       k = 1:r;  \r\n       B = U(:,k)*S(k,k)*V(:,k)';\r\n       B = reshape(B,m,n,p);\r\n       imshow(B\/256)   \r\n   end\r\n   \r\n%%\r\n% This is not a particularly good image compression scheme,\r\n% nevertheless I think two aspects are amazing.  \r\n% The approximations retain the RGB components.\r\n% And, relatively low rank\r\n% produces recognizable images.  By rank 50 we can read the\r\n% white board in the background and see his checkered shirt.\r\n\r\n\r\n%% Stanford CompMath 50\r\n% In March, 2007, there was a workshop at Stanford celebrating Gene's\r\n% 75th birthday, as well as a half-century of Computational Mathematics\r\n% at Stanford.  These coffee mugs, with photos of Golub and\r\n% George Forsythe, were mementos. \r\n%\r\n% <<scm50_small.jpg>>\r\n\r\n%% NA Digest\r\n% Later that year, we put out a special edition of the NA Digest.\r\n%\r\n%  From: Cleve Moler <Cleve.Moler@mathworks.com>\r\n%  Date: Fri, 16 Nov 2007 17:55:42 -0500\r\n%  Subject: Gene Golub, 1932 - 2007\r\n%  \r\n%  Gene Golub, founder of the NA Digest, passed away today, Friday, November 16,\r\n%  at the Stanford University Hospital. He was 75 years old.\r\n%  \r\n%  Gene returned home to Stanford recently from a trip to Hong Kong. He was\r\n%  planning to leave again Tuesday on another trip, this one to Zurich where the\r\n%  ETH was to honor him with a special degree. Instead, Sunday night he went to\r\n%  the emergency room because he was \"feeling lousy\". On Tuesday, he was found\r\n%  to have AML, acute myelogenous leukemia, a form of cancer that affects the\r\n%  white blood cells. This is a potentially curable disease and he was expecting\r\n%  to begin chemotherapy today. But serious complications developed suddenly\r\n%  over night.\r\n%  \r\n%  I was able to see Gene for an hour last night and he was in reasonably good\r\n%  spirits. Mike Saunders was trying to get Gene's laptop to use dial-up over\r\n%  the hospital's phone system because Gene said he was a couple of days behind\r\n%  on his email. I was planning to get a wireless card for his machine today.\r\n%  None of us had any idea how suddenly the situation would worsen.\r\n%  \r\n%  The Stanford iCME students have created a memorial blog at\r\n%  http:\/\/genehgolub.blogspot.com .\r\n%  \r\n%  Our community has lost its foremost member. He was a valued colleague and\r\n%  friend. Goodbye, Gene.\r\n%  \r\n%  REPLACE_WITH_DASH_DASH Cleve Moler\r\n%\r\n\r\n%% National Academy of Engineering\r\n% I wrote a short bio for the National Academy of Engineering memorials \r\n% <https:\/\/www.nae.edu\/187488\/GENE-H-GOLUB-19322007 NAE Tribute>.\r\n% After summarizing his accomplishments and honors, it concluded:\r\n%\r\n% <html>\r\n% <p style=\"margin-left:3ex;\">\r\n% Everything I have said thus far, however, pales in comparison to Golub's \r\n% most important characteristic REPLACE_WITH_DASH_DASH his humanity.\r\n% The numerical analysis and scientific computing community was his family.\r\n% The closeness and congeniality of this community is due, in large part,\r\n% to his influence. Thousands of people in dozens of countries knew him\r\n% simply as \"Gene\" and visitors to Stanford, particularly young people,\r\n% often stayed in his home. He remembered everybody's name and their children's\r\n% birthdays, and he returned visits, traveling frequently to give lectures,\r\n% attend workshops, or just to see people. His friendships, visits, and e-mails\r\n% not only led to important algorithms and research papers, but also made the\r\n% world a more pleasant place.\r\n% <\/p>\r\n% <\/html>\r\n\r\n%% Nature\r\n% Nick Trefethen wrote a beautiful tribute for\r\n% <https:\/\/www.nature.com\/articles\/450962a Nature>.\r\n% Fittingly, the subtitle is \"Mathematician and godfather of numerical analysis.\"\r\n% Here is Nick's last paragraph.\r\n% \r\n% <html>\r\n% <p style=\"margin-left:3ex;\">\r\n% Gene Golub was restless and never entirely happy. He was a demanding friend;\r\n% behind his back, we all had Gene stories to tell. It was a huge back: \r\n% Gene was big, dominating any room he was in, and grew more impressive and \r\n% imposing with the years. Graduate students around the world admired and loved him,\r\n% and he bought them all dinner when he got the chance. His unexpected death,\r\n% in Stanford in between speaking at a conference in Hong Kong and flying to\r\n% Zurich for his eleventh honorary degree, has left the world of numerical analysis\r\n% orphaned and reverberating.\r\n% <\/p>\r\n% <\/html>\r\n\r\n\r\n\r\n##### SOURCE END ##### 6cdc3ac0b28f4260947e777ff954553d\r\n-->","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/cleve\/files\/GHG.gif\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div><!--introduction--><p>Tomorrow, February 29, 2020 would be Gene Golub's 22nd birthday.... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/cleve\/2020\/02\/28\/gene-golubs-22nd-birthday\/\">read more >><\/a><\/p>","protected":false},"author":78,"featured_media":5845,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[32,5,23,4,16,8,30],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/posts\/5839"}],"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=5839"}],"version-history":[{"count":4,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/posts\/5839\/revisions"}],"predecessor-version":[{"id":5865,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/posts\/5839\/revisions\/5865"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/media\/5845"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/media?parent=5839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/categories?post=5839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/cleve\/wp-json\/wp\/v2\/tags?post=5839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}