<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://machinelearning.subwiki.org/w/index.php?action=history&amp;feed=atom&amp;title=User%3AIssaRice%2FLinear_algebra%2FSingular_value_decomposition</id>
	<title>User:IssaRice/Linear algebra/Singular value decomposition - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://machinelearning.subwiki.org/w/index.php?action=history&amp;feed=atom&amp;title=User%3AIssaRice%2FLinear_algebra%2FSingular_value_decomposition"/>
	<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;action=history"/>
	<updated>2026-04-25T19:56:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.2</generator>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=3552&amp;oldid=prev</id>
		<title>IssaRice at 21:10, 1 October 2022</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=3552&amp;oldid=prev"/>
		<updated>2022-10-01T21:10:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:10, 1 October 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* if A is an invertible matrix, then &amp;lt;math&amp;gt;A = E_1 \cdots E_m&amp;lt;/math&amp;gt; for some elementary matrices &amp;lt;math&amp;gt;E_1,\ldots,E_m&amp;lt;/math&amp;gt;. Dilations and swapping elementary matrices obviously involve only orthogonal operations. So we can write A as an alternating product of orthogonal and shear matrices (the product of two orthogonal matrices is again orthogonal. right???). If we can prove SVD for shears, we can convert this to an alternating product of orthogonal and &amp;#039;&amp;#039;diagonal&amp;#039;&amp;#039; matrices. unfortunately, this doesn&amp;#039;t seem to lead to a full proof of SVD (unless orthogonal and diagonal matrices somehow commute).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* if A is an invertible matrix, then &amp;lt;math&amp;gt;A = E_1 \cdots E_m&amp;lt;/math&amp;gt; for some elementary matrices &amp;lt;math&amp;gt;E_1,\ldots,E_m&amp;lt;/math&amp;gt;. Dilations and swapping elementary matrices obviously involve only orthogonal operations. So we can write A as an alternating product of orthogonal and shear matrices (the product of two orthogonal matrices is again orthogonal. right???). If we can prove SVD for shears, we can convert this to an alternating product of orthogonal and &amp;#039;&amp;#039;diagonal&amp;#039;&amp;#039; matrices. unfortunately, this doesn&amp;#039;t seem to lead to a full proof of SVD (unless orthogonal and diagonal matrices somehow commute).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* one question one might have is, to get the behavior of M in the linked image, can&#039;t we just squish along the standard basis directions, then rotate? surely this would produce the same ellipse. And it would seem that we&#039;ve only required one rotation, instead of the two in SVD. That&#039;s true, but pay attention to where the basis vectors went. A squish followed by a rotation... would preserve orthogonality. But in M it is clear that these basis vectors are no longer orthogonal. So even though we have faithfully preserved the ellipse, we don&#039;t have the same transformation. i.e. &amp;lt;math&amp;gt;M(\{v : \|v\| = 1\}) = M&#039;(\{v : \|v\|=1\})&amp;lt;/math&amp;gt; need not imply &amp;lt;math&amp;gt;M=M&#039;&amp;lt;/math&amp;gt;, apparently.  This must be an artifact of the fact that a circle is an extremely symmetric shape, so lots of non-identical transformations can still produce the same image of a circle. I think if we started out with a square, we would not have the same image if we just instead stretched and then did a rotation.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* one question one might have is, to get the behavior of M in the linked image, can&#039;t we just squish along the standard basis directions, then rotate? surely this would produce the same ellipse. And it would seem that we&#039;ve only required one rotation, instead of the two in SVD. That&#039;s true, but pay attention to where the basis vectors went. A squish followed by a rotation... would preserve orthogonality. But in M it is clear that these basis vectors are no longer orthogonal. So even though we have faithfully preserved the ellipse, we don&#039;t have the same transformation. i.e. &amp;lt;math&amp;gt;M(\{v : \|v\| = 1\}) = M&#039;(\{v : \|v\|=1\})&amp;lt;/math&amp;gt; need not imply &amp;lt;math&amp;gt;M=M&#039;&amp;lt;/math&amp;gt;, apparently.  This must be an artifact of the fact that a circle is an extremely symmetric shape, so lots of non-identical transformations can still produce the same image of a circle. I think if we started out with a square, we would not have the same image if we just instead stretched and then did a rotation &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(actually, maybe a square too is still too symmetric; see example [https://youtu.be/vSczTbgc8Rc?list=PLnQX-jgAF5pTZXPiD8ciEARRylD9brJXU&amp;amp;t=679 here])&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=3551&amp;oldid=prev</id>
		<title>IssaRice at 21:08, 1 October 2022</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=3551&amp;oldid=prev"/>
		<updated>2022-10-01T21:08:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:08, 1 October 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* if A is an invertible matrix, then &amp;lt;math&amp;gt;A = E_1 \cdots E_m&amp;lt;/math&amp;gt; for some elementary matrices &amp;lt;math&amp;gt;E_1,\ldots,E_m&amp;lt;/math&amp;gt;. Dilations and swapping elementary matrices obviously involve only orthogonal operations. So we can write A as an alternating product of orthogonal and shear matrices (the product of two orthogonal matrices is again orthogonal. right???). If we can prove SVD for shears, we can convert this to an alternating product of orthogonal and &amp;#039;&amp;#039;diagonal&amp;#039;&amp;#039; matrices. unfortunately, this doesn&amp;#039;t seem to lead to a full proof of SVD (unless orthogonal and diagonal matrices somehow commute).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* if A is an invertible matrix, then &amp;lt;math&amp;gt;A = E_1 \cdots E_m&amp;lt;/math&amp;gt; for some elementary matrices &amp;lt;math&amp;gt;E_1,\ldots,E_m&amp;lt;/math&amp;gt;. Dilations and swapping elementary matrices obviously involve only orthogonal operations. So we can write A as an alternating product of orthogonal and shear matrices (the product of two orthogonal matrices is again orthogonal. right???). If we can prove SVD for shears, we can convert this to an alternating product of orthogonal and &amp;#039;&amp;#039;diagonal&amp;#039;&amp;#039; matrices. unfortunately, this doesn&amp;#039;t seem to lead to a full proof of SVD (unless orthogonal and diagonal matrices somehow commute).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* one question one might have is, to get the behavior of M in the linked image, can&#039;t we just squish along the standard basis directions, then rotate? surely this would produce the same ellipse. And it would seem that we&#039;ve only required one rotation, instead of the two in SVD. That&#039;s true, but pay attention to where the basis vectors went. A squish followed by a rotation... would preserve orthogonality. But in M it is clear that these basis vectors are no longer orthogonal. So even though we have faithfully preserved the ellipse, we don&#039;t have the same transformation. i.e. &amp;lt;math&amp;gt;M(\{v : \|v\| = 1\}) = M&#039;(\{v : \|v\|=1\})&amp;lt;/math&amp;gt; need not imply &amp;lt;math&amp;gt;M=M&#039;&amp;lt;/math&amp;gt;, apparently.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* one question one might have is, to get the behavior of M in the linked image, can&#039;t we just squish along the standard basis directions, then rotate? surely this would produce the same ellipse. And it would seem that we&#039;ve only required one rotation, instead of the two in SVD. That&#039;s true, but pay attention to where the basis vectors went. A squish followed by a rotation... would preserve orthogonality. But in M it is clear that these basis vectors are no longer orthogonal. So even though we have faithfully preserved the ellipse, we don&#039;t have the same transformation. i.e. &amp;lt;math&amp;gt;M(\{v : \|v\| = 1\}) = M&#039;(\{v : \|v\|=1\})&amp;lt;/math&amp;gt; need not imply &amp;lt;math&amp;gt;M=M&#039;&amp;lt;/math&amp;gt;, apparently&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.  This must be an artifact of the fact that a circle is an extremely symmetric shape, so lots of non-identical transformations can still produce the same image of a circle. I think if we started out with a square, we would not have the same image if we just instead stretched and then did a rotation&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2728&amp;oldid=prev</id>
		<title>IssaRice at 08:09, 17 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2728&amp;oldid=prev"/>
		<updated>2020-01-17T08:09:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:09, 17 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &#039;&#039;wasn&#039;t&#039;&#039; orthogonal, then we could get an even more stretched out vector. the other piece that&#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&#039;(t). this tangent vector gets mapped to M(v&#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &quot;pull out&quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;.&amp;lt;ref group=note&amp;gt;&amp;lt;math&amp;gt;\frac{d}{dt} M(v(t)) = \lim_{h\to0} \frac{Mv(t+h) - Mv(t)}{h} = \lim_{h\to0} \frac1h M(v(t+h)-v(t)) = \lim_{h\to0}M(\frac1h (v(t+h)-v(t))) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &#039;&#039;wasn&#039;t&#039;&#039; orthogonal, then we could get an even more stretched out vector. the other piece that&#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&#039;(t). this tangent vector gets mapped to M(v&#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &quot;pull out&quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;.&amp;lt;ref group=note&amp;gt;&amp;lt;math&amp;gt;\frac{d}{dt} M(v(t)) = \lim_{h\to0} \frac{Mv(t+h) - Mv(t)}{h} = \lim_{h\to0} \frac1h M(v(t+h)-v(t)) = \lim_{h\to0}M(\frac1h (v(t+h)-v(t))) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. You &lt;/ins&gt;might also want to play around with an example like &amp;lt;math&amp;gt;\begin{pmatrix}3 &amp;amp; 0\\ &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0 &amp;amp; &lt;/ins&gt;4\end{pmatrix}&amp;lt;/math&amp;gt;, which takes (cos t, sin t) to (3cos t, 4sin t). The tangent at the original point is (-sin t, cos t). The tangent at the image is (-3sin t, 4cos t), which is equal to the image of the tangent.&amp;lt;/ref&amp;gt; what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point.&amp;lt;ref group=note&amp;gt; I think another way to see this is is via uniqueness of taylor approximations? like if v is a point on the circle, and u is the tangent vector at v, then points near v can be written as &amp;lt;math&amp;gt;v + \Delta u + O(\Delta^2)&amp;lt;/math&amp;gt;, and if we apply M to those points, we get &amp;lt;math&amp;gt;Mv + \Delta Mu + O(\Delta^2)&amp;lt;/math&amp;gt;. if taylor approximations are unique, then the fact that the term linear in &amp;lt;math&amp;gt;\Delta&amp;lt;/math&amp;gt; has Mu means that Mu must be tangent at Mv.&amp;lt;/ref&amp;gt; what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you &lt;/del&gt;might also want to play around with an example like &amp;lt;math&amp;gt;\begin{pmatrix}3 &amp;amp; 0\\4&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;amp;0&lt;/del&gt;\end{pmatrix}&amp;lt;/math&amp;gt;, which takes (cos t, sin t) to (3cos t, 4sin t). The tangent at the original point is (-sin t, cos t). The tangent at the image is (-3sin t, 4cos t), which is equal to the image of the tangent.&amp;lt;/ref&amp;gt; what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point.&amp;lt;ref group=note&amp;gt; I think another way to see this is is via uniqueness of taylor approximations? like if v is a point on the circle, and u is the tangent vector at v, then points near v can be written as &amp;lt;math&amp;gt;v + \Delta u + O(\Delta^2)&amp;lt;/math&amp;gt;, and if we apply M to those points, we get &amp;lt;math&amp;gt;Mv + \Delta Mu + O(\Delta^2)&amp;lt;/math&amp;gt;. if taylor approximations are unique, then the fact that the term linear in &amp;lt;math&amp;gt;\Delta&amp;lt;/math&amp;gt; has Mu means that Mu must be tangent at Mv.&amp;lt;/ref&amp;gt; what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** so how does (2) find the same basis without talking about &amp;quot;maximal stretching&amp;quot;? well, in (2), &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; &amp;#039;&amp;#039;means&amp;#039;&amp;#039; &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; -- it&amp;#039;s the positive operator that appears in polar decomposition. and if we stretch along orthogonal directions, then surely one of them has to be the maximal stretching direction (rather than, say, some direction intermediate between two of the axes).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** so how does (2) find the same basis without talking about &amp;quot;maximal stretching&amp;quot;? well, in (2), &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; &amp;#039;&amp;#039;means&amp;#039;&amp;#039; &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; -- it&amp;#039;s the positive operator that appears in polar decomposition. and if we stretch along orthogonal directions, then surely one of them has to be the maximal stretching direction (rather than, say, some direction intermediate between two of the axes).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2727&amp;oldid=prev</id>
		<title>IssaRice at 08:09, 17 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2727&amp;oldid=prev"/>
		<updated>2020-01-17T08:09:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:09, 17 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &#039;&#039;wasn&#039;t&#039;&#039; orthogonal, then we could get an even more stretched out vector. the other piece that&#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&#039;(t). this tangent vector gets mapped to M(v&#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &quot;pull out&quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;.&amp;lt;ref group=note&amp;gt;&amp;lt;math&amp;gt;\frac{d}{dt} M(v(t)) = \lim_{h\to0} \frac{Mv(t+h) - Mv(t)}{h} = \lim_{h\to0} \frac1h M(v(t+h)-v(t)) = \lim_{h\to0}M(\frac1h (v(t+h)-v(t))) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;&amp;lt;/ref&amp;gt; what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point.&amp;lt;ref group=note&amp;gt; I think another way to see this is is via uniqueness of taylor approximations? like if v is a point on the circle, and u is the tangent vector at v, then points near v can be written as &amp;lt;math&amp;gt;v + \Delta u + O(\Delta^2)&amp;lt;/math&amp;gt;, and if we apply M to those points, we get &amp;lt;math&amp;gt;Mv + \Delta Mu + O(\Delta^2)&amp;lt;/math&amp;gt;. if taylor approximations are unique, then the fact that the term linear in &amp;lt;math&amp;gt;\Delta&amp;lt;/math&amp;gt; has Mu means that Mu must be tangent at Mv.&amp;lt;/ref&amp;gt; what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &#039;&#039;wasn&#039;t&#039;&#039; orthogonal, then we could get an even more stretched out vector. the other piece that&#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&#039;(t). this tangent vector gets mapped to M(v&#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &quot;pull out&quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;.&amp;lt;ref group=note&amp;gt;&amp;lt;math&amp;gt;\frac{d}{dt} M(v(t)) = \lim_{h\to0} \frac{Mv(t+h) - Mv(t)}{h} = \lim_{h\to0} \frac1h M(v(t+h)-v(t)) = \lim_{h\to0}M(\frac1h (v(t+h)-v(t))) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you might also want to play around with an example like &amp;lt;math&amp;gt;\begin{pmatrix}3 &amp;amp; 0\\4&amp;amp;0\end{pmatrix}&amp;lt;/math&amp;gt;, which takes (cos t, sin t) to (3cos t, 4sin t). The tangent at the original point is (-sin t, cos t). The tangent at the image is (-3sin t, 4cos t), which is equal to the image of the tangent.&lt;/ins&gt;&amp;lt;/ref&amp;gt; what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point.&amp;lt;ref group=note&amp;gt; I think another way to see this is is via uniqueness of taylor approximations? like if v is a point on the circle, and u is the tangent vector at v, then points near v can be written as &amp;lt;math&amp;gt;v + \Delta u + O(\Delta^2)&amp;lt;/math&amp;gt;, and if we apply M to those points, we get &amp;lt;math&amp;gt;Mv + \Delta Mu + O(\Delta^2)&amp;lt;/math&amp;gt;. if taylor approximations are unique, then the fact that the term linear in &amp;lt;math&amp;gt;\Delta&amp;lt;/math&amp;gt; has Mu means that Mu must be tangent at Mv.&amp;lt;/ref&amp;gt; what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** so how does (2) find the same basis without talking about &amp;quot;maximal stretching&amp;quot;? well, in (2), &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; &amp;#039;&amp;#039;means&amp;#039;&amp;#039; &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; -- it&amp;#039;s the positive operator that appears in polar decomposition. and if we stretch along orthogonal directions, then surely one of them has to be the maximal stretching direction (rather than, say, some direction intermediate between two of the axes).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** so how does (2) find the same basis without talking about &amp;quot;maximal stretching&amp;quot;? well, in (2), &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; &amp;#039;&amp;#039;means&amp;#039;&amp;#039; &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; -- it&amp;#039;s the positive operator that appears in polar decomposition. and if we stretch along orthogonal directions, then surely one of them has to be the maximal stretching direction (rather than, say, some direction intermediate between two of the axes).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2726&amp;oldid=prev</id>
		<title>IssaRice at 07:21, 17 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2726&amp;oldid=prev"/>
		<updated>2020-01-17T07:21:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:21, 17 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* another question is: if we squish along the right orthogonal directions, can&#039;t we get away with not needing the extra rotation? after all, an ellipse can be squished into a circle without any rotations. what must be the case, although i can&#039;t explain it visually yet, is that if we do just that, then the standard basis vectors (yellow and pink) get mapped to the wrong spots.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* another question is: if we squish along the right orthogonal directions, can&#039;t we get away with not needing the extra rotation? after all, an ellipse can be squished into a circle without any rotations. what must be the case, although i can&#039;t explain it visually yet, is that if we do just that, then the standard basis vectors (yellow and pink) get mapped to the wrong spots&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. this &#039;&#039;might&#039;&#039; be an artifact of shears (the wikipedia SVD image is a shear). clearer to look at michael nielsen&#039;s [http://cognitivemedium.com/emm/images/tangent_definition.png image]. here, if we start with the ellipse and shrink along Ms and stretch along Mt, we do get a circle. but Ms doesn&#039;t go back to s, and Mt doesn&#039;t go back to t; for that we&#039;ll need the extra rotation&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2725&amp;oldid=prev</id>
		<title>IssaRice at 07:15, 17 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2725&amp;oldid=prev"/>
		<updated>2020-01-17T07:15:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:15, 17 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &amp;#039;&amp;#039;wasn&amp;#039;t&amp;#039;&amp;#039; orthogonal, then we could get an even more stretched out vector. the other piece that&amp;#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&amp;#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&amp;#039;(t). this tangent vector gets mapped to M(v&amp;#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &amp;quot;pull out&amp;quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;.&amp;lt;ref group=note&amp;gt;&amp;lt;math&amp;gt;\frac{d}{dt} M(v(t)) = \lim_{h\to0} \frac{Mv(t+h) - Mv(t)}{h} = \lim_{h\to0} \frac1h M(v(t+h)-v(t)) = \lim_{h\to0}M(\frac1h (v(t+h)-v(t))) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;&amp;lt;/ref&amp;gt; what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point.&amp;lt;ref group=note&amp;gt; I think another way to see this is is via uniqueness of taylor approximations? like if v is a point on the circle, and u is the tangent vector at v, then points near v can be written as &amp;lt;math&amp;gt;v + \Delta u + O(\Delta^2)&amp;lt;/math&amp;gt;, and if we apply M to those points, we get &amp;lt;math&amp;gt;Mv + \Delta Mu + O(\Delta^2)&amp;lt;/math&amp;gt;. if taylor approximations are unique, then the fact that the term linear in &amp;lt;math&amp;gt;\Delta&amp;lt;/math&amp;gt; has Mu means that Mu must be tangent at Mv.&amp;lt;/ref&amp;gt; what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &amp;#039;&amp;#039;wasn&amp;#039;t&amp;#039;&amp;#039; orthogonal, then we could get an even more stretched out vector. the other piece that&amp;#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&amp;#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&amp;#039;(t). this tangent vector gets mapped to M(v&amp;#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &amp;quot;pull out&amp;quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;.&amp;lt;ref group=note&amp;gt;&amp;lt;math&amp;gt;\frac{d}{dt} M(v(t)) = \lim_{h\to0} \frac{Mv(t+h) - Mv(t)}{h} = \lim_{h\to0} \frac1h M(v(t+h)-v(t)) = \lim_{h\to0}M(\frac1h (v(t+h)-v(t))) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;&amp;lt;/ref&amp;gt; what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point.&amp;lt;ref group=note&amp;gt; I think another way to see this is is via uniqueness of taylor approximations? like if v is a point on the circle, and u is the tangent vector at v, then points near v can be written as &amp;lt;math&amp;gt;v + \Delta u + O(\Delta^2)&amp;lt;/math&amp;gt;, and if we apply M to those points, we get &amp;lt;math&amp;gt;Mv + \Delta Mu + O(\Delta^2)&amp;lt;/math&amp;gt;. if taylor approximations are unique, then the fact that the term linear in &amp;lt;math&amp;gt;\Delta&amp;lt;/math&amp;gt; has Mu means that Mu must be tangent at Mv.&amp;lt;/ref&amp;gt; what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** so how does (2) find the same basis without talking about &quot;maximal stretching&quot;? well, in (2), &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; &#039;&#039;means&#039;&#039; &quot;stretch along well-chosen orthogonal directions&quot; -- it&#039;s the positive operator that appears in polar decomposition. and if we stretch along orthogonal directions, then surely one of them has to be the maximal stretching direction (rather than, say, some direction intermediate between two of the axes).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2724&amp;oldid=prev</id>
		<title>IssaRice at 07:09, 17 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2724&amp;oldid=prev"/>
		<updated>2020-01-17T07:09:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:09, 17 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&amp;#039;s the &amp;quot;stretch along well-chosen orthogonal directions&amp;quot; operation that we start out with in polar decomposition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &#039;&#039;wasn&#039;t&#039;&#039; orthogonal, then we could get an even more stretched out vector. the other piece that&#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&#039;(t). this tangent vector gets mapped to M(v&#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &quot;pull out&quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;. what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point. what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &#039;&#039;wasn&#039;t&#039;&#039; orthogonal, then we could get an even more stretched out vector. the other piece that&#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&#039;(t). this tangent vector gets mapped to M(v&#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &quot;pull out&quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref group=note&amp;gt;&amp;lt;math&amp;gt;\frac{d}{dt} M(v(t)) = \lim_{h\to0} \frac{Mv(t+h) - Mv(t)}{h} = \lim_{h\to0} \frac1h M(v(t+h)-v(t)) = \lim_{h\to0}M(\frac1h (v(t+h)-v(t))) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;&amp;lt;/ref&amp;gt; &lt;/ins&gt;what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref group=note&amp;gt; I think another way to see this is is via uniqueness of taylor approximations? like if v is a point on the circle, and u is the tangent vector at v, then points near v can be written as &amp;lt;math&amp;gt;v + \Delta u + O(\Delta^2)&amp;lt;/math&amp;gt;, and if we apply M to those points, we get &amp;lt;math&amp;gt;Mv + \Delta Mu + O(\Delta^2)&amp;lt;/math&amp;gt;. if taylor approximations are unique, then the fact that the term linear in &amp;lt;math&amp;gt;\Delta&amp;lt;/math&amp;gt; has Mu means that Mu must be tangent at Mv.&amp;lt;/ref&amp;gt; &lt;/ins&gt;what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* https://machinelearning.subwiki.org/wiki/User:IssaRice/Linear_algebra/Classification_of_operators -- performing SVD on some nicer operators allows you to skip some of the steps, resulting in a simpler decomposition.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* https://machinelearning.subwiki.org/wiki/User:IssaRice/Linear_algebra/Classification_of_operators -- performing SVD on some nicer operators allows you to skip some of the steps, resulting in a simpler decomposition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Footnotes==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;references group=&quot;note&quot;/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2723&amp;oldid=prev</id>
		<title>IssaRice at 06:57, 17 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2723&amp;oldid=prev"/>
		<updated>2020-01-17T06:57:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:57, 17 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* another question is: if we squish along the right orthogonal directions, can&#039;t we get away with not needing the extra rotation? after all, an ellipse can be squished into a circle without any rotations. what must be the case, although i can&#039;t explain it visually yet, is that if we do just that, then the standard basis vectors (yellow and pink) get mapped to the wrong spots.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [https://math.stackexchange.com/questions/2899052/singular-value-decomposition-reconciling-the-maximal-stretching-and-spectral my old question]:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** what is this &amp;lt;math&amp;gt;\sqrt{T^*T}&amp;lt;/math&amp;gt; that axler keeps talking about? that&#039;s the &quot;stretch along well-chosen orthogonal directions&quot; operation that we start out with in polar decomposition.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** for proof (1), see [http://cognitivemedium.com/emm/emm.html michael nielsen]. basically, the maximal stretching direction has a tangent vector (on the ellipse) that is orthogonal to it, because if it &#039;&#039;wasn&#039;t&#039;&#039; orthogonal, then we could get an even more stretched out vector. the other piece that&#039;s required is that linear maps preserve tangency. i.e. if v(t) is a parametrization of a circle, and M is a matrix, then M(v(t)) traces out an ellipse as t varies. (i&#039;m using t as a parameter even though nielsen uses it as a vector. seriously, who the heck uses t for a vector??) the tangent vector on the circle at v(t) is v&#039;(t). this tangent vector gets mapped to M(v&#039;(t)). the tangent vector at M(v(t)) on the ellipse is &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t))&amp;lt;/math&amp;gt;. now, by linearity of M and the definition of the derivative, we can basically &quot;pull out&quot; the M and see that &amp;lt;math display=inline&amp;gt;\frac{d}{dt} M(v(t)) = M(\frac{d}{dt} v(t))&amp;lt;/math&amp;gt;. what this means is that if you have a point on the circle and its tangent, then you map both of them under M, then the tangent of the image of the point is the image of the tangent at the point. what this implies is that for our maximal stretch vector, since the tangent on the circle is orthogonal, the image of that tangent is also a tangent at the new place on the ellipse, and we already know that the tangent is orthogonal for the maximal stretch vector.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==See also==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* https://machinelearning.subwiki.org/wiki/User:IssaRice/Linear_algebra/Classification_of_operators -- performing SVD on some nicer operators allows you to skip some of the steps, resulting in a simpler decomposition.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* https://machinelearning.subwiki.org/wiki/User:IssaRice/Linear_algebra/Classification_of_operators -- performing SVD on some nicer operators allows you to skip some of the steps, resulting in a simpler decomposition.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2722&amp;oldid=prev</id>
		<title>IssaRice at 06:03, 17 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2722&amp;oldid=prev"/>
		<updated>2020-01-17T06:03:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:03, 17 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==See also==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://machinelearning.subwiki.org/wiki/User:IssaRice/Linear_algebra/Classification_of_operators -- performing SVD on some nicer operators allows you to skip some of the steps, resulting in a simpler decomposition.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
	<entry>
		<id>https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2712&amp;oldid=prev</id>
		<title>IssaRice at 10:41, 15 January 2020</title>
		<link rel="alternate" type="text/html" href="https://machinelearning.subwiki.org/w/index.php?title=User:IssaRice/Linear_algebra/Singular_value_decomposition&amp;diff=2712&amp;oldid=prev"/>
		<updated>2020-01-15T10:41:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:41, 15 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* one question one might have is, to get the behavior of M in the linked image, can&amp;#039;t we just squish along the standard basis directions, then rotate? surely this would produce the same ellipse. And it would seem that we&amp;#039;ve only required one rotation, instead of the two in SVD. That&amp;#039;s true, but pay attention to where the basis vectors went. A squish followed by a rotation... would preserve orthogonality. But in M it is clear that these basis vectors are no longer orthogonal. So even though we have faithfully preserved the ellipse, we don&amp;#039;t have the same transformation. i.e. &amp;lt;math&amp;gt;M(\{v : \|v\| = 1\}) = M&amp;#039;(\{v : \|v\|=1\})&amp;lt;/math&amp;gt; need not imply &amp;lt;math&amp;gt;M=M&amp;#039;&amp;lt;/math&amp;gt;, apparently.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* one question one might have is, to get the behavior of M in the linked image, can&amp;#039;t we just squish along the standard basis directions, then rotate? surely this would produce the same ellipse. And it would seem that we&amp;#039;ve only required one rotation, instead of the two in SVD. That&amp;#039;s true, but pay attention to where the basis vectors went. A squish followed by a rotation... would preserve orthogonality. But in M it is clear that these basis vectors are no longer orthogonal. So even though we have faithfully preserved the ellipse, we don&amp;#039;t have the same transformation. i.e. &amp;lt;math&amp;gt;M(\{v : \|v\| = 1\}) = M&amp;#039;(\{v : \|v\|=1\})&amp;lt;/math&amp;gt; need not imply &amp;lt;math&amp;gt;M=M&amp;#039;&amp;lt;/math&amp;gt;, apparently.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* (polar decomposition.) In the linked image, look at the axes of the final ellipse, labeled &amp;lt;math&amp;gt;\sigma_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\sigma_2&amp;lt;/math&amp;gt;. Call those vectors &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2&amp;lt;/math&amp;gt;. So &amp;lt;math&amp;gt;u_1 = Mv_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;u_2 = Mv_2&amp;lt;/math&amp;gt; for some vectors v1 and v2. Now, backtrack along the arrows, starting from the final image, going through U, then Sigma, then V*. Pay attention to what it does to u1 and u2. In each step, the vectors remain orthogonal. So not only are u1 and u2 orthogonal, we must have that v1 and v2 are orthogonal. So now, couldn&amp;#039;t we say, &amp;quot;take v1 and v2, squish along those axes. then rotate.&amp;quot; That seems to have required only one rotation. What&amp;#039;s going on? The problem is that a diagonal matrix can only stretch along the standard basis. So &amp;quot;stretch along v1 and v2&amp;quot; can&amp;#039;t be done via a diagonal matrix (unless v1 and v2 are the standard basis, of course). Let&amp;#039;s say &amp;lt;math&amp;gt;M = RD&amp;lt;/math&amp;gt; where R is a rotation, and D is &amp;quot;stretch along v1 and v2&amp;quot;. So &amp;lt;math&amp;gt;Dv_1 = \lambda_1 v_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Dv_2 = \lambda_2 v_2&amp;lt;/math&amp;gt;. Now, D is not a diagonal matrix, when viewed in the standard basis, but it &amp;#039;&amp;#039;is&amp;#039;&amp;#039; a diagonal matrix when viewed under the basis v1,v2. To get to the standard basis, we need to convert the incoming vectors like v1 into e1, then apply the stretching, then reconvert back to v1. In other words, we want to show &amp;lt;math&amp;gt;D = U\Sigma U^*&amp;lt;/math&amp;gt; for some diagonal matrix Sigma and orthogonal U. Just take &amp;lt;math&amp;gt;Ue_j=v_j&amp;lt;/math&amp;gt;, i.e. the matrix U is the matrix with columns [v1 v2]. Now, &amp;lt;math&amp;gt;Dv_j = U\Sigma U^* v_j = U\Sigma e_j = U\lambda_j e_j = \lambda_j v_j&amp;lt;/math&amp;gt; just like we wanted. So &amp;lt;math&amp;gt;M = RD = RU\Sigma U^*&amp;lt;/math&amp;gt;. Of course, RU is another orthogonal matrix, so we recover SVD.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** also, if any of the entries of &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt; are negative, we could have chosen a different v vector that would have made it positive, so we can assume that D is a positive operator (positive semi-definite).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>IssaRice</name></author>
	</entry>
</feed>