{"id":1370,"date":"2022-10-24T15:08:46","date_gmt":"2022-10-24T15:08:46","guid":{"rendered":"https:\/\/www.ethanepperly.com\/?p=1370"},"modified":"2022-10-24T15:09:19","modified_gmt":"2022-10-24T15:09:19","slug":"nystrom-cholesky-and-schur","status":"publish","type":"post","link":"https:\/\/www.ethanepperly.com\/index.php\/2022\/10\/24\/nystrom-cholesky-and-schur\/","title":{"rendered":"Low-Rank Approximation Toolbox: Nystr\u00f6m, Cholesky, and Schur"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>In the <a href=\"https:\/\/www.ethanepperly.com\/index.php\/2022\/10\/11\/low-rank-approximation-toolbox-nystrom-approximation\/\">last post<\/a>, we looked at the Nystr\u00f6m approximation to an <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1f1ba6baee657f44c06c9a02c1d2fe7d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"54\" style=\"vertical-align: 0px;\"\/> positive semidefinite (psd) matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>. A special case was the <em>column<\/em> Nystr\u00f6m approximation, defined to be<sup class=\"modern-footnotes-footnote \" data-mfn=\"1\" data-mfn-post-scope=\"00000000000005890000000000000000_1370\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005890000000000000000_1370-1\">1<\/a><\/sup><span id=\"mfn-content-00000000000005890000000000000000_1370-1\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"1\">We use <a href=\"https:\/\/www.mathworks.com\/company\/newsletters\/articles\/matrix-indexing-in-matlab.html\">Matlab index notation<\/a> to indicate <a href=\"https:\/\/en.wikipedia.org\/wiki\/Matrix_(mathematics)#Submatrix\">submatrices<\/a> of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>.<\/span>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 24px;\"><span class=\"ql-right-eqno\"> (Nys) <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-cf768b8c5fedfd543a62070abae10bfe_l3.png\" height=\"24\" width=\"225\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#104;&#97;&#116;&#123;&#65;&#125;&#32;&#61;&#32;&#65;&#40;&#58;&#44;&#83;&#41;&#32;&#92;&#44;&#32;&#65;&#40;&#83;&#44;&#83;&#41;&#94;&#123;&#45;&#49;&#125;&#32;&#92;&#44;&#32;&#65;&#40;&#83;&#44;&#58;&#41;&#44;&#32;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e4e9d34e5b6acc4ed7c15b622e8fced3_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#83;&#32;&#61;&#32;&#92;&#123;&#115;&#95;&#49;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#115;&#95;&#107;&#92;&#125;&#32;&#92;&#115;&#117;&#98;&#115;&#101;&#116;&#101;&#113;&#32;&#92;&#123;&#49;&#44;&#50;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#78;&#92;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"247\" style=\"vertical-align: -5px;\"\/> identifies a subset of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f65286b751f121928913d4aa91d94ee9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"9\" style=\"vertical-align: 0px;\"\/> columns of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>. Provided <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-c3709ff2e214db7f778a5f62fdbb9a42_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#92;&#108;&#108;&#32;&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"53\" style=\"vertical-align: -1px;\"\/>, this allowed us to approximate all <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d29e4554584afc4c0a6a384cedf37df8_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;&#94;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"23\" style=\"vertical-align: 0px;\"\/> entries of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> using only the <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-930a2318d303a9c8f951fe96800d8bd1_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"26\" style=\"vertical-align: 0px;\"\/> entries in columns <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-dce009c30c096fdcc766edae34514199_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#115;&#95;&#49;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#115;&#95;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"70\" style=\"vertical-align: -4px;\"\/> of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>, a huge savings of computational effort!<\/p>\n\n\n\n<p>With the column Nystr\u00f6m approximation presented just as such, many questions remain:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Why this formula?<\/li><li>Where did it come from?<\/li><li>How do we pick the columns <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-dce009c30c096fdcc766edae34514199_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#115;&#95;&#49;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#115;&#95;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"70\" style=\"vertical-align: -4px;\"\/>?<\/li><li>What is the residual <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-a16c5891de2142e585fc70537203624d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#32;&#45;&#32;&#92;&#104;&#97;&#116;&#123;&#65;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"49\" style=\"vertical-align: 0px;\"\/> of the approximation?<\/li><\/ul>\n\n\n\n<p>In this post, we will answer all of these questions by drawing a connection between low-rank approximation by Nystr\u00f6m approximation and solving linear systems of equations by <a href=\"https:\/\/en.wikipedia.org\/wiki\/Gaussian_elimination\">Gaussian elimination<\/a>. The connection between these two seemingly unrelated areas of matrix computations will pay dividends, leading to effective algorithms to compute Nystr\u00f6m approximations by the (partial) <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cholesky_decomposition\">Cholesky factorization<\/a> of a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Definite_matrix\">positive (semi)definite matrix<\/a> and an elegant description of the residual of the Nystr\u00f6m approximation as <a href=\"https:\/\/www.ethanepperly.com\/index.php\/2020\/07\/09\/big-ideas-in-applied-math-the-schur-complement\/\">the Schur complement<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cholesky: Solving Linear Systems<\/h2>\n\n\n\n<p>Suppose we want solve the system of linear equations <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-bb1076898a88ac5d6a1c74d7932dd5fc_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#120;&#32;&#61;&#32;&#98;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"55\" style=\"vertical-align: 0px;\"\/>, where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> is a real <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1f1ba6baee657f44c06c9a02c1d2fe7d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"54\" style=\"vertical-align: 0px;\"\/> invertible matrix and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-3ab6f6c64ce17f786a81f8cc8fdcec90_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#98;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"8\" style=\"vertical-align: 0px;\"\/> is a vector of length <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ec1be7928bcd319c17c1931fbb8059ac_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/>. The standard way of doing this in modern practice (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Iterative_method#Linear_systems\">at least for non-huge matrices <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/><\/a>) is by means of <a href=\"https:\/\/en.wikipedia.org\/wiki\/LU_decomposition\">Gaussian elimination\/LU factorization<\/a>. We factor the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> as a product <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-90c54eed56be2ab59ccb9688df92a1b7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#32;&#61;&#32;&#76;&#85;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"63\" style=\"vertical-align: 0px;\"\/> of a lower triangular matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> and an upper triangular matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-c7480669f4fca8a251671d27137d0b09_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"13\" style=\"vertical-align: 0px;\"\/>.<sup class=\"modern-footnotes-footnote \" data-mfn=\"2\" data-mfn-post-scope=\"00000000000005890000000000000000_1370\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005890000000000000000_1370-2\">2<\/a><\/sup><span id=\"mfn-content-00000000000005890000000000000000_1370-2\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"2\">To make this accurate, we usually have to <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pivot_element#Partial,_rook,_and_complete_pivoting\">reorder the rows<\/a> of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> as well. Thus, we actually compute a factorization <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-717b63dad015b09681392d4780ef8b0d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#80;&#65;&#32;&#61;&#32;&#76;&#85;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"77\" style=\"vertical-align: 0px;\"\/> where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e0b7f55ebbc9bb715e8b20ffdc459df7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#80;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> is a permutation matrix and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-c7480669f4fca8a251671d27137d0b09_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"13\" style=\"vertical-align: 0px;\"\/> are triangular.<\/span> The system <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-bb1076898a88ac5d6a1c74d7932dd5fc_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#120;&#32;&#61;&#32;&#98;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"55\" style=\"vertical-align: 0px;\"\/> is solved by first solving <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d0cceead4f14e3035cafe7680ff4ce67_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;&#121;&#32;&#61;&#32;&#98;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"53\" style=\"vertical-align: -4px;\"\/> for <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-7506eeeff09aad3bcf6b7259302df451_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#121;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"9\" style=\"vertical-align: -4px;\"\/> and then <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-a5e82fd946fce03e6fade382ac3ec3dd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;&#120;&#32;&#61;&#32;&#121;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"56\" style=\"vertical-align: -4px;\"\/> for <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b312d649591164b7149ed0756f694a76_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"10\" style=\"vertical-align: 0px;\"\/>; the triangularity of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-c7480669f4fca8a251671d27137d0b09_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"13\" style=\"vertical-align: 0px;\"\/> <a href=\"https:\/\/en.wikipedia.org\/wiki\/Triangular_matrix#Forward_and_back_substitution\">make solving the associated systems of linear equations easy<\/a>.<\/p>\n\n\n\n<p>For <a href=\"https:\/\/en.wikipedia.org\/wiki\/Definite_matrix#Definitions_for_real_matrices\">real symmetric positive definite matrix<\/a> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>, a simplification is possible. In this case, one can compute an LU factorization where the matrices <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-c7480669f4fca8a251671d27137d0b09_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"13\" style=\"vertical-align: 0px;\"\/> are transposes of each other, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d5f18a8d1e3228d9ef5a17c5bca84aeb_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;&#32;&#61;&#32;&#76;&#94;&#92;&#116;&#111;&#112;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"59\" style=\"vertical-align: 0px;\"\/>. This factorization <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1e3f8839bf702fcaa4e7107093fa64a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#32;&#61;&#32;&#76;&#76;&#94;&#92;&#116;&#111;&#112;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"71\" style=\"vertical-align: 0px;\"\/> is known as a <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Cholesky_decomposition\">Cholesky factorization<\/a><\/strong> of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>.<\/p>\n\n\n\n<p>The Cholesky factorization can be easily generalized to allow the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> to be complex-valued. For a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Definite_matrix#Definitions_for_complex_matrices\">complex-valued positive definite matrix<\/a> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>, its Cholesky decomposition takes the form <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-77bcb20c73da17bd82eb027d35d449ef_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#32;&#61;&#32;&#76;&#76;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"67\" style=\"vertical-align: 0px;\"\/>, where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> is again a lower triangular matrix. All that has changed is that the transpose <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0891b36c744e320081b679d0408bd179_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#125;&#94;&#92;&#116;&#111;&#112;\" title=\"Rendered by QuickLaTeX.com\" height=\"9\" width=\"10\" style=\"vertical-align: 6px;\"\/> has been replaced by the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Conjugate_transpose\"><em>conjugate transpose<\/em><\/a> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-c15a9e678f5eb8ef071c71b328820967_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#125;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"6\" width=\"6\" style=\"vertical-align: 6px;\"\/>. We shall work with the more general complex case going forward, though the reader is free to imagine all matrices as real and interpret the operation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-c15a9e678f5eb8ef071c71b328820967_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#125;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"6\" width=\"6\" style=\"vertical-align: 6px;\"\/> as ordinary transposition if they so choose.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schur: Computing the Cholesky Factorization<\/h2>\n\n\n\n<p>Here&#8217;s one way of computing the Cholesky factorization using <a href=\"https:\/\/en.wikipedia.org\/wiki\/Recursion_(computer_science)\"><em>recursion<\/em><\/a>. Write the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> in <a href=\"https:\/\/en.wikipedia.org\/wiki\/Block_matrix\">block form<\/a> as<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 42px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-24b23cd2ac7afc3e7c6acfb7fd8f8220_l3.png\" height=\"42\" width=\"135\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#125;&#46;&#32;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Our first step will be &#8220;block Cholesky factorize&#8221; the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>, factoring <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> as a product of matrices which are only <em>block triangular<\/em>. Then, we&#8217;ll &#8220;upgrade&#8221; this block factorization into a full Cholesky factorization.<\/p>\n\n\n\n<p>The core idea of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Gaussian_elimination\">Gaussian elimination<\/a> is to combine rows of a matrix to introduce zero entries. For our case, observe that multiplying the first block row of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> by <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-aeb2a3885c54ebc2ecbe8d7fb870cd1a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"21\" width=\"58\" style=\"vertical-align: -5px;\"\/> and subtracting this from the second block row introduces a matrix of zeros into the bottom left block of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>. (The matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-92456eb021fa3f381ff62422c0c24281_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#49;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"26\" style=\"vertical-align: -3px;\"\/> is a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Matrix_(mathematics)#Submatrix\"><em>principal submatrix<\/em><\/a> of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> and is therefore guaranteed to be positive definite and thus invertible.<sup class=\"modern-footnotes-footnote \" data-mfn=\"3\" data-mfn-post-scope=\"00000000000005890000000000000000_1370\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005890000000000000000_1370-3\">3<\/a><\/sup><span id=\"mfn-content-00000000000005890000000000000000_1370-3\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"3\">To directly see <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-92456eb021fa3f381ff62422c0c24281_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#49;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"26\" style=\"vertical-align: -3px;\"\/> is positive definite, for instance, observe that since <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> is positive definite, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-2db932e5b62092a4bf58ee2122e892e0_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#94;&#42;&#32;&#65;&#95;&#123;&#49;&#49;&#125;&#120;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#111;&#110;&#101;&#123;&#120;&#125;&#123;&#48;&#125;&#94;&#42;&#32;&#65;&#92;&#116;&#119;&#111;&#98;&#121;&#111;&#110;&#101;&#123;&#120;&#125;&#123;&#48;&#125;&#32;&#62;&#32;&#48;\" title=\"Rendered by QuickLaTeX.com\" height=\"43\" width=\"197\" style=\"vertical-align: -16px;\"\/> for every nonzero vector <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b312d649591164b7149ed0756f694a76_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"10\" style=\"vertical-align: 0px;\"\/>.<\/span>) In matrix language,<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 42px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-4b8f6deed9a1dd928c76d311ab88fd54_l3.png\" height=\"42\" width=\"437\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#45;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#125;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Isolating <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> on the left-hand side of this equation by multiplying by<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 46px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-be1610a1241e5c5bfd2c7dc04653e712_l3.png\" height=\"46\" width=\"255\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#45;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#94;&#123;&#45;&#49;&#125;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>yields the block triangular factorization<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 42px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e004e13e06bf86fd8707805ce21f9071_l3.png\" height=\"42\" width=\"465\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#125;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>We&#8217;ve factored <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> into block triangular pieces, but these pieces are not (conjugate) transposes of each other. Thus, to make this equation more symmetrical, we can further decompose<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 44px;\"><span class=\"ql-right-eqno\"> (1) <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-7e3a03d3b1e4421e71d17e2abba7ef97_l3.png\" height=\"44\" width=\"579\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#125;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#48;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#94;&#42;&#46;&#32;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>This is a block version of the Cholesky decomposition of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> taking the form <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0113ac536b3a0e5fd8dc447245849fa1_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#32;&#61;&#32;&#76;&#68;&#76;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"82\" style=\"vertical-align: 0px;\"\/>, where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> is a block lower triangular matrix and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ab69a4a7716bbf890e5f604a06fd1f13_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#68;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"15\" style=\"vertical-align: 0px;\"\/> is a block diagonal matrix.<\/p>\n\n\n\n<p>We&#8217;ve met the second of our main characters, the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Schur_complement\">Schur complement<\/a><\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 22px;\"><span class=\"ql-right-eqno\"> (Sch) <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-55e08632ed61d20591817565b66a7e09_l3.png\" height=\"22\" width=\"177\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#83;&#32;&#61;&#32;&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#46;&#32;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>This seemingly innocuous combination of matrices has a tendency to show up in surprising places when one works with matrices.<sup class=\"modern-footnotes-footnote \" data-mfn=\"4\" data-mfn-post-scope=\"00000000000005890000000000000000_1370\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005890000000000000000_1370-4\">4<\/a><\/sup><span id=\"mfn-content-00000000000005890000000000000000_1370-4\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"4\">See <a href=\"https:\/\/www.ethanepperly.com\/index.php\/2020\/07\/09\/big-ideas-in-applied-math-the-schur-complement\/\">my post on the Schur complement<\/a> for more examples.<\/span> It&#8217;s appearance in any one place is unremarkable, but the shear ubiquity of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-4ebb04dcb25be8e958d054cb126b53a0_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"21\" width=\"136\" style=\"vertical-align: -5px;\"\/> in matrix theory makes it deserving of its special name, the Schur complement. To us for now, the Schur complement is just the matrix appearing in the bottom right corner of our block Cholesky factorization.<\/p>\n\n\n\n<p>The Schur complement enjoys the following property:<sup class=\"modern-footnotes-footnote \" data-mfn=\"5\" data-mfn-post-scope=\"00000000000005890000000000000000_1370\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005890000000000000000_1370-5\">5<\/a><\/sup><span id=\"mfn-content-00000000000005890000000000000000_1370-5\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"5\">This property is a consequence of equation (1) together with the conjugation rule for positive (semi)definiteness, which I discussed in <a href=\"https:\/\/www.ethanepperly.com\/index.php\/2022\/10\/11\/low-rank-approximation-toolbox-nystrom-approximation\/\">this previous post<\/a>.<\/span>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Positivity of the Schur complement:<\/strong> If <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-899e76844b6850c232b5bc8b080b66ef_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#61;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"42\" width=\"123\" style=\"vertical-align: -16px;\"\/> is positive (semi)definite, then the Schur complement <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0ec78d555a1708661f29d2383c47c925_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#83;&#32;&#61;&#32;&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"21\" width=\"172\" style=\"vertical-align: -5px;\"\/> is positive (semi)definite.<\/p><\/blockquote>\n\n\n\n<p>As a consequence of this property, we conclude that both <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-92456eb021fa3f381ff62422c0c24281_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#49;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"26\" style=\"vertical-align: -3px;\"\/> and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b89471a11dd7fd85184a38ddb3ea9145_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#83;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> are positive definite.<\/p>\n\n\n\n<p>With the positive definiteness of the Schur complement in hand, we now return to our Cholesky factorization algorithm. Continue by recursively<sup class=\"modern-footnotes-footnote \" data-mfn=\"6\" data-mfn-post-scope=\"00000000000005890000000000000000_1370\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005890000000000000000_1370-6\">6<\/a><\/sup><span id=\"mfn-content-00000000000005890000000000000000_1370-6\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"6\">As always with recursion, one needs to specify the base case. For us, the base case is just that Cholesky decomposition of a <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-4ac03eedd19f9d68a98d70f3ba365091_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#49;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#49;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"38\" style=\"vertical-align: 0px;\"\/> matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> is <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-9849ea39682b82f9ba5877fc5309e80d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#32;&#61;&#32;&#65;&#94;&#123;&#49;&#47;&#50;&#125;&#32;&#92;&#99;&#100;&#111;&#116;&#32;&#65;&#94;&#123;&#49;&#47;&#50;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"118\" style=\"vertical-align: 0px;\"\/>.<\/span> computing Cholesky factorizations of the diagonal blocks<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 18px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-fcde81f118ea8516883b47d07a35b2b0_l3.png\" height=\"18\" width=\"223\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#95;&#123;&#49;&#49;&#125;&#32;&#61;&#32;&#76;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#92;&#118;&#112;&#104;&#97;&#110;&#116;&#111;&#109;&#123;&#42;&#125;&#125;&#76;&#95;&#123;&#49;&#49;&#125;&#94;&#42;&#44;&#32;&#92;&#113;&#117;&#97;&#100;&#32;&#83;&#32;&#61;&#32;&#76;&#95;&#123;&#50;&#50;&#125;&#94;&#123;&#92;&#118;&#112;&#104;&#97;&#110;&#116;&#111;&#109;&#123;&#42;&#125;&#125;&#76;&#95;&#123;&#50;&#50;&#125;&#94;&#42;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Inserting these into the block <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-a5ba506666ff7645c5b25148fae3a8a8_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;&#68;&#76;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"45\" style=\"vertical-align: 0px;\"\/> factorization (1) and simplifying gives a Cholesky factorization, as desired:<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 44px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e22f8c5665f2154819e960cd6c6b32d3_l3.png\" height=\"44\" width=\"409\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#76;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#94;&#123;&#92;&#118;&#112;&#104;&#97;&#110;&#116;&#111;&#109;&#123;&#42;&#125;&#125;&#40;&#76;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#42;&#125;&#41;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#76;&#95;&#123;&#50;&#50;&#125;&#125;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#76;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#94;&#123;&#92;&#118;&#112;&#104;&#97;&#110;&#116;&#111;&#109;&#123;&#42;&#125;&#125;&#40;&#76;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#42;&#125;&#41;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#76;&#95;&#123;&#50;&#50;&#125;&#125;&#94;&#42;&#32;&#61;&#58;&#32;&#76;&#76;&#94;&#42;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Voil\u00e0, we have obtained a Cholesky factorization of a positive definite matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>!<\/p>\n\n\n\n<p>By unwinding the recursions (and always choosing the top left block <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-92456eb021fa3f381ff62422c0c24281_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#49;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"26\" style=\"vertical-align: -3px;\"\/> to be of size <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-4ac03eedd19f9d68a98d70f3ba365091_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#49;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#49;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"38\" style=\"vertical-align: 0px;\"\/>), our recursive Cholesky algorithm becomes the following iterative algorithm: Initialize <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> to be the zero matrix. For <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-60b5dafd0752ba10c33f4406f25b3006_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#106;&#32;&#61;&#32;&#49;&#44;&#50;&#44;&#51;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"131\" style=\"vertical-align: -4px;\"\/>, perform the following steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Update <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/>.<\/strong> Set the <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-fe087f8cefab0bcb3270609914ada26c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"9\" style=\"vertical-align: -4px;\"\/>th column of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d99fc63db67b7ceb9f44b2bc4b03bc89_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/>: <p class=\"ql-center-displayed-equation\" style=\"line-height: 20px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-9d8a1752f0ae4613f71767ce87b9560a_l3.png\" height=\"20\" width=\"240\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#76;&#40;&#106;&#58;&#78;&#44;&#106;&#41;&#32;&#92;&#108;&#101;&#102;&#116;&#97;&#114;&#114;&#111;&#119;&#32;&#65;&#40;&#106;&#58;&#78;&#44;&#106;&#41;&#47;&#92;&#115;&#113;&#114;&#116;&#123;&#97;&#95;&#123;&#106;&#106;&#125;&#125;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/li><li><strong>Update <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>.<\/strong> Update the bottom right portion of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> to be the Schur complement: <p class=\"ql-center-displayed-equation\" style=\"line-height: 44px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d8090111efb4d1beb891cac29c04a598_l3.png\" height=\"44\" width=\"589\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#40;&#106;&#43;&#49;&#58;&#78;&#44;&#106;&#43;&#49;&#58;&#78;&#41;&#92;&#108;&#101;&#102;&#116;&#97;&#114;&#114;&#111;&#119;&#32;&#65;&#40;&#106;&#43;&#49;&#58;&#78;&#44;&#106;&#43;&#49;&#58;&#78;&#41;&#32;&#45;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#65;&#40;&#106;&#43;&#49;&#58;&#78;&#44;&#106;&#41;&#65;&#40;&#106;&#44;&#106;&#43;&#49;&#58;&#78;&#41;&#125;&#123;&#97;&#95;&#123;&#106;&#106;&#125;&#125;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/li><\/ol>\n\n\n\n<p>This iterative algorithm is <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cholesky_decomposition#The_Cholesky_algorithm\">how Cholesky factorization is typically presented in textbooks<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nystr\u00f6m: Using Cholesky Factorization for Low-Rank Approximation<\/h2>\n\n\n\n<p>Our motivating interest in studying the Cholesky factorization was the solution of linear systems of equations <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-bb1076898a88ac5d6a1c74d7932dd5fc_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#120;&#32;&#61;&#32;&#98;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"55\" style=\"vertical-align: 0px;\"\/> for a positive definite matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>. We can also use the Cholesky factorization for a very different task, low-rank approximation.<\/p>\n\n\n\n<p>Let&#8217;s first look at things through the lense of the recursive form of the Cholesky factorization. The first step of the factorization was to form the block Cholesky factorization<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 44px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-7d369f0415a2b62af274f183e8828853_l3.png\" height=\"44\" width=\"465\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#48;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#73;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#123;&#73;&#125;&#94;&#42;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Suppose that we choose the top left <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-92456eb021fa3f381ff62422c0c24281_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#49;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"26\" style=\"vertical-align: -3px;\"\/> block to be of size <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-979373ae59303770cd68d74797bc73f9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"40\" style=\"vertical-align: 0px;\"\/>, where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f65286b751f121928913d4aa91d94ee9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"9\" style=\"vertical-align: 0px;\"\/> is much smaller than <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ec1be7928bcd319c17c1931fbb8059ac_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/>. The most expensive part of the Cholesky factorization will be the recursive factorization of the Schur complement <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-9676b8dbd72a8d1166734af146a1fe48_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#95;&#123;&#50;&#50;&#125;&#32;&#45;&#32;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#32;&#65;&#95;&#123;&#49;&#50;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"21\" width=\"136\" style=\"vertical-align: -5px;\"\/>, which is a large matrix of size <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-36c509a28ec6939da11d987fe90080a2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#78;&#45;&#107;&#41;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#40;&#78;&#45;&#107;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"143\" style=\"vertical-align: -5px;\"\/>.<\/p>\n\n\n\n<p>To reduce computational cost, we ask the provocative question: What if we simply didn&#8217;t factorize the Schur complement? Observe that we can write the block Cholesky factorization as a sum of two terms<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 44px;\"><span class=\"ql-right-eqno\"> (2) <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-eb7264120d2157941336da3dcbbcc1d8_l3.png\" height=\"44\" width=\"445\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#111;&#110;&#101;&#123;&#73;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#125;&#32;&#65;&#95;&#123;&#49;&#49;&#125;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#111;&#110;&#101;&#123;&#73;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#125;&#125;&#94;&#42;&#32;&#43;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#48;&#125;&#123;&#48;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#45;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#46;&#32;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>We can <strong>use the first term of this sum as a rank-<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f65286b751f121928913d4aa91d94ee9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"9\" style=\"vertical-align: 0px;\"\/> approximation to the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/><\/strong>. The low-rank approximation, which we can write out more conveniently as<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 42px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8ec34b04edefd156d8de3711608998b2_l3.png\" height=\"42\" width=\"389\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#104;&#97;&#116;&#123;&#65;&#125;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#111;&#110;&#101;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#125;&#32;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#32;&#92;&#111;&#110;&#101;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#65;&#95;&#123;&#49;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#125;&#123;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#44;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>is the <em>column Nystr\u00f6m approximation<\/em> (Nys) to <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> associated with the index set <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f45c109a9719ae1d7d5618685b3d9eb8_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#83;&#32;&#61;&#32;&#92;&#123;&#49;&#44;&#50;&#44;&#51;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#107;&#92;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"144\" style=\"vertical-align: -5px;\"\/> and is the final of our three titular characters. The residual of the Nystr\u00f6m approximation is the second term in (2), which is none other than the Schur complement (Sch), padded by rows and columns of zeros:<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 42px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f8dccb2f8fd446335886ec9bdabc85da_l3.png\" height=\"42\" width=\"259\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#65;&#32;&#45;&#32;&#92;&#104;&#97;&#116;&#123;&#65;&#125;&#32;&#61;&#32;&#92;&#116;&#119;&#111;&#98;&#121;&#116;&#119;&#111;&#123;&#48;&#125;&#123;&#48;&#125;&#123;&#48;&#125;&#123;&#65;&#95;&#123;&#50;&#50;&#125;&#45;&#65;&#95;&#123;&#50;&#49;&#125;&#65;&#95;&#123;&#49;&#49;&#125;&#94;&#123;&#45;&#49;&#125;&#65;&#95;&#123;&#49;&#50;&#125;&#125;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Observe that the approximation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-a9463bba1bf140207248e89a02db1929_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#104;&#97;&#116;&#123;&#65;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"14\" style=\"vertical-align: 0px;\"\/> is obtained from the process of terminating a Cholesky factorization midway through algorithm execution, so we say that the Nystr\u00f6m approximation results from a <em>partial<\/em> Cholesky factorization of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>.<\/p>\n\n\n\n<p>Summing things up:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>If we perform a <em>partial<\/em> Cholesky factorization on a positive (semi)definite matrix, we obtain a low-rank approximation known as the column Nystr\u00f6m approximation. The residual of this approximation is the Schur complement, padded by rows and columns of zeros.<\/p><\/blockquote>\n\n\n\n<p>The idea of obtaining a low-rank approximation from a partial matrix factorization is very common in matrix computations. Indeed, the optimal low-rank approximation to a real symmetric matrix is obtained by truncating its eigenvalue decomposition and the optimal low-rank approximation to a general matrix <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value_decomposition#Low-rank_matrix_approximation\">is obtained by truncating its singular value decomposition<\/a>. While the column Nystr\u00f6m approximation is not the optimal rank-<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f65286b751f121928913d4aa91d94ee9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"9\" style=\"vertical-align: 0px;\"\/> approximation to <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> (though it does satisfy a weaker notion of optimality, as discussed <a href=\"https:\/\/www.ethanepperly.com\/index.php\/2022\/10\/11\/low-rank-approximation-toolbox-nystrom-approximation\/\">in this previous post<\/a>), it has a killer feature not possessed by the optimal approximation:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>The column Nystr\u00f6m approximation is formed from <em>only <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f65286b751f121928913d4aa91d94ee9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"9\" style=\"vertical-align: 0px;\"\/> columns<\/em> from the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>. A column Nystr\u00f6m approximation approximates an <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1f1ba6baee657f44c06c9a02c1d2fe7d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#78;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"54\" style=\"vertical-align: 0px;\"\/> matrix by only reading a fraction of its entries!<\/p><\/blockquote>\n\n\n\n<p>Unfortunately there&#8217;s not a free lunch here. The column Nystr\u00f6m is only a good low-rank approximation if the Schur complement has small entries. In general, this need not be the case. Fortunately, we can improve our situation by means of <em><a href=\"https:\/\/en.wikipedia.org\/wiki\/Pivot_element\">pivoting<\/a><\/em>.<\/p>\n\n\n\n<p>Our iterative Cholesky algorithm first performs elimination using the entry in position <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d324ea61edce693bff957ca1e663880c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#49;&#44;&#49;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"38\" style=\"vertical-align: -5px;\"\/> followed by position <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8734ab1d9d809d2a2c9ae76a16ca761d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#50;&#44;&#50;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"38\" style=\"vertical-align: -5px;\"\/> and so on. There&#8217;s no need to insist on this exact ordering of elimination steps. Indeed, at each step of the Cholesky algorithm, we can choose whichever diagonal position <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-12d14fccb5184615fa205b44a0fce0c4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#106;&#44;&#106;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"35\" style=\"vertical-align: -5px;\"\/> that we want to perform elimination. The entry we choose to perform elimination with is called a <em><a href=\"https:\/\/en.wikipedia.org\/wiki\/Pivot_element\">pivot<\/a><\/em>.<\/p>\n\n\n\n<p>Obtaining <em>good<\/em> column Nystr\u00f6m approximations requires identifying the <em>a good choice for the pivots<\/em> to reduce the size of the entries of the Schur complement at each step of the algorithm. With general pivot selection, an iterative algorithm for computing a column Nystr\u00f6m approximation by partial Cholesky factorization proceeds as follows: Initialize an <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ba393b1539bb1c54c96343d6635ef3a6_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"47\" style=\"vertical-align: 0px;\"\/> matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-7bf5d1207baa8be58658ce9d3cf12043_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#70;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> to store the column Nystr\u00f6m approximation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-52eb639f2f3627d1a0801fcb6a7d1592_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#104;&#97;&#116;&#123;&#65;&#125;&#32;&#61;&#32;&#70;&#70;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"71\" style=\"vertical-align: 0px;\"\/>, in factored form. For <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e2799ec717f32c88edd3b14a4234552a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#106;&#32;&#61;&#32;&#49;&#44;&#50;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"107\" style=\"vertical-align: -4px;\"\/>, perform the following steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Select pivot.<\/strong> Choose a pivot <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8c135c2dc6d5f751cde531932f5a063d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#115;&#95;&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"14\" style=\"vertical-align: -6px;\"\/>.<\/li><li><strong>Update the approximation.<\/strong> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b1fdb907698e9174564ac35b7abc86e7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#70;&#40;&#58;&#44;&#106;&#41;&#32;&#92;&#108;&#101;&#102;&#116;&#97;&#114;&#114;&#111;&#119;&#32;&#65;&#40;&#58;&#44;&#115;&#95;&#106;&#41;&#32;&#47;&#32;&#92;&#115;&#113;&#114;&#116;&#123;&#97;&#95;&#123;&#115;&#95;&#106;&#115;&#95;&#106;&#125;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"21\" width=\"191\" style=\"vertical-align: -7px;\"\/>.<\/li><li><strong>Update the residual.<\/strong> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-23132cecfc54e8fcbdf1adae27266c2e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#32;&#92;&#108;&#101;&#102;&#116;&#97;&#114;&#114;&#111;&#119;&#32;&#65;&#32;&#45;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#65;&#40;&#58;&#44;&#115;&#95;&#106;&#41;&#65;&#40;&#115;&#95;&#106;&#44;&#58;&#41;&#125;&#123;&#97;&#95;&#123;&#115;&#95;&#106;&#115;&#95;&#106;&#125;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"32\" width=\"161\" style=\"vertical-align: -13px;\"\/>.<\/li><\/ol>\n\n\n\n<p>This procedure results in the Nystr\u00f6m approximation (Nys) with column set <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0156fa337c22e7e307bf93c47439dba9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#83;&#32;&#61;&#32;&#92;&#123;&#115;&#95;&#49;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#115;&#95;&#107;&#92;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"124\" style=\"vertical-align: -5px;\"\/>:<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 24px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-f9ac31fa249d889cd909be1d340abd58_l3.png\" height=\"24\" width=\"285\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#104;&#97;&#116;&#123;&#65;&#125;&#32;&#61;&#32;&#70;&#70;&#94;&#42;&#32;&#61;&#32;&#65;&#40;&#58;&#44;&#83;&#41;&#32;&#92;&#44;&#32;&#65;&#40;&#83;&#44;&#83;&#41;&#94;&#123;&#45;&#49;&#125;&#32;&#92;&#44;&#32;&#65;&#40;&#83;&#44;&#58;&#41;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>The pivoted Cholesky steps 1\u20133 requires updating the entire matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> at every step. With a little more cleverness, we can optimize this procedure to only update the entries of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> we need to form the approximation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-52eb639f2f3627d1a0801fcb6a7d1592_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#104;&#97;&#116;&#123;&#65;&#125;&#32;&#61;&#32;&#70;&#70;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"71\" style=\"vertical-align: 0px;\"\/>. See Algorithm 2 in <a href=\"https:\/\/arxiv.org\/abs\/2207.06503\">this preprint of my coauthors and I<\/a> for details.<\/p>\n\n\n\n<p>How should we choose the pivots? Two simple strategies immediately suggest themselves:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Uniformly random.<\/strong> At each step <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-fe087f8cefab0bcb3270609914ada26c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"9\" style=\"vertical-align: -4px;\"\/>, select <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8c135c2dc6d5f751cde531932f5a063d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#115;&#95;&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"14\" style=\"vertical-align: -6px;\"\/> uniformly at random from among the un-selected pivot indices.<\/li><li><strong>Greedy.<\/strong><sup class=\"modern-footnotes-footnote \" data-mfn=\"7\" data-mfn-post-scope=\"00000000000005890000000000000000_1370\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-00000000000005890000000000000000_1370-7\">7<\/a><\/sup><span id=\"mfn-content-00000000000005890000000000000000_1370-7\" role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"7\">The greedy pivoting selection is sometimes known as diagonal pivoting or <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pivot_element#Partial,_rook,_and_complete_pivoting\">complete pivoting<\/a> in the numerical analysis literature.<\/span> At each step <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-fe087f8cefab0bcb3270609914ada26c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"9\" style=\"vertical-align: -4px;\"\/>, select <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8c135c2dc6d5f751cde531932f5a063d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#115;&#95;&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"14\" style=\"vertical-align: -6px;\"\/> according to the largest diagonal entry of the current residual <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>: <p class=\"ql-center-displayed-equation\" style=\"line-height: 13px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-42a58dd2bd6824be5efdc930fc5356df_l3.png\" height=\"13\" width=\"117\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#115;&#95;&#106;&#32;&#61;&#32;&#92;&#97;&#114;&#103;&#109;&#97;&#120;&#95;&#123;&#49;&#92;&#108;&#101;&#32;&#107;&#92;&#108;&#101;&#32;&#78;&#125;&#32;&#97;&#95;&#123;&#107;&#107;&#125;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/li><\/ul>\n\n\n\n<p>The greedy strategy often (but not always) works well, and the uniformly random approach <a href=\"http:\/\/arxiv.org\/abs\/1110.5305\">can work surprisingly well<\/a> if the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/> is &#8220;incoherent&#8221;, with all rows and columns of the matrix possessing &#8220;similar importance&#8221;.<\/p>\n\n\n\n<p>Despite often working fairly well, both the uniform and greedy schemes can fail significantly, producing very low-quality approximations. My research (joint with <a href=\"https:\/\/yifanc96.github.io\">Yifan Chen<\/a>, <a href=\"https:\/\/tropp.caltech.edu\">Joel A. Tropp<\/a>, and <a href=\"https:\/\/rwebber.people.caltech.edu\">Robert J. Webber<\/a>) <a href=\"https:\/\/arxiv.org\/abs\/2207.06503\">has investigated a third strategy<\/a> striking a balance between these two approaches:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Diagonally weighted random.<\/strong> At each step <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-fe087f8cefab0bcb3270609914ada26c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"9\" style=\"vertical-align: -4px;\"\/>, select <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8c135c2dc6d5f751cde531932f5a063d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#115;&#95;&#106;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"14\" style=\"vertical-align: -6px;\"\/> at random according to the probability weights based on the current diagonal of the matrix <p class=\"ql-center-displayed-equation\" style=\"line-height: 32px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-36ca3921c45ffb034e0cfa8adf85b982_l3.png\" height=\"32\" width=\"139\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#091;&#92;&#109;&#97;&#116;&#104;&#98;&#98;&#123;&#80;&#125;&#32;&#92;&#123;&#32;&#115;&#95;&#106;&#32;&#61;&#32;&#107;&#32;&#92;&#125;&#32;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#97;&#95;&#123;&#107;&#107;&#125;&#125;&#123;&#92;&#111;&#112;&#101;&#114;&#97;&#116;&#111;&#114;&#110;&#97;&#109;&#101;&#123;&#116;&#114;&#125;&#32;&#65;&#125;&#46;&#92;&#093;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/li><\/ul>\n\n\n\n<p><a href=\"https:\/\/arxiv.org\/abs\/2207.06503\">Our paper<\/a> provides theoretical analysis and empirical evidence showing that this diagonally-weighted random pivot selection (which we call <em>randomly pivoted Cholesky<\/em> aka RPCholesky) performs well at approximating all positive semidefinite matrices <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-11f4f587954b361e7d78940f65b8d70d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;\" title=\"Rendered by QuickLaTeX.com\" height=\"13\" width=\"13\" style=\"vertical-align: 0px;\"\/>, even those for which uniform random and greedy pivot selection fail. The success of this approach can be seen in the following examples (from <a href=\"https:\/\/arxiv.org\/abs\/2207.06503\">Figure 1 in the paper<\/a>), which shows RPCholesky can produce much smaller errors than the greedy and uniform methods.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"1379\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/smile_trace-1024x768.png\" alt=\"\" class=\"wp-image-1379\" srcset=\"https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/smile_trace-1024x768.png 1024w, https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/smile_trace-300x225.png 300w, https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/smile_trace-768x576.png 768w, https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/smile_trace.png 1167w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"1378\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/outliers_trace-1024x768.png\" alt=\"\" class=\"wp-image-1378\" srcset=\"https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/outliers_trace-1024x768.png 1024w, https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/outliers_trace-300x225.png 300w, https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/outliers_trace-768x576.png 768w, https:\/\/www.ethanepperly.com\/wp-content\/uploads\/2022\/10\/outliers_trace.png 1167w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusions<\/h2>\n\n\n\n<p>In this post, we&#8217;ve seen that a column Nystr\u00f6m approximation can be obtained from a partial Cholesky decomposition. The residual of the approximation is the Schur complement. I hope you agree that this is a very nice connection between these three ideas. But beyond its mathematical beauty, why do we care about this connection? Here are my reasons for caring:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Analysis.<\/strong> Cholesky factorization and the Schur complement are very well-studied in matrix theory. We can use known facts about Cholesky factorization and Schur complements to prove things about the Nystr\u00f6m approximation, as we did when we invoked the positivity of the Schur complement.<\/li><li><strong>Algorithms.<\/strong> Cholesky factorization-based algorithms like randomly pivoted Cholesky are effective in practice at producing high-quality column Nystr\u00f6m approximations.<\/li><\/ul>\n\n\n\n<p>On a broader level, our tale of Nystr\u00f6m, Cholesky, and Schur demonstrates that there are rich connections between low-rank approximation and (partial versions of) classical matrix factorizations like <a href=\"https:\/\/en.wikipedia.org\/wiki\/LU_decomposition\">LU<\/a> (with <a href=\"https:\/\/en.wikipedia.org\/wiki\/LU_decomposition#LU_factorization_with_partial_pivoting\">partial pivoting<\/a>), <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cholesky_decomposition\">Cholesky<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/QR_decomposition\">QR<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Spectral_theorem#Hermitian_maps_and_Hermitian_matrices\">eigendecomposition<\/a>, and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value_decomposition\">SVD<\/a> for to full-rank matrices. These connections can be vital to analyzing low-rank approximation algorithms and developing improvements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the last post, we looked at the Nystr\u00f6m approximation to an positive semidefinite (psd) matrix . A special case was the column Nystr\u00f6m approximation, defined to be (Nys) &nbsp; where identifies a subset of columns of . Provided , this allowed us to approximate all entries of the matrix using only the entries in<a class=\"more-link\" href=\"https:\/\/www.ethanepperly.com\/index.php\/2022\/10\/24\/nystrom-cholesky-and-schur\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-1370","post","type-post","status-publish","format-standard","hentry","category-low-rank-approximation-toolbox"],"_links":{"self":[{"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/posts\/1370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/comments?post=1370"}],"version-history":[{"count":18,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/posts\/1370\/revisions"}],"predecessor-version":[{"id":1391,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/posts\/1370\/revisions\/1391"}],"wp:attachment":[{"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/media?parent=1370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/categories?post=1370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/tags?post=1370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}