From 69c9a87f35cc985b35d2fb8e2d140c28412449a7 Mon Sep 17 00:00:00 2001 From: Samuel Grayson Date: Fri, 6 Mar 2026 00:41:30 -0600 Subject: [PATCH 1/3] Add example to Householder --- .../Householder Similarity Transforms.ipynb | 21 ++++++++++++++++++- .../Householder Similarity Transforms.ipynb | 21 ++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb b/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb index 4d2d1b4..235d11f 100644 --- a/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb +++ b/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb @@ -115,7 +115,26 @@ "\n", "## Starting in the second row\n", "\n", - "To avoid this, we define the Householder transformation to annihilate elements below the first subdiagonal. That way, the first transformation does not affect the first row when applied from the left, and consequently does not affect the first column when applied for the right, preserving the zeros we've annihilated." + "To avoid this, we define the Householder transformation to annihilate elements below the first subdiagonal. That way, the first transformation does not affect the first row when applied from the left, and consequently does not affect the first column when applied for the right, preserving the zeros we've annihilated.\n", + "\n", + "For example, we would build the first Householder reflection, $H_1$, such that:\n", + "\n", + "$$\n", + "H_1 \\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ A_{21} & * & * & \\cdots \\\\ A_{31} & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "$$\n", + "\n", + "where * can be any real number.\n", + "\n", + "In the first column, the first element is unchanged, the second element is changed to some number, and every subsequent element is changed to zero. In order to leave $A_{11}$ unchanged, the first row of $H_1$ should be the first basis vector as a row, $e_1^T$. Therefore the first column of the $H_1^T$ is $e_1$. Thus, the product, $(H_1 A) \\cdot H_1^T$, will not affect the first column of $H_1 A$.\n", + "\n", + "$$\n", + "(H_1A) H_1^T = \n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "\\begin{pmatrix}1 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "$$\n", + "\n" ] }, { diff --git a/demos/eigenvalue/Householder Similarity Transforms.ipynb b/demos/eigenvalue/Householder Similarity Transforms.ipynb index b4967da..ef93e3c 100644 --- a/demos/eigenvalue/Householder Similarity Transforms.ipynb +++ b/demos/eigenvalue/Householder Similarity Transforms.ipynb @@ -178,7 +178,26 @@ "\n", "## Starting in the second row\n", "\n", - "To avoid this, we define the Householder transformation to annihilate elements below the first subdiagonal. That way, the first transformation does not affect the first row when applied from the left, and consequently does not affect the first column when applied for the right, preserving the zeros we've annihilated." + "To avoid this, we define the Householder transformation to annihilate elements below the first subdiagonal. That way, the first transformation does not affect the first row when applied from the left, and consequently does not affect the first column when applied for the right, preserving the zeros we've annihilated.\n", + "\n", + "For example, we would build the first Householder reflection, $H_1$, such that:\n", + "\n", + "$$\n", + "H_1 \\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ A_{21} & * & * & \\cdots \\\\ A_{31} & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "$$\n", + "\n", + "where * can be any real number.\n", + "\n", + "In the first column, the first element is unchanged, the second element is changed to some number, and every subsequent element is changed to zero. In order to leave $A_{11}$ unchanged, the first row of $H_1$ should be the first basis vector as a row, $e_1^T$. Therefore the first column of the $H_1^T$ is $e_1$. Thus, the product, $(H_1 A) \\cdot H_1^T$, will not affect the first column of $H_1 A$.\n", + "\n", + "$$\n", + "(H_1A) H_1^T = \n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "\\begin{pmatrix}1 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "$$\n", + "\n" ] }, { From 5097287e4379b7661cb173e8006df5633b67cbf9 Mon Sep 17 00:00:00 2001 From: Samuel Grayson Date: Mon, 9 Mar 2026 16:17:12 -0500 Subject: [PATCH 2/3] Improve explanation --- .../Householder Similarity Transforms.ipynb | 18 +++++++++++------- .../Householder Similarity Transforms.ipynb | 18 +++++++++++------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb b/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb index 235d11f..c374fe8 100644 --- a/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb +++ b/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb @@ -120,19 +120,23 @@ "For example, we would build the first Householder reflection, $H_1$, such that:\n", "\n", "$$\n", - "H_1 \\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ A_{21} & * & * & \\cdots \\\\ A_{31} & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", - "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "H_1 \\begin{pmatrix}A_{11} \\\\ A_{21} \\\\ A_{31} \\\\ \\vdots & \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} \\\\ 0 \\\\ \\vdots \\end{pmatrix}\n", + "$$\n", + "In order to preserve the first element, the first _row_ of $H_1$ should be $e_1^T$. Let's apply this to $H_1 A$,\n", + "$$\n", + "H_1 A = \n", + "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ * & * & * & \\cdots \\\\ * & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} \\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ A_{21} & A_{22} & A_{23} & \\cdots \\\\ A_{31} & A_{32} & A_{33} & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", "\n", - "where * can be any real number.\n", - "\n", - "In the first column, the first element is unchanged, the second element is changed to some number, and every subsequent element is changed to zero. In order to leave $A_{11}$ unchanged, the first row of $H_1$ should be the first basis vector as a row, $e_1^T$. Therefore the first column of the $H_1^T$ is $e_1$. Thus, the product, $(H_1 A) \\cdot H_1^T$, will not affect the first column of $H_1 A$.\n", + "where * can be any real number; everything outside of the first row and column could change. Now taking $(H_1A) \\cdot H_1^T$, we have\n", "\n", "$$\n", "(H_1A) H_1^T = \n", - "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "\\begin{pmatrix}1 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", - "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", "\n" ] diff --git a/demos/eigenvalue/Householder Similarity Transforms.ipynb b/demos/eigenvalue/Householder Similarity Transforms.ipynb index ef93e3c..14344c8 100644 --- a/demos/eigenvalue/Householder Similarity Transforms.ipynb +++ b/demos/eigenvalue/Householder Similarity Transforms.ipynb @@ -183,19 +183,23 @@ "For example, we would build the first Householder reflection, $H_1$, such that:\n", "\n", "$$\n", - "H_1 \\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ A_{21} & * & * & \\cdots \\\\ A_{31} & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", - "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "H_1 \\begin{pmatrix}A_{11} \\\\ A_{21} \\\\ A_{31} \\\\ \\vdots & \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} \\\\ 0 \\\\ \\vdots \\end{pmatrix}\n", + "$$\n", + "In order to preserve the first element, the first _row_ of $H_1$ should be $e_1^T$. Let's apply this to $H_1 A$,\n", + "$$\n", + "H_1 A = \n", + "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ * & * & * & \\cdots \\\\ * & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} \\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ A_{21} & A_{22} & A_{23} & \\cdots \\\\ A_{31} & A_{32} & A_{33} & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", "\n", - "where * can be any real number.\n", - "\n", - "In the first column, the first element is unchanged, the second element is changed to some number, and every subsequent element is changed to zero. In order to leave $A_{11}$ unchanged, the first row of $H_1$ should be the first basis vector as a row, $e_1^T$. Therefore the first column of the $H_1^T$ is $e_1$. Thus, the product, $(H_1 A) \\cdot H_1^T$, will not affect the first column of $H_1 A$.\n", + "where * can be any real number; everything outside of the first row and column could change. Now taking $(H_1A) \\cdot H_1^T$, we have\n", "\n", "$$\n", "(H_1A) H_1^T = \n", - "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "\\begin{pmatrix}1 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", - "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", + "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", "\n" ] From 6fc3554c49496ad0c98538e41061ca946a0ca7cf Mon Sep 17 00:00:00 2001 From: Samuel Grayson Date: Tue, 10 Mar 2026 14:45:35 -0500 Subject: [PATCH 3/3] Show first row/col of H_1 --- .../eigenvalue/Householder Similarity Transforms.ipynb | 9 +++++---- demos/eigenvalue/Householder Similarity Transforms.ipynb | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb b/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb index c374fe8..0eb6563 100644 --- a/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb +++ b/cleared-demos/eigenvalue/Householder Similarity Transforms.ipynb @@ -123,10 +123,10 @@ "H_1 \\begin{pmatrix}A_{11} \\\\ A_{21} \\\\ A_{31} \\\\ \\vdots & \\end{pmatrix} = \n", "\\begin{pmatrix}A_{11} \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} \\\\ 0 \\\\ \\vdots \\end{pmatrix}\n", "$$\n", - "In order to preserve the first element, the first _row_ of $H_1$ should be $e_1^T$. Let's apply this to $H_1 A$,\n", + "In order to preserve the first element, the first _row_ of $H_1$ should be $e_1^T$. Because all the rows are orthogonal, every subsequent row has a zero in the first index. Let's apply this to $H_1 A$,\n", "$$\n", "H_1 A = \n", - "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ * & * & * & \\cdots \\\\ * & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} \\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ A_{21} & A_{22} & A_{23} & \\cdots \\\\ A_{31} & A_{32} & A_{33} & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} \\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ A_{21} & A_{22} & A_{23} & \\cdots \\\\ A_{31} & A_{32} & A_{33} & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", "\n", @@ -135,10 +135,11 @@ "$$\n", "(H_1A) H_1^T = \n", "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", - "\\begin{pmatrix}1 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", - "\n" + "\n", + "i.e., the first column of $H_1AH_1^T$ is preserved from $H_1A$, and everything else can change." ] }, { diff --git a/demos/eigenvalue/Householder Similarity Transforms.ipynb b/demos/eigenvalue/Householder Similarity Transforms.ipynb index 14344c8..3d57e0d 100644 --- a/demos/eigenvalue/Householder Similarity Transforms.ipynb +++ b/demos/eigenvalue/Householder Similarity Transforms.ipynb @@ -186,10 +186,10 @@ "H_1 \\begin{pmatrix}A_{11} \\\\ A_{21} \\\\ A_{31} \\\\ \\vdots & \\end{pmatrix} = \n", "\\begin{pmatrix}A_{11} \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} \\\\ 0 \\\\ \\vdots \\end{pmatrix}\n", "$$\n", - "In order to preserve the first element, the first _row_ of $H_1$ should be $e_1^T$. Let's apply this to $H_1 A$,\n", + "In order to preserve the first element, the first _row_ of $H_1$ should be $e_1^T$. Because all the rows are orthogonal, every subsequent row has a zero in the first index. Let's apply this to $H_1 A$,\n", "$$\n", "H_1 A = \n", - "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ * & * & * & \\cdots \\\\ * & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} \\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ A_{21} & A_{22} & A_{23} & \\cdots \\\\ A_{31} & A_{32} & A_{33} & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} \\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ A_{21} & A_{22} & A_{23} & \\cdots \\\\ A_{31} & A_{32} & A_{33} & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 + \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", "\n", @@ -198,10 +198,11 @@ "$$\n", "(H_1A) H_1^T = \n", "\\begin{pmatrix}A_{11} & A_{12} & A_{13} & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", - "\\begin{pmatrix}1 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", + "\\begin{pmatrix}1 & 0 & 0 & \\cdots \\\\ 0 & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix} = \n", "\\begin{pmatrix}A_{11} & * & * & \\cdots \\\\ \\sqrt{A_{21}^2 + A_{31}^2 \\cdots} & * & * & \\cdots \\\\ 0 & * & * & \\cdots \\\\ \\vdots & \\vdots & \\vdots & \\ddots \\end{pmatrix}\n", "$$\n", - "\n" + "\n", + "i.e., the first column of $H_1AH_1^T$ is preserved from $H_1A$, and everything else can change." ] }, {