主要内容

圣言会

奇异值分解

描述

例子

年代=圣言(一个)返回奇异值的矩阵一个在降序排列。

例子

(U,年代,V)=圣言(一个)执行一个矩阵的奇异值分解一个,这样一个= U * * V '

例子

(U,年代,V)=圣言(一个“经济学”)产生一个大包装分解——- - - - - -n矩阵一个:

  • m > n——只有第一个nU计算,年代n——- - - - - -n

  • m = n- - - - - -圣言(A,“经济学”)相当于圣言(A)

  • m < n——只有第一个V计算,年代——- - - - - -

大包装分解去除额外的行或列的零对角矩阵的奇异值,年代和列UV把那些零的表达式一个= U * * V '。删除这些零和列可以改善执行时间并减少存储需求的准确性的前提下分解。

例子

(U,年代,V)=圣言(一个,0)产生不同的大包装分解——- - - - - -n矩阵一个:

  • m > n- - - - - -圣言(0)相当于圣言(A,“经济学”)

  • m < = n- - - - - -圣言(0)相当于圣言(A)

例子

全部折叠

计算一个满秩矩阵的奇异值。

一个= [1 0 1;1 2 0;0 1 1]
一个=3×31 0 1 1 2 0 0 1 1
s =圣言(A)
s =3×12.4605 1.6996 0.2391

找到一个矩形矩阵的奇异值分解一个

= (1 - 2;3 4;5 6;7 8]
一个=4×21 2 3 4 5 6 7 8
[U, V] =圣言(A)
U =4×4-0.1525 -0.8226 -0.3945 -0.3800 -0.3499 -0.4214 0.2428 0.8007 -0.5474 -0.0201 0.6979 -0.4614 -0.7448 0.3812 -0.5462 0.0407
S =4×214.2691 0 0 0.6268 0 0 0 0
V =2×2-0.6414 0.7672 -0.7672 -0.6414

确定的关系一个= U * * V '在机器的精度。

U * * V”
ans =4×21.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000

计算一个矩形的完整和大包装的分解矩阵。

= (1 - 2;3 4;5 6;7 8]
一个=4×21 2 3 4 5 6 7 8
[U, V] =圣言(A)
U =4×4-0.1525 -0.8226 -0.3945 -0.3800 -0.3499 -0.4214 0.2428 0.8007 -0.5474 -0.0201 0.6979 -0.4614 -0.7448 0.3812 -0.5462 0.0407
S =4×214.2691 0 0 0.6268 0 0 0 0
V =2×2-0.6414 0.7672 -0.7672 -0.6414
(U, V) =圣言(,“经济学”)
U =4×2-0.1525 -0.8226 -0.3499 -0.4214 -0.5474 -0.0201 -0.7448 0.3812
S =2×214.2691 0 0 0.6268
V =2×2-0.6414 0.7672 -0.7672 -0.6414

一个4×2的矩阵,圣言(A,“经济学”)回报少列U和更少的行年代相比完全分解。额外的零行年代被排除在外,连同相应的列U与那些零相乘的表达式一个= U * * V '

利用奇异值分解的结果来确定等级,列空间和矩阵的零空间。

一个= [2 0 2;0 1 0;0 0 0)
一个=3×32 0 2 0 1 0 0 0 0
[U, V] =圣言(A)
U =3×31 0 0 0 1 0 0 0 1
S =3×32.8284 1.0000 0 0 0 0 0 0 0
V =3×30.7071 0.7071 1.0000 -0.7071 0.7071 0 0 0 0

计算排名使用非零奇异值的数量。

s =诊断接头(年代);rank_A = nnz (s)
rank_A = 2

计算的列空间的标准正交基一个使用的列U对应于非零奇异值。

column_basis = U(:逻辑(s))
column_basis =3×21 0 0 1 0 0

计算的零空间的标准正交基一个使用的列V对应于奇异值等于零。

null_basis = V (:, ~)
null_basis =3×1-0.7071 0 0.7071

的函数排名,奥尔特,提供便捷的方法来计算这些量。

输入参数

全部折叠

输入矩阵。一个可以是正方形或长方形的大小。

数据类型:|
复数的支持:金宝app是的

输出参数

全部折叠

奇异值,作为一个列向量返回。奇异值非负实数列在减少。

左奇异向量,作为一个矩阵的列返回。

  • 对于一个——- - - - - -n矩阵一个m > n,经济分解圣言(A,“经济学”)圣言(0)只计算第一nU。在这种情况下,列的U是正交的,U是一个——- - - - - -n矩阵满足 U H U = n

  • 完全分解,圣言(A)返回U作为一个——- - - - - -酉矩阵满足 U U H = U H U = 。的列U对应于非零奇异值形成的一组标准正交基向量的范围一个

不同的机器和MATLAB版本®仍然可以产生不同的奇异向量数值准确。对应的列UV可以翻转他们的迹象,因为这并不影响表达式的值一个= U * * V '

奇异值,返回为一个对角矩阵。的对角元素年代以减少顺序都是非负的奇异值。的大小年代如下:

  • 对于一个——- - - - - -n矩阵一个,经济分解圣言(A,“经济学”)返回年代作为一个方阵min ([m, n])

  • 完全分解,圣言(A)返回年代同样的大小一个

  • 如果m > n,然后圣言(0)返回年代作为一个方阵min ([m, n])

  • 如果m < n,然后圣言(0)返回年代同样的大小一个

右奇异向量,作为一个矩阵的列返回。

  • 对于一个——- - - - - -n矩阵一个m < n,经济分解圣言(A,“经济学”)只计算第一V。在这种情况下,列的V是正交的,V是一个n——- - - - - -矩阵满足 V H V =

  • 完全分解,圣言(A)返回V作为一个n——- - - - - -n酉矩阵满足 V V H = V H V = n 。的列V对应于非零奇异值形成的一组标准正交基向量的零空间一个

不同的机器和MATLAB版本仍然可以产生不同的奇异向量数值准确。对应的列UV可以翻转他们的迹象,因为这并不影响表达式的值一个= U * * V '

扩展功能

之前介绍过的R2006a