{"id":1506,"date":"2023-06-12T14:25:57","date_gmt":"2023-06-12T14:25:57","guid":{"rendered":"https:\/\/www.ethanepperly.com\/?p=1506"},"modified":"2025-06-16T23:36:37","modified_gmt":"2025-06-16T23:36:37","slug":"low-rank-approximation-toolbox-randomized-svd","status":"publish","type":"post","link":"https:\/\/www.ethanepperly.com\/index.php\/2023\/06\/12\/low-rank-approximation-toolbox-randomized-svd\/","title":{"rendered":"Low-Rank Approximation Toolbox: Randomized SVD"},"content":{"rendered":"\n<p>The randomized SVD and its relatives are workhorse algorithms for low-rank approximation. In this post, I hope to provide a fairly brief introduction to this useful method. In the following post, we&#8217;ll look into its analysis.<\/p>\n\n\n\n<p>The randomized SVD is dead-simple to state: To approximate an <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-7c060ad3084ad1de4a3ce67946c1e82a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#109;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#110;\" title=\"Rendered by QuickLaTeX.com\" height=\"9\" width=\"48\" style=\"vertical-align: 0px;\"\/> matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> by 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;\"\/> matrix, perform the following steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Collect information.<\/strong> Form <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-99f2b6ea36209285753eadbdefaf7dbb_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#89;&#32;&#61;&#32;&#66;&#92;&#79;&#109;&#101;&#103;&#97;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"64\" style=\"vertical-align: 0px;\"\/> where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0e42a68047144196ffa9763b964056ac_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#79;&#109;&#101;&#103;&#97;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"12\" style=\"vertical-align: 0px;\"\/> is an appropriately chosen <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1a55278ecc061a49dac84a0a29899010_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#110;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"41\" style=\"vertical-align: 0px;\"\/> <em>random<\/em> matrix.<\/li>\n\n\n\n<li><strong>Orthogonalize.<\/strong> Compute an orthonormal basis <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e7f252699e1616398a7ce5179d3e425e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#81;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"14\" style=\"vertical-align: -4px;\"\/> for the column space of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-58d456b42236adc71c7788a42a6c7884_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#89;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> by, e.g., <a href=\"https:\/\/en.wikipedia.org\/wiki\/QR_decomposition#Rectangular_matrix\">thin QR factorization<\/a>.<\/li>\n\n\n\n<li><strong>Project.<\/strong> Form <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-bd73898692f99da98e6827f593af189f_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#67;&#32;&#92;&#99;&#111;&#108;&#111;&#110;&#101;&#113;&#113;&#32;&#81;&#94;&#42;&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"77\" style=\"vertical-align: -4px;\"\/>. (Here, <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;\"\/> denotes the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Conjugate_transpose\">conjugate transpose<\/a> of a complex matrix, which reduces to the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Transpose\">ordinary transpose<\/a> if the matrix is real.)<\/li>\n<\/ol>\n\n\n\n<p>If all one cares about is a low-rank approximation to the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>, one can stop the randomized SVD here, having obtained the approximation<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 16px;\"><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-c5eb6a2bd93f7c628f485bd473e8676c_l3.png\" height=\"16\" width=\"113\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#66;&#32;&#92;&#97;&#112;&#112;&#114;&#111;&#120;&#32;&#88;&#32;&#92;&#99;&#111;&#108;&#111;&#110;&#101;&#113;&#113;&#32;&#81;&#32;&#67;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>As the name &#8220;randomized SVD&#8221; suggests, one can easily &#8220;upgrade&#8221; the approximation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-eaad8e3728a66a376f3dee85dd42995a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;&#32;&#61;&#32;&#81;&#67;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"68\" style=\"vertical-align: -4px;\"\/> to a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value_decomposition#Compact_SVD\">compact SVD<\/a> format:<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>SVD.<\/strong> Compute a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value_decomposition#Compact_SVD\">compact SVD<\/a> of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-52134c3741ef3371f17ceb962d0792f6_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#67;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>: <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-d8dca2959cdebbf0c3996449ae48b357_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#67;&#32;&#61;&#32;&#92;&#104;&#97;&#116;&#123;&#85;&#125;&#92;&#83;&#105;&#103;&#109;&#97;&#32;&#86;&#94;&#42;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"85\" style=\"vertical-align: 0px;\"\/> where <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e500e8ff996e8267339b7b0f08325d49_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#104;&#97;&#116;&#123;&#85;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"13\" style=\"vertical-align: 0px;\"\/> and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-aaf296b0ba4c1beb8df992e8b77c1294_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#83;&#105;&#103;&#109;&#97;\" 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-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;\"\/> and <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8a416b3e64d82c5ac2bf7ce6b503c266_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#86;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> is <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1a55278ecc061a49dac84a0a29899010_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#110;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"41\" style=\"vertical-align: 0px;\"\/>.<\/li>\n\n\n\n<li><strong>Clean up.<\/strong> Set <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-542684a2f973a649452eeb4a87578dec_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;&#32;&#92;&#99;&#111;&#108;&#111;&#110;&#101;&#113;&#113;&#32;&#81;&#92;&#104;&#97;&#116;&#123;&#85;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"22\" width=\"68\" style=\"vertical-align: -4px;\"\/>.<\/li>\n<\/ol>\n\n\n\n<p>We now have approximated <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> by 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;\"\/> matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ee8974e4adfbdab75fa43f4df80b4e5d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/> in compact SVD form:<\/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-8f7c31a46a04e9f0447ddc9209f26458_l3.png\" height=\"18\" width=\"182\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#66;&#32;&#92;&#97;&#112;&#112;&#114;&#111;&#120;&#32;&#88;&#32;&#61;&#32;&#81;&#67;&#32;&#61;&#32;&#85;&#92;&#83;&#105;&#103;&#109;&#97;&#32;&#86;&#94;&#42;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>One can use the factors <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;\"\/>, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-aaf296b0ba4c1beb8df992e8b77c1294_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#83;&#105;&#103;&#109;&#97;\" 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-8a416b3e64d82c5ac2bf7ce6b503c266_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#86;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> of the approximation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-cc7866a930021da49be46ce91f9a6217_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;&#32;&#92;&#97;&#112;&#112;&#114;&#111;&#120;&#32;&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"54\" style=\"vertical-align: 0px;\"\/> as estimates of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value_decomposition#Singular_values,_singular_vectors,_and_their_relation_to_the_SVD\">singular vectors<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value\">values<\/a> of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Can You Do with the Randomized SVD?<\/h2>\n\n\n\n<p>The randomized SVD has many uses. Pretty much anywhere you would ordinarily use an SVD is a candidate for the randomized SVD. Applications include <a href=\"https:\/\/arxiv.org\/abs\/1611.02316\">model reduction<\/a>, <a href=\"https:\/\/users.oden.utexas.edu\/~pgm\/Pubs\/2011_randomhudson.pdf\">fast direct solvers<\/a>, <a href=\"https:\/\/genomebiology.biomedcentral.com\/articles\/10.1186\/s13059-019-1900-3\">computational biology<\/a>, <a href=\"https:\/\/www.researchgate.net\/profile\/Carsten-Burstedde\/publication\/261462658_Extreme-scale_UQ_for_Bayesian_inverse_problems_governed_by_PDEs\/links\/02e7e5391c9f89cf3e000000\/Extreme-scale-UQ-for-Bayesian-inverse-problems-governed-by-PDEs.pdf\">uncertainty quantification<\/a>, among numerous others.<\/p>\n\n\n\n<p>To speak in broad generalities, there are two ways to use the randomized SVD:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>As an approximation.<\/strong> First, we could use <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ee8974e4adfbdab75fa43f4df80b4e5d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/> as a compressed approximation to <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>. Using the format <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-eaad8e3728a66a376f3dee85dd42995a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;&#32;&#61;&#32;&#81;&#67;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"68\" style=\"vertical-align: -4px;\"\/>, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ee8974e4adfbdab75fa43f4df80b4e5d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/> requires just <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b1669f53fff111205174b534fbc69e54_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#109;&#43;&#110;&#41;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"70\" style=\"vertical-align: -5px;\"\/> numbers of storage, whereas <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> requires a much larger <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b1777add7c5ed912c9e8b94a2f18aabd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#109;&#110;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"27\" style=\"vertical-align: 0px;\"\/> numbers of storage. As I detailed at length in my blog post on <a href=\"https:\/\/www.ethanepperly.com\/index.php\/2021\/10\/26\/big-ideas-in-applied-math-low-rank-matrices\/\">low-rank matrices<\/a>, many operations are cheap for the low-rank matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ee8974e4adfbdab75fa43f4df80b4e5d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/>. For instance, we can compute a matrix\u2013vector product <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-585215cf5869ba3a1faaf37278d49197_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;&#122;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"25\" style=\"vertical-align: 0px;\"\/> in roughly <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b1669f53fff111205174b534fbc69e54_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#109;&#43;&#110;&#41;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"70\" style=\"vertical-align: -5px;\"\/> operations rather than the <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b1777add7c5ed912c9e8b94a2f18aabd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#109;&#110;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"27\" style=\"vertical-align: 0px;\"\/> operations to compute <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-3b8852cd9010730a0a19365c4df80db4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;&#122;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"23\" style=\"vertical-align: 0px;\"\/>. For these use cases, we don&#8217;t need the &#8220;SVD&#8221; part of the randomized SVD.<\/li>\n\n\n\n<li><strong>As an approximate SVD.<\/strong> Second, we can actually use the <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;\"\/>, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-aaf296b0ba4c1beb8df992e8b77c1294_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#83;&#105;&#103;&#109;&#97;\" 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-8a416b3e64d82c5ac2bf7ce6b503c266_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#86;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> produced by the randomized SVD as approximations to the singular vectors and values of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>. In these applications, we should be careful. Just because <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ee8974e4adfbdab75fa43f4df80b4e5d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/> is a good approximation to <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>, it is not necessarily the case that <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;\"\/>, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-aaf296b0ba4c1beb8df992e8b77c1294_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#83;&#105;&#103;&#109;&#97;\" 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-8a416b3e64d82c5ac2bf7ce6b503c266_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#86;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> are close to the singular vectors and values of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>. To use the randomized SVD in this context, it is safest to use posterior diagnostics (such as the ones developed in <a href=\"https:\/\/arxiv.org\/abs\/2207.06342\">this paper of mine<\/a>) to ensure that the singular values\/vectors of interest are computed to a high enough accuracy. A useful rule of thumb is the smallest two to five singular values and vectors computed by the randomized SVD are suspect and should be used in applications only with extreme caution. When the appropriate care is taken and for certain problems, the randomized SVD can provide accurate singular vectors far faster than direct methods.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Accuracy of the Randomized SVD<\/h2>\n\n\n\n<p>How accurate is the approximation <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ee8974e4adfbdab75fa43f4df80b4e5d_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: 0px;\"\/> produced by the randomized SVD? No 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 can be more accurate than the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Low-rank_approximation#Basic_low-rank_approximation_problem\">best<\/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 <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-e6103868a75e8409d3f4fd2ab0faf903_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#108;&#111;&#119;&#114;&#97;&#110;&#107;&#123;&#66;&#125;&#95;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"34\" style=\"vertical-align: -5px;\"\/> to the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>, furnished by an exact SVD of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value_decomposition#Truncated_SVD\">truncated<\/a> to 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;\"\/>. Thus, we&#8217;re interested in how much larger <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-73195b3d7739a1c8c69dedcfb15e5c99_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;&#32;&#45;&#32;&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"52\" style=\"vertical-align: 0px;\"\/> is than <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ed0ad0583d98a8e4bbbeb6cc7d458cbd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;&#32;&#45;&#32;&#92;&#108;&#111;&#119;&#114;&#97;&#110;&#107;&#123;&#66;&#125;&#95;&#107;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"72\" style=\"vertical-align: -5px;\"\/>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Matrix_norm#Frobenius_norm\">Frobenius Norm<\/a> Error<\/h3>\n\n\n\n<p>A representative result (see, e.g., Theorem 8.1 of <a href=\"https:\/\/arxiv.org\/abs\/2306.12418v3\">this paper<\/a>) describing the error of the randomized SVD is the following:<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 43px;\"><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-aa4c5d7163bac127432706a279ae7210_l3.png\" height=\"43\" width=\"417\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#92;&#109;&#97;&#116;&#104;&#98;&#98;&#123;&#69;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#88;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#94;&#50;&#32;&#92;&#108;&#101;&#32;&#92;&#109;&#105;&#110;&#95;&#123;&#114;&#32;&#92;&#108;&#101;&#32;&#107;&#45;&#50;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#40;&#32;&#49;&#32;&#43;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#114;&#125;&#123;&#107;&#45;&#40;&#114;&#43;&#49;&#41;&#125;&#32;&#92;&#114;&#105;&#103;&#104;&#116;&#41;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#92;&#108;&#111;&#119;&#114;&#97;&#110;&#107;&#123;&#66;&#125;&#95;&#114;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#94;&#50;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#46;&#32;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>This result states that the average squared <a href=\"https:\/\/en.wikipedia.org\/wiki\/Matrix_norm#Frobenius_norm\">Frobenius-norm<\/a> error of the randomized SVD is comparable with the best rank-<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0cfb382a93bc3f68981565d49d1aeb9e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> approximation error for any <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-ee146d1aba4b54d01319e2838916b608_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;&#92;&#108;&#101;&#32;&#107;&#45;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"72\" style=\"vertical-align: -3px;\"\/>. In particular, choosing <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-fa41d98488bb8a4d6bcffc2e651c3ec7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#32;&#61;&#32;&#114;&#43;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"72\" style=\"vertical-align: -2px;\"\/>, we see that the randomized SVD error is at most <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0b51c16614a12420983b1fa308e76300_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#40;&#49;&#43;&#114;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"51\" style=\"vertical-align: -5px;\"\/> times the best rank-<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0cfb382a93bc3f68981565d49d1aeb9e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> approximation<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 23px;\"><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-29753ca17ed5f7def9297cf52157afb8_l3.png\" height=\"23\" width=\"397\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#92;&#109;&#97;&#116;&#104;&#98;&#98;&#123;&#69;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#88;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#94;&#50;&#32;&#92;&#108;&#101;&#32;&#40;&#49;&#43;&#114;&#41;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#92;&#108;&#111;&#119;&#114;&#97;&#110;&#107;&#123;&#66;&#125;&#95;&#114;&#32;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#94;&#50;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#32;&#92;&#113;&#117;&#97;&#100;&#32;&#92;&#116;&#101;&#120;&#116;&#123;&#102;&#111;&#114;&#32;&#36;&#107;&#61;&#114;&#43;&#50;&#36;&#125;&#46;&#32;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Choosing <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-15019a3a41c3bb9b6f996d89b9746e58_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#32;&#61;&#32;&#50;&#114;&#43;&#49;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"80\" style=\"vertical-align: -2px;\"\/>, we see that the randomized SVD has at most twice the error of the best rank-<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0cfb382a93bc3f68981565d49d1aeb9e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> approximation<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 23px;\"><span class=\"ql-right-eqno\"> (3) <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1c11cf4647747653a356178b65c3585f_l3.png\" height=\"23\" width=\"363\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#92;&#109;&#97;&#116;&#104;&#98;&#98;&#123;&#69;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#88;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#94;&#50;&#32;&#92;&#108;&#101;&#32;&#50;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#92;&#108;&#111;&#119;&#114;&#97;&#110;&#107;&#123;&#66;&#125;&#95;&#114;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#94;&#50;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#32;&#92;&#113;&#117;&#97;&#100;&#32;&#92;&#116;&#101;&#120;&#116;&#123;&#102;&#111;&#114;&#32;&#36;&#107;&#61;&#50;&#114;&#43;&#49;&#36;&#125;&#46;&#32;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>In effect, these results tell us that if we want an approximation that is nearly as good as the best rank-<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0cfb382a93bc3f68981565d49d1aeb9e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> approximation, using an approximation rank of, say, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-fa41d98488bb8a4d6bcffc2e651c3ec7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#32;&#61;&#32;&#114;&#43;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"14\" width=\"72\" style=\"vertical-align: -2px;\"\/> or <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b7a4d0c3b89d0f9fcae5d61c821f0e37_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#107;&#32;&#61;&#32;&#50;&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"50\" style=\"vertical-align: 0px;\"\/> for the randomized SVD suffices. These results hold even for worst-case matrices. For nice matrices with steadily decaying singular values, the randomized SVD can perform even better than equations (2)\u2013(3) would suggest.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/mathworld.wolfram.com\/SpectralNorm.html\">Spectral Norm<\/a> Error<\/h3>\n\n\n\n<p>The <a href=\"https:\/\/mathworld.wolfram.com\/SpectralNorm.html\">spectral norm<\/a> is often a better error metric for matrix computations than the Frobenius norm. Is the randomized SVD also comparable with the best 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 when we use the spectral norm? In this setting, a representative error bound (see, e.g., Theorem 8.7 of <a href=\"https:\/\/arxiv.org\/abs\/2306.12418v3\">this paper<\/a>) is<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 45px;\"><span class=\"ql-right-eqno\"> (4) <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-8ee6f467b55a9e949f3636deca2589a5_l3.png\" height=\"45\" width=\"608\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#92;&#109;&#97;&#116;&#104;&#98;&#98;&#123;&#69;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#88;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#94;&#50;&#32;&#92;&#108;&#101;&#32;&#92;&#109;&#105;&#110;&#95;&#123;&#114;&#32;&#92;&#108;&#101;&#32;&#107;&#45;&#50;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#40;&#32;&#49;&#32;&#43;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#50;&#114;&#125;&#123;&#107;&#45;&#40;&#114;&#43;&#49;&#41;&#125;&#32;&#92;&#114;&#105;&#103;&#104;&#116;&#41;&#32;&#92;&#108;&#101;&#102;&#116;&#40;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#92;&#108;&#111;&#119;&#114;&#97;&#110;&#107;&#123;&#66;&#125;&#95;&#114;&#32;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#94;&#50;&#32;&#43;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#92;&#109;&#97;&#116;&#104;&#114;&#109;&#123;&#101;&#125;&#94;&#50;&#125;&#123;&#107;&#45;&#114;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#92;&#108;&#111;&#119;&#114;&#97;&#110;&#107;&#123;&#66;&#125;&#95;&#114;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#94;&#50;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#32;&#92;&#114;&#105;&#103;&#104;&#116;&#41;&#46;&#32;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>The spectral norm error of the randomized SVD depends on the <em>Frobenius norm error<\/em> of the best rank-<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-0cfb382a93bc3f68981565d49d1aeb9e_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"8\" style=\"vertical-align: 0px;\"\/> approximation for <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-b2e1c306852cc488f46adacdba8f0fc6_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#114;&#32;&#92;&#108;&#101;&#32;&#107;&#45;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"72\" style=\"vertical-align: -3px;\"\/>.<\/p>\n\n\n\n<p>Recall that the spectral and Frobenius norm can be defined in terms of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Singular_value\">singular values<\/a> of the matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>:<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 38px;\"><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-2d3f6deda657f9f0f863a05450571e23_l3.png\" height=\"38\" width=\"275\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#92;&#110;&#111;&#114;&#109;&#123;&#66;&#125;&#32;&#61;&#32;&#92;&#115;&#105;&#103;&#109;&#97;&#95;&#49;&#40;&#66;&#41;&#44;&#92;&#113;&#117;&#97;&#100;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#95;&#123;&#92;&#114;&#109;&#32;&#70;&#125;&#94;&#50;&#32;&#61;&#32;&#92;&#115;&#117;&#109;&#95;&#105;&#32;&#92;&#115;&#105;&#103;&#109;&#97;&#95;&#105;&#40;&#66;&#41;&#94;&#50;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Rewriting (4) using these formulas, we get<\/p>\n\n\n\n<p><p class=\"ql-center-displayed-equation\" style=\"line-height: 54px;\"><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-d4bb8b98ee0928e647c7cdbd91332fcc_l3.png\" height=\"54\" width=\"495\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#92;&#109;&#97;&#116;&#104;&#98;&#98;&#123;&#69;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#92;&#124;&#66;&#32;&#45;&#32;&#88;&#92;&#114;&#105;&#103;&#104;&#116;&#92;&#124;&#94;&#50;&#32;&#92;&#108;&#101;&#32;&#92;&#109;&#105;&#110;&#95;&#123;&#114;&#32;&#92;&#108;&#101;&#32;&#107;&#45;&#50;&#125;&#32;&#92;&#108;&#101;&#102;&#116;&#40;&#32;&#49;&#32;&#43;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#50;&#114;&#125;&#123;&#107;&#45;&#40;&#114;&#43;&#49;&#41;&#125;&#32;&#92;&#114;&#105;&#103;&#104;&#116;&#41;&#32;&#92;&#108;&#101;&#102;&#116;&#40;&#92;&#115;&#105;&#103;&#109;&#97;&#95;&#123;&#114;&#43;&#49;&#125;&#94;&#50;&#32;&#43;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#92;&#109;&#97;&#116;&#104;&#114;&#109;&#123;&#101;&#125;&#94;&#50;&#125;&#123;&#107;&#45;&#114;&#125;&#32;&#92;&#115;&#117;&#109;&#95;&#123;&#105;&#62;&#114;&#125;&#32;&#92;&#115;&#105;&#103;&#109;&#97;&#95;&#105;&#94;&#50;&#32;&#92;&#114;&#105;&#103;&#104;&#116;&#41;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p><\/p>\n\n\n\n<p>Despite being interested in the largest singular value of the error matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-141c12587e6dbca7b3675771233643dd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;&#45;&#88;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"52\" style=\"vertical-align: 0px;\"\/>, this bound demonstrates that the randomized SVD incurs errors based on the entire <em>tail<\/em> of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>&#8216;s singular values <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-99975b3c37416c586d467d5ebf36f4a9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#115;&#117;&#109;&#95;&#123;&#105;&#62;&#114;&#125;&#92;&#115;&#105;&#103;&#109;&#97;&#95;&#105;&#94;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"21\" width=\"62\" style=\"vertical-align: -6px;\"\/>. The randomized SVD is much worse than the best 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 for a matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> with a long detail of slowly declining singular values.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Improving the Approximation: Subspace Iteration and Block Krylov Iteration<\/h2>\n\n\n\n<p>We saw that the randomized SVD produces nearly optimal low-rank approximations when we measure using the Frobenius norm. When we measure using the spectral norm, we have a split decision: If the singular values decay rapidly, the randomized SVD is near-optimal; if the singular values decay more slowly, the randomized SVD can suffer from large errors.<\/p>\n\n\n\n<p>Fortunately, there are two fixes to improve the randomized SVD in the presence of slowly decaying singular values:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Subspace iteration:<\/strong> To improve the quality of the randomized SVD, we can combine it with the famous <em><a href=\"https:\/\/en.m.wikipedia.org\/wiki\/Power_iteration\">power method<\/a><\/em> for eigenvalue computations. Instead of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-99f2b6ea36209285753eadbdefaf7dbb_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#89;&#32;&#61;&#32;&#66;&#92;&#79;&#109;&#101;&#103;&#97;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"64\" style=\"vertical-align: 0px;\"\/>, we use the powered expression <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-04808e6c1ed901615bd8aa42f160113f_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#89;&#32;&#61;&#32;&#66;&#40;&#66;&#94;&#42;&#66;&#41;&#94;&#113;&#92;&#79;&#109;&#101;&#103;&#97;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"122\" style=\"vertical-align: -5px;\"\/>. Powering has the effect of amplifying the large singular values of <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-06d2c1a5a171b6d7d9c5df87d123c5a4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/> and dimishing the influence of the tail.<\/li>\n\n\n\n<li><strong>Block Krylov iteration:<\/strong> Subspace iteration is effective, but fairly wasteful. To compute <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-70b7f88afaf1669f69ee8758ddd52311_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#66;&#40;&#66;&#94;&#42;&#66;&#41;&#94;&#113;&#92;&#79;&#109;&#101;&#103;&#97;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"84\" style=\"vertical-align: -5px;\"\/> we compute the <em>block <a href=\"https:\/\/en.m.wikipedia.org\/wiki\/Krylov_subspace\">Krylov sequence<\/a><\/em> <p class=\"ql-center-displayed-equation\" style=\"line-height: 19px;\"><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-2584aa789abb8f623fbbb14e114a5461_l3.png\" height=\"19\" width=\"329\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#66;&#92;&#79;&#109;&#101;&#103;&#97;&#44;&#32;&#66;&#66;&#94;&#42;&#66;&#92;&#79;&#109;&#101;&#103;&#97;&#44;&#32;&#66;&#66;&#94;&#42;&#66;&#66;&#94;&#42;&#66;&#92;&#79;&#109;&#101;&#103;&#97;&#44;&#92;&#108;&#100;&#111;&#116;&#115;&#44;&#66;&#40;&#66;&#94;&#42;&#66;&#41;&#94;&#113;&#92;&#79;&#109;&#101;&#103;&#97;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p> and throw away all but the last term. To make more economical use of resources, we can use the entire sequence as our information matrix <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-58d456b42236adc71c7788a42a6c7884_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#89;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"14\" style=\"vertical-align: 0px;\"\/>: <p class=\"ql-center-displayed-equation\" style=\"line-height: 22px;\"><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-4139403e46250e757c4b558a38b9fba7_l3.png\" height=\"22\" width=\"423\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91;&#89;&#32;&#61;&#32;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#66;&#92;&#79;&#109;&#101;&#103;&#97;&#32;&#38;&#32;&#66;&#66;&#94;&#42;&#66;&#92;&#79;&#109;&#101;&#103;&#97;&#32;&#38;&#32;&#66;&#66;&#94;&#42;&#66;&#66;&#94;&#42;&#66;&#92;&#79;&#109;&#101;&#103;&#97;&#38;&#32;&#92;&#99;&#100;&#111;&#116;&#115;&#32;&#38;&#32;&#66;&#40;&#66;&#94;&#42;&#66;&#41;&#94;&#113;&#92;&#79;&#109;&#101;&#103;&#97;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#46;&#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p>Storing the entire block Krylov sequence is more memory-intensive but makes more efficient use of matrix products than subspace iteration.<\/li>\n<\/ul>\n\n\n\n<p>Both subspace iteration and block Krylov iteration should be carefully implemented to produce accurate results.<\/p>\n\n\n\n<p>Both subspace iteration and block Krylov iteration diminish the effect of a slowly decaying tail of singular values on the accuracy of the randomized SVD. The more slowly the tail decays, the larger one must take the number of iterations <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ethanepperly.com\/wp-content\/ql-cache\/quicklatex.com-1d83a8e8f99aa0fb16ebf30cc43326a2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#113;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"8\" style=\"vertical-align: -4px;\"\/> to obtain accurate results.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The randomized SVD and its relatives are workhorse algorithms for low-rank approximation. In this post, I hope to provide a fairly brief introduction to this useful method. In the following post, we&#8217;ll look into its analysis. The randomized SVD is dead-simple to state: To approximate an matrix by a rank- matrix, perform the following steps:<a class=\"more-link\" href=\"https:\/\/www.ethanepperly.com\/index.php\/2023\/06\/12\/low-rank-approximation-toolbox-randomized-svd\/\">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-1506","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\/1506","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=1506"}],"version-history":[{"count":18,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/posts\/1506\/revisions"}],"predecessor-version":[{"id":2130,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/posts\/1506\/revisions\/2130"}],"wp:attachment":[{"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/media?parent=1506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/categories?post=1506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ethanepperly.com\/index.php\/wp-json\/wp\/v2\/tags?post=1506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}