更改

跳到导航 跳到搜索
删除3字节 、 2024年10月21日 (星期一)
第474行: 第474行:  
我们可以利用以下观察结果计算奇异值分解:
 
我们可以利用以下观察结果计算奇异值分解:
   −
1. <math>\mathbf{M}</math>的左奇异向量是<math>\mathbf{M}\mathbf{M}^{*}</math>的一组正交归一化特征向量。
+
* <math>\mathbf{M}</math>的左奇异向量是<math>\mathbf{M}\mathbf{M}^{*}</math>的一组正交归一化特征向量。
2. <math>\mathbf{M}</math>的右奇异向量是<math>\mathbf{M}^{*}\mathbf{M}</math>的一组正交归一化特征向量。
+
* <math>\mathbf{M}</math>的右奇异向量是<math>\mathbf{M}^{*}\mathbf{M}</math>的一组正交归一化特征向量。
3. <math>\mathbf{M}</math>的非零奇异值(在<math>\mathbf{\Sigma}</math>的对角线上)等于<math>\mathbf{M}^{*}\mathbf{M}</math>和<math>\mathbf{M}\mathbf{M}^{*}</math>的非零特征值的平方根。
+
* <math>\mathbf{M}</math>的非零奇异值(在<math>\mathbf{\Sigma}</math>的对角线上)等于<math>\mathbf{M}^{*}\mathbf{M}</math>和<math>\mathbf{M}\mathbf{M}^{*}</math>的非零特征值的平方根。
    
通常,我们通过两步计算矩阵<math>\mathbf{M}</math>的SVD。第一步将矩阵简化为双对角矩阵(bidiagonal matrix),假设<math>m \geq n</math>,需要<math>O(mn^{2})</math>次浮点运算(flop)。第二步计算双对角矩阵的SVD,只能通过迭代方法完成。实际上,计算到机器精度就足够了。如果将这个精度视为常数,第二步需要<math>O(n)</math>次迭代,每次迭代花费<math>O(n)</math>次flop。因此,第一步耗时更长,总体成本为<math>O(mn^{2})</math>次flop(Trefethen & Bau III 1997,第31讲)。
 
通常,我们通过两步计算矩阵<math>\mathbf{M}</math>的SVD。第一步将矩阵简化为双对角矩阵(bidiagonal matrix),假设<math>m \geq n</math>,需要<math>O(mn^{2})</math>次浮点运算(flop)。第二步计算双对角矩阵的SVD,只能通过迭代方法完成。实际上,计算到机器精度就足够了。如果将这个精度视为常数,第二步需要<math>O(n)</math>次迭代,每次迭代花费<math>O(n)</math>次flop。因此,第一步耗时更长,总体成本为<math>O(mn^{2})</math>次flop(Trefethen & Bau III 1997,第31讲)。
2,469

个编辑

导航菜单