SVD(奇异值分解)算法及其评估(15)

2020-12-24 22:54

SVD算法的全面介绍

Conergence

Criterion

1b

假定 j是由算法3.2.2计算得到,则当 j/ j tol时,把 j设置为0时。

假定 j是由算法3.2.2计算得到,当不需要求奇异向量时,则当

Criterion

2a

Conergence

0.5*tol* min j/(n 1)1/2

j n

2n

2

2

n 时,把 n设置为0时。

Conergence

Criterion

2b

2

2

1 时,把 2设置为0时。

假定 j是由算法3.2.2计算得到,当不需要求奇异向量时,则当

0.5*tol* min j/(n 1)1/2

j 1

22

既然是混合算法,那么就要有一个依据来判断什么时候采用什么算法比较有优势,令 max( i, i),现在就来给出这个选择算法的判断依据:

i

if(fudge*tol*(/ ) 采用零位移QR迭代法 else 采用传统的位移QR迭代法 endif

这个判据的依据是:判断传统的位移QR迭代法所引起的误差上限是否超过了最大所能容许的误差tol* ;而一般取因子fudge 1,这是为了在奇异值过于集中时,而少采用零位移的QR迭代法,一般来说取fudge min(n,m)。 实际的应用中,当上面判据已经决定采用传统的位移QR迭代法,还要经过一步判断以确认是否回到采用零位移QR迭代法的路上。具体原因如下:当计算得到所要采取的位移平方 2,知道Givens变换的旋转角的tangent值为

1 2 2 2

tan 2 2 1 2

1 1 1

1

2

所以当2 1 1时,这个旋转和零位移QR迭代法中的Givens旋转变换很接近,

1

而因为此时零位移QR迭代法更快更精确,所以我们将采用零位移QR迭代法。 当接近1的时候,几乎都采用传统的位tol是一个用户可选择的 tol 1的数,

移QR迭代法,这时计算得到的奇异值只有绝对精度;而当接近 时,则几乎都采用零位移QR迭代法,这将使算法失去立方收敛速度,而降低效率。 接着要考虑的是向下越界(Underflow),当从 n中减去一个数以使得它逼近0时,有可能造成向下越界(Underflow)。为防止向下越界,可以把 j和maxit* 相比较,


SVD(奇异值分解)算法及其评估(15).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电子技术第8章常用组合逻辑器件及其应用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: