GSVD.

广义奇异值分解

描述

[u,v,x,c,s] = gsvd(a,b)返回酉矩阵V.,(通常)方矩阵X,和非负对角线矩阵CS.以便

a = u * c * x'b = v * s * x'c'* c + s'* s = i

一种B.必须具有相同数量的列,但可能有不同数量的行。如果一种m-通过-P.B.N-通过-P., 然后m-通过-mV.N-通过-NXP.-通过-问:Cm-通过-问:S.N-通过-问:,在哪里q = min(m + n,p)

非零元素S.总是在主要的对角线上。非零元素C在对角线上诊断(c,max(0,q-m))。如果m> = q,这是主要的对角线C

[u,v,x,c,s] = gsvd(a,b,0),在哪里一种m-通过-P.B.N-通过-P.,产生“经济大小”分解,从而产生V.最多P.列,和CS.最多P.行。广义奇异值是诊断(c)./ diag(s)只要m> = pn> = p

如果一种m-通过-P.B.N-通过-P., 然后m-通过-min(q,m)V.N-通过-min(q,n)XP.-通过-问:Cmin(q,m)-通过-问:S.min(q,n)-通过-问:,在哪里q = min(m + n,p)

Sigma = GSVD(A,B)返回广义奇异值的向量,sqrt(diag(c'* c)./ diag(s'* s))。什么时候B.是方形和非奇异,广义奇异值,GSVD(A,B),对应于普通的奇异值,SVD(A / B),但它们以相反的顺序排序。他们的互惠是GSVD(B,A)

矢量Sigma.有长度问:并且处于非减少秩序。

例子

例1

矩阵至少与列一样多行。

A = REPAPE(1:15,5,3)B =魔术(3)A = 1 6 11 11 11 12 3 8 13 4 9 14 5 10 15 B = 8 1 6 3 5 7 4 9 2

该声明

[u,v,x,c,s] = gsvd(a,b)

产生5×5正交,一个3×3正交V.,一个3×3的非奇妙X

X = 2.8284 -9.3761 -6.9346 -5.6569 -8.3071 -18.3301 2.8284 -7.2381 -29.7256

C = 0.0000 0 0 0 0.3155 0 0 0 0.9807 0 0 0 0 0 0 S = 1.0000 0 0 0 0.9489 0 0 0 0.1957

以来一种排名缺陷,第一对角线元素C是零。

经济大小的分解,

[u,v,x,c,s] = gsvd(a,b,0)

产生5×3矩阵和3×3矩阵C

u = 0.5700 -0.6457 -0.4279 -0.7455 -0.3296 -0.4375 -0.1702 -0.0135 -0.4470 0.2966 0.3026 -0.4566 0.0490 0.6187 -0.4661 C = 0.0000 0 0 0 0.3155 0 0 0 0.9807

另外三个矩阵,V.X,和S.与用完全分解获得的那些相同。

广义奇异值是对角线元件的比率CS.

Sigma = GSVD(A,B)Sigma = 0.0000 0.3325 5.0123

这些值是对普通奇异值的重新排序

SVD(A / B)ANS = 5.0123 0.3325 0.0000

例2.

矩阵至少与行一样多列。

a =重塑(1:15,3,5)b =魔术(5)a = 1 4 7 10 13 2 5 8 11 14 3 6 9 12 15b = 17 24 11 8 15 23 5 7 14 16 4 6 1320 22 10 12 19 21 3 11 11 18 25 2 9

该声明

[u,v,x,c,s] = gsvd(a,b)

产生3×3正交,一个5×5正交V.,一个毫无张X

C = 0 0 0.0000 0 0 0 0 0 0.0 0.0 0.0 0.7432 S = 1.0000 0 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 0.9990 0 0 0 0 0 0.6690

在这种情况下,非零对角线C诊断(C,2)。广义奇异值包括三个零。

Sigma = GSVD(A,B)Sigma = 0 0 0.0000 0.0439 1.1109

扭转的角色一种B.往复运动,产生两个无限性。

GSVD(B,A)ANS = 1.0E + 16 * 0.0000 0.0000 8.8252 INF INF

提示

  • 在这种制定中GSVD.,没有假设是关于个别级别的一种要么B.。矩阵X如果矩阵才有完整等级[a; b]有全级别。事实上,svd(x)Cond(x)等于SVD([A; B])Cond([a; b])。其他配方,例如。G. Golub和C.范贷款[1],要求null(a)null(b)不要重叠和替换X通过inv(x)要么inv(x')

    但请注意,何时null(a)null(b)do重叠,非零元素CS.没有唯一确定。

算法

广义奇异值分解使用描述的C-S分解[1]以及内置的SVD.QR.职能。C-S分解在本地功能中实现GSVD.程序文件。

参考资料

[1] Golub,Gene H.和Charles Van Loan,矩阵计算,第三版,约翰霍普金斯大学出版社,巴尔的摩,1996年

也可以看看

|

在R2006A之前介绍