更改

跳到导航 跳到搜索
添加58字节 、 2024年10月25日 (星期五)
无编辑摘要
第290行: 第290行:  
在涉及线性或线性化系统的一般数值计算中,常用一个普遍常数来刻画问题的规律性或奇异性,即系统的"条件数" <math>\kappa := \sigma_{\text{max}} / \sigma_{\text{min}}</math>。这个数值通常决定了给定计算方案在这些系统上的误差率或收敛速度<ref>{{citation | last1=Edelman | first1=Alan | date=1992 |url=https://math.mit.edu/~edelman/publications/distribution_of_a_scaled.pdf| title="On the distribution of a scaled condition number" | journal=Math. Comp. | volume=58 | issue=197 | pages=185–190 | doi=10.1090/S0025-5718-1992-1106966-2 | bibcode=1992MaCom..58..185E}}</ref><ref>{{citation | last1=Shen | first1=Jianhong (Jackie) | date=2001 |url=https://linkinghub.elsevier.com/retrieve/pii/S0024379500003220| title="On the singular values of Gaussian random matrices" | journal=Linear Alg. Appl. | volume=326 | issue=1–3 | pages=1–14 | doi=10.1016/S0024-3795(00)00322-0}}</ref>。
 
在涉及线性或线性化系统的一般数值计算中,常用一个普遍常数来刻画问题的规律性或奇异性,即系统的"条件数" <math>\kappa := \sigma_{\text{max}} / \sigma_{\text{min}}</math>。这个数值通常决定了给定计算方案在这些系统上的误差率或收敛速度<ref>{{citation | last1=Edelman | first1=Alan | date=1992 |url=https://math.mit.edu/~edelman/publications/distribution_of_a_scaled.pdf| title="On the distribution of a scaled condition number" | journal=Math. Comp. | volume=58 | issue=197 | pages=185–190 | doi=10.1090/S0025-5718-1992-1106966-2 | bibcode=1992MaCom..58..185E}}</ref><ref>{{citation | last1=Shen | first1=Jianhong (Jackie) | date=2001 |url=https://linkinghub.elsevier.com/retrieve/pii/S0024379500003220| title="On the singular values of Gaussian random matrices" | journal=Linear Alg. Appl. | volume=326 | issue=1–3 | pages=1–14 | doi=10.1016/S0024-3795(00)00322-0}}</ref>。
   −
[[量子信息]](quantum information)领域中,SVD以Schmidt分解的形式发挥着关键作用。通过它,我们可以自然地分解两个量子系统的状态,从而提供了它们纠缠的充要条件:只要 <math>\mathbf{\Sigma}</math> 矩阵的秩大于1。
+
[[量子信息]](quantum information)领域中,SVD以Schmidt分解的形式发挥着关键作用。通过它,我们可以自然地分解两个量子系统的状态,从而提供了它们纠缠的充要条件:只要 <math>\mathbf{\Sigma}</math> 矩阵的秩大于1。
   −
数值天气预报(numerical weather prediction)中,SVD对大型矩阵也有重要应用。利用Lanczos方法,可以估算在给定初始前向时间段内,对中心数值天气预报线性增长最快的几个扰动。这些扰动实际上是该时间间隔内全球天气线性化传播子对应最大奇异值的奇异向量。在这种情况下,输出奇异向量代表整个天气系统。随后,这些扰动通过完整的非线性模型运行,生成集合预报(ensemble forecast),为当前中心预测周围的不确定性提供了处理方法。
+
数值天气预报(numerical weather prediction)中,SVD对大型矩阵也有重要应用。利用Lanczos方法,可以估算在给定初始前向时间段内,对中心数值天气预报线性增长最快的几个扰动。这些扰动实际上是该时间间隔内全球天气线性化传播子对应最大奇异值的奇异向量。在这种情况下,输出奇异向量代表整个天气系统。随后,这些扰动通过完整的非线性模型运行,生成集合预报(ensemble forecast),为当前中心预测周围的不确定性提供了处理方法。
    
降阶建模(reduced-order modeling)中也少不了SVD的身影。降阶建模旨在减少复杂系统中的自由度数量。研究人员将SVD与径向基函数(radial basis functions)结合,用于插值三维非稳态流问题的解<ref>{{citation | last1=Walton | first1=S. | last2=Hassan | first2=O. | last3=Morgan | first3=K. | date=2013 |url=https://linkinghub.elsevier.com/retrieve/pii/S0307904X13002771| title="Reduced order modelling for unsteady fluid flow using proper orthogonal decomposition and radial basis functions" | journal=Applied Mathematical Modelling | volume=37 | issue=20–21 | pages=8930–8945 | doi=10.1016/j.apm.2013.04.025}}</ref>。
 
降阶建模(reduced-order modeling)中也少不了SVD的身影。降阶建模旨在减少复杂系统中的自由度数量。研究人员将SVD与径向基函数(radial basis functions)结合,用于插值三维非稳态流问题的解<ref>{{citation | last1=Walton | first1=S. | last2=Hassan | first2=O. | last3=Morgan | first3=K. | date=2013 |url=https://linkinghub.elsevier.com/retrieve/pii/S0307904X13002771| title="Reduced order modelling for unsteady fluid flow using proper orthogonal decomposition and radial basis functions" | journal=Applied Mathematical Modelling | volume=37 | issue=20–21 | pages=8930–8945 | doi=10.1016/j.apm.2013.04.025}}</ref>。
第413行: 第413行:  
===基于变分表征(variational characterization)===
 
===基于变分表征(variational characterization)===
   −
奇异值可描述为 <math>\mathbf{u}^{\mathrm{T}}\mathbf{M}\mathbf{v}</math> 的最大值,这是 <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 在特定子空间上的函数。当达到这些最大值时, <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 的值就是奇异向量。
+
奇异值可描述为 <math>\mathbf{u}^{\mathrm{T}}\mathbf{M}\mathbf{v}</math> 的最大值,这是 <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 在特定子空间上的函数。当达到这些最大值时, <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 的值就是奇异向量。
   −
设 <math>\mathbf{M}</math> 为 <math>m\times n</math> 实矩阵。定义 <math>S^{k-1}</math> 为 <math>\mathbb{R}^{k}</math> 中的单位 <math>(k-1)</math>-球面,并令 <math>\sigma(\mathbf{u},\mathbf{v})=\mathbf{u}^{\operatorname{T}}\mathbf{M}\mathbf{v}</math>,其中 <math>\mathbf{u} \in S^{m-1}</math>, <math>\mathbf{v} \in S^{n-1}</math>。
+
设 <math>\mathbf{M}</math> 为 <math>m\times n</math> 实矩阵。定义 <math>S^{k-1}</math> 为 <math>\mathbb{R}^{k}</math> 中的单位 <math>(k-1)</math>-球面,并令 <math>\sigma(\mathbf{u},\mathbf{v})=\mathbf{u}^{\operatorname{T}}\mathbf{M}\mathbf{v}</math>,其中 <math>\mathbf{u} \in S^{m-1}</math><math>\mathbf{v} \in S^{n-1}</math>。
   −
考虑函数 <math>\sigma</math> 在 <math>S^{m-1}\times S^{n-1}</math> 上的限制。由于 <math>S^{m-1}</math> 和 <math>S^{n-1}</math> 都是紧集(compact sets),它们的乘积也是紧集。又因 <math>\sigma</math> 连续,它必在 <math>S^{m-1}</math> 中的某向量 <math>\mathbf{u}</math> 和 <math>S^{n-1}</math> 中的某向量 <math>\mathbf{v}</math> 处达到最大值。我们将这个最大值记为 <math>\sigma_1</math>,相应的向量记为 <math>\mathbf{u}_1</math> 和 <math>\mathbf{v}_1</math>。由于 <math>\sigma_1</math> 是 <math>\sigma(\mathbf{u},\mathbf{v})</math> 的最大值,它必为非负。若为负,改变 <math>\mathbf{u}_1</math> 或 <math>\mathbf{v}_1</math> 的符号就能使其变为正值,从而更大。
+
考虑函数 <math>\sigma</math> 在 <math>S^{m-1}\times S^{n-1}</math> 上的限制。由于 <math>S^{m-1}</math> 和 <math>S^{n-1}</math> 都是紧集(compact sets),它们的乘积也是紧集。又因 <math>\sigma</math> 连续,它必在 <math>S^{m-1}</math> 中的某向量 <math>\mathbf{u}</math> 和 <math>S^{n-1}</math> 中的某向量 <math>\mathbf{v}</math> 处达到最大值。我们将这个最大值记为 <math>\sigma_1</math>,相应的向量记为 <math>\mathbf{u}_1</math> 和 <math>\mathbf{v}_1</math>。由于 <math>\sigma_1</math> 是 <math>\sigma(\mathbf{u},\mathbf{v})</math> 的最大值,它必为非负。若为负,改变 <math>\mathbf{u}_1</math> 或 <math>\mathbf{v}_1</math> 的符号就能使其变为正值,从而更大。
   −
现在我们提出以下陈述: <math>\mathbf{u}_1</math> 和 <math>\mathbf{v}_1</math> 是 <math>\mathbf{M}</math> 的左右奇异向量,对应的奇异值为 <math>\sigma_1</math>。
+
现在我们提出以下陈述: <math>\mathbf{u}_1</math> 和 <math>\mathbf{v}_1</math> 是 <math>\mathbf{M}</math> 的左右奇异向量,对应的奇异值为 <math>\sigma_1</math>。
   −
证明如下:类似于特征值的情况,根据假设,这两个向量满足拉格朗日乘数方程:
+
证明如下:类似于特征值的情况,根据假设,这两个向量满足拉格朗日乘数方程:
    
<math>\nabla \sigma = \nabla \mathbf{u}^{\operatorname{T}}\mathbf{M}\mathbf{v} - \lambda_1 \cdot \nabla \mathbf{u}^{\operatorname{T}}\mathbf{u} - \lambda_2 \cdot \nabla \mathbf{v}^{\operatorname{T}}\mathbf{v}</math>
 
<math>\nabla \sigma = \nabla \mathbf{u}^{\operatorname{T}}\mathbf{M}\mathbf{v} - \lambda_1 \cdot \nabla \mathbf{u}^{\operatorname{T}}\mathbf{u} - \lambda_2 \cdot \nabla \mathbf{v}^{\operatorname{T}}\mathbf{v}</math>
   −
经过一些代数运算,我们得到:
+
经过一些代数运算,我们得到:
    
<math>\begin{aligned}
 
<math>\begin{aligned}
第432行: 第432行:  
\end{aligned}</math>
 
\end{aligned}</math>
   −
从左侧将第一个方程乘以 <math>\mathbf{u}_1^{\textrm{T}}</math>,第二个方程乘以 <math>\mathbf{v}_1^{\textrm{T}}</math>,并考虑到 <math>\|\mathbf{u}\| = \|\mathbf{v}\| = 1</math>,我们得到:
+
从左侧将第一个方程乘以 <math>\mathbf{u}_1^{\textrm{T}}</math>,第二个方程乘以 <math>\mathbf{v}_1^{\textrm{T}}</math>,并考虑到 <math>\|\mathbf{u}\| = \|\mathbf{v}\| = 1</math>,我们得到:
    
<math>\sigma_1 = 2\lambda_1 = 2\lambda_2.</math>
 
<math>\sigma_1 = 2\lambda_1 = 2\lambda_2.</math>
   −
将此代入上面的一对方程中,得:
+
将此代入上面的一对方程中,得:
    
<math>\begin{aligned}
 
<math>\begin{aligned}
第445行: 第445行:  
这就证明了该陈述。
 
这就证明了该陈述。
   −
要找到更多的奇异向量和奇异值,我们可以在正交于 <math>\mathbf{u}_1</math> 和 <math>\mathbf{v}_1</math> 的归一化 <math>\mathbf{u}</math> 和 <math>\mathbf{v}</math> 上最大化 <math>\sigma(\mathbf{u},\mathbf{v})</math>。
+
要找到更多的奇异向量和奇异值,我们可以在正交于 <math>\mathbf{u}_1</math> 和 <math>\mathbf{v}_1</math> 的归一化 <math>\mathbf{u}</math> 和 <math>\mathbf{v}</math> 上最大化 <math>\sigma(\mathbf{u},\mathbf{v})</math>。
    
从实数到复数的过渡与特征值的情况类似。
 
从实数到复数的过渡与特征值的情况类似。
第525行: 第525行:  
}}</ref>:
 
}}</ref>:
   −
这里<math>k = \min(m,n)</math>,矩阵<math>\mathbf{U}_k</math>和<math>\mathbf{V}_k</math>只包含<math>\mathbf{U}</math>和<math>\mathbf{V}</math>的前k列,<math>\mathbf{\Sigma}_k</math>只包含<math>\mathbf{\Sigma}</math>中的前k个奇异值。因此,矩阵<math>\mathbf{U}_k</math>为<math>m \times k</math>,<math>\mathbf{\Sigma}_k</math>为<math>k \times k</math>对角矩阵,<math>\mathbf{V}_k^*</math>为<math>k \times n</math>。
+
这里<math>k = \min(m,n)</math>,矩阵<math>\mathbf{U}_k</math>和<math>\mathbf{V}_k</math>只包含<math>\mathbf{U}</math>和<math>\mathbf{V}</math>的前k列,<math>\mathbf{\Sigma}_k</math>只包含<math>\mathbf{\Sigma}</math>中的前k个奇异值。因此,矩阵<math>\mathbf{U}_k</math>为<math>m \times k</math>,<math>\mathbf{\Sigma}_k</math>为<math>k \times k</math>对角矩阵,<math>\mathbf{V}_k^*</math>为<math>k \times n</math>。
    
当<math>k \ll \max(m,n)</math>时,薄SVD能大大节省空间和计算时间。它的计算通常先对<math>\mathbf{M}</math>做QR分解,这样能显著加快运算速度。
 
当<math>k \ll \max(m,n)</math>时,薄SVD能大大节省空间和计算时间。它的计算通常先对<math>\mathbf{M}</math>做QR分解,这样能显著加快运算速度。
第535行: 第535行:  
<math>\mathbf{M} = \mathbf{U}_r \mathbf{\Sigma}_r \mathbf{V}_r^*.</math>
 
<math>\mathbf{M} = \mathbf{U}_r \mathbf{\Sigma}_r \mathbf{V}_r^*.</math>
   −
我们只计算<math>\mathbf{U}</math>的r个列向量和<math>\mathbf{V}^*</math>的r个行向量,它们对应非零奇异值<math>\mathbf{\Sigma}_r</math>。<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>的其余向量则不计算。当<math>r \ll \min(m,n)</math>时,这比薄SVD更快更省。因此,矩阵<math>\mathbf{U}_r</math>为<math>m \times r</math>,<math>\mathbf{\Sigma}_r</math>为<math>r \times r</math>对角矩阵,<math>\mathbf{V}_r^*</math>为<math>r \times n</math>。
+
我们只计算<math>\mathbf{U}</math>的r个列向量和<math>\mathbf{V}^*</math>的r个行向量,它们对应非零奇异值<math>\mathbf{\Sigma}_r</math>。<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>的其余向量则不计算。当<math>r \ll \min(m,n)</math>时,这比薄SVD更快更省。因此,矩阵<math>\mathbf{U}_r</math>为<math>m \times r</math>,<math>\mathbf{\Sigma}_r</math>为<math>r \times r</math>对角矩阵,<math>\mathbf{V}_r^*</math>为<math>r \times n</math>。
    
===截断SVD (Truncated SVD)===
 
===截断SVD (Truncated SVD)===
   −
在很多应用中,非零奇异值的数量r很大,使得即使紧凑SVD也难以计算。这时我们可能需要截断最小的奇异值,只计算<math>t \ll r</math>个非零奇异值。截断SVD不再是原始矩阵<math>\mathbf{M}</math>的精确分解,而是提供了一个固定秩t的最优[[低秩矩阵近似]](low-rank matrix approximation)<math>\tilde{\mathbf{M}}</math>:
+
在很多应用中,非零奇异值的数量r很大,使得即使紧凑SVD也难以计算。这时我们可能需要截断最小的奇异值,只计算<math>t \ll r</math>个非零奇异值。截断SVD不再是原始矩阵<math>\mathbf{M}</math>的精确分解,而是提供了一个固定秩t的最优[[低秩矩阵近似]](low-rank matrix approximation)<math>\tilde{\mathbf{M}}</math>:
    
<math>\tilde{\mathbf{M}} = \mathbf{U}_t \mathbf{\Sigma}_t \mathbf{V}_t^*,</math>
 
<math>\tilde{\mathbf{M}} = \mathbf{U}_t \mathbf{\Sigma}_t \mathbf{V}_t^*,</math>
   −
这里矩阵<math>\mathbf{U}_t</math>为<math>m \times t</math>,<math>\mathbf{\Sigma}_t</math>为<math>t \times t</math>对角矩阵,<math>\mathbf{V}_t^*</math>为<math>t \times n</math>。我们只计算<math>\mathbf{U}</math>的t个列向量和<math>\mathbf{V}^*</math>的t个行向量,它们对应<math>\mathbf{\Sigma}_t</math>中最大的t个奇异值。当<math>t \ll r</math>时,这比紧凑SVD更快更省,但需要一套完全不同的数值求解器工具。
+
这里矩阵<math>\mathbf{U}_t</math>为<math>m \times t</math>,<math>\mathbf{\Sigma}_t</math>为<math>t \times t</math>对角矩阵,<math>\mathbf{V}_t^*</math>为<math>t \times n</math>。我们只计算<math>\mathbf{U}</math>的t个列向量和<math>\mathbf{V}^*</math>的t个行向量,它们对应<math>\mathbf{\Sigma}_t</math>中最大的t个奇异值。当<math>t \ll r</math>时,这比紧凑SVD更快更省,但需要一套完全不同的数值求解器工具。
    
在需要近似矩阵<math>\mathbf{M}</math>的Moore–Penrose逆的应用中,<math>\mathbf{M}</math>的最小奇异值是有意义的,但与最大奇异值相比,它们更难计算。
 
在需要近似矩阵<math>\mathbf{M}</math>的Moore–Penrose逆的应用中,<math>\mathbf{M}</math>的最小奇异值是有意义的,但与最大奇异值相比,它们更难计算。
2,464

个编辑

导航菜单