广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    如何通过matlab求解奇异值?

    来源:网络收集  点击:  时间:2024-02-19
    【导读】:
    矩形矩阵 A 的奇异值和对应的奇异向量分别为满足以下条件的标量 σ 以及一对向量 u 和 v其中 A H 是 A 的 Hermitian 转置。奇异向量 u 和 v 通常缩放至范数为 1。此外,如果 u 和 v 均为 A 的奇异向量,则 -u 和 -v 也为 A 的奇异向量。工具/原料more电脑matlab方法/步骤1/10分步阅读

    奇异值 σ 始终为非负实数,即使 A 为复数也是如此。对于对角矩阵 Σ 的对角线上的奇异值以及构成两个正交矩阵 U 和 V 的列的对应奇异向量,方程为

    2/10

    由于 U 和 V 均为单位矩阵,因此将第一个方程的右侧乘以 V H 会生成奇异值分解方程

    3/10

    m×n 矩阵的完整奇异值分解涉及 m×m U、 m×n Σ 以及 n×n V。换句话说,U 和 V 均为方阵,Σ 与 A的大小相同。如果 A 的行数远多于列数 (m n),则得到的 m×m 矩阵 U 为大型矩阵。但是,U 中的大多数列与 Σ 中的零相乘。在这种情况下,精简分解可通过生成一个 m×n U、一个 n×n Σ 以及相同的 V 来同时节省时间和存储空间:

    4/10

    特征值分解是分析矩阵(当矩形表示从向量空间到其自身的映射时)的合适工具,就像分析常微分方程一样。但是,奇异值分解是分析从一个向量空间到另一个向量空间(可能具有不同的维度)的映射的合适工具。大多数联立线性方程组都属于这第二类。

    如果 A 是方形的对称正定矩阵,则其特征值分解和奇异值分解相同。但是,当 A 偏离对称性和正定性时,这两种分解之间的差异就会增加。特别是,实矩阵的奇异值分解始终为实数,但非对称实矩阵的特征值分解可能为复数。

    对于示例矩阵

    5/10

    完整的奇异值分解为

    6/10

    可以验证 U*S*V 在舍入误差界限内是否等于 A。对于此类小问题,精简分解只是略小一些。

    7/10

    同样,U*S*V 在舍入误差界限内等于 A。

    如果矩阵 A 很大并且是稀疏矩阵,则使用 svd 来计算所有奇异值和向量在某些情况下可能会不太切合实际。例如,如果您只需了解几个最大的奇异值,则计算一个 5000×5000 稀疏矩阵的所有奇异值会带来大量额外工作。在只需要一部分奇异值和向量的情况下,svds 函数优先于 svd。

    对于一个密度约为 30% 的 1000×1000 随机稀疏矩阵,

    8/10

    最大的六个奇异值为

    S = svds(A)

    9/10

    此外,最小的六个奇异值为

    S = svds(A,6,smallest)

    10/10

    对于可作为满矩阵 full(A) 载入内存的较小矩阵,使用 svd(full(A)) 的速度可能仍旧快于使用 svds。但对于确实很大的稀疏矩阵,就有必要使用 svds。

    MATLAB
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_72267.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 13:30:41  耗时:0.029
    0.0288s