第三节 求矩阵全部特征值的 qr 方法 一、求矩阵全部特征值的 qr 方法

36
数数数数 数数数数 数数数 数数数数数数数数数 QR 数数 数数数数数数数数数 一、 QR 数数 60 数数数数数 QR 数数数数数数数数数数数数数数数数数数数数 数数数数数数数数数数数数数数数数数数数数数数数数数 数数数数数 一一 Q数 数数数数数数 R 数数数 数数数 R 数数数数数数数数数 数数数数数 数数 ,一。 1 1 QR QR ( 1,2, ). k k k k k k A QR k A RQ A A A 数数数数数数数数数数数数数 数数数数 数数数数 数数数数数数数数数 数数数数数数数 ), 数数数数数数 数数数数数数数数数数数

Upload: tacita

Post on 06-Feb-2016

233 views

Category:

Documents


0 download

DESCRIPTION

第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法. 60 年代出现的 QR 算法是目前计算中小型矩阵的全部特征值与特征向量的最有效方法。 理论依据: 任一非奇异实矩阵都可分解成一个正交矩阵 Q 和一个上三角矩阵 R 的乘积,而且当 R 的对角元符号取定时,分解是唯一的。. 可证,在一定条件下,基本 QR 方法产生的矩阵序列{ A k } “基本”收敛于一个上三角阵(或分块上三角阵)。即主对角线(或主对角线子块)及其以下元素均收敛,主对角线(或主对角线子块)以上元素可以不收敛。特别的,如果 A 是实对称阵,则{ A k } “基本”收敛于对角矩阵。. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

第三节 求矩阵全部特征值的 QR方法一、求矩阵全部特征值的 QR方法 60 年代出现的 QR算法是目前计算中小型矩阵的全部特征值与特征向量的最有效方法。 理论依据:任一非奇异实矩阵都可分解成一个正交矩阵 Q和一个上三角矩阵 R的乘积,而且当 R的对角元符号取定时,分解是唯一的。

1

1

QR QR

( 1, 2, ).

k k k

k k k

A Q Rk

A R Q

A A

A

方法的基本思想是利用矩阵的 分解通过迭代格式

将 化成相似的上三角阵(或分块上三角阵),从而求出矩阵 的全部特征值与特征向量。

Page 2: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

11 1 1 1 1

12 1 1 1 2

,

,

( 2

, 3,

)

k

A A Q R Q A R

A R Q Q AQ A A

A A k

由 即 。

于是 即 与 相似。同理可得, 。

故它们有相同的特征值。

可证,在一定条件下,基本 QR 方法产生的矩阵序列{ Ak } “基本”收敛于一个上三角阵(或分块上三角阵)。即主对角线(或主对角线子块)及其以下元素均收敛,主对角线(或主对角线子块)以上元素可以不收敛。特别的,如果 A是实对称阵,则{ Ak } “基本”收敛于对角矩阵。

Page 3: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

QR 方法的实际计算步骤

HouseholderA Hessenberg B 用 阵作正交相似变换

上第

阵一步

... ... ... ...

* :

:

:

:

*

1

k k k

Givenk k k

B Q RB

B R Q

用 变换产生迭代序列

第二步1

2

* *

*

n

Page 4: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

HouseholderA B

用 阵作正交相似变换

(对称阵) 三对角阵

*

*

*

Page 5: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

二、化一般矩阵为上 Hessenberg阵

11 12 1 1 1

21 22 2 1 2

32 33 3

1

1

( 2, 3, , ) ,

Househ

old

e

r

n n

n n

n

nn nn

ii

h h h h

h h h h

h h hH

h h

h i n

A

称形如

的矩阵为上海森堡(Hessenberg)阵。如果此对角线元 全不为零则称该矩阵为不可约的上Hessenberg矩阵。讨论用 变换将一般矩阵 相似变

换成Hessenberg阵

Page 6: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

1 1

1 1

1 11

1

,

1 0 0

0

0

1

Householder H H

H AH

H HH

H n Householder

首先,选取 矩阵 使得经 相似变换后的矩阵 的第一列中有尽可能多的零元素。

为此,应取 为如下形式

其中 为 阶 矩阵。

111 21 1

1 1 1 22 1

1 21 31 1 2 12 13 1( , , , ) , ( , , , ) ,

T

T Tn n

a a HH AH

H a H A H

a a a a a a a a

于是有

其中

Page 7: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

22 2

22

2

1 1 1 1

1 1

.

( ,

0)

0, , ,

2

n

n nn

T

a a

A

a a

H H a

H AH n

只要取 使得 就会使得变换后的矩阵 的第一列出现 个零元。

Page 8: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

2 2 1 1 2

2

1 2

2 2 2 1 1 2 2

1 0 0 0 * * * *

0 1 0 0 * * * *

0 0 * * *

* *0 0

2 2 , , ,

, .n n n

Householder

H H H AH H

H

n n Householder H H

H H H H AH H H H

H Hessenberg

同理,可构造如下列形式 矩阵

使得

*

如此进行 次,可以构造 个 矩阵使得

其中 为上 矩阵 A

H

。特别地,当 为实对称矩阵,则经过上述正交变换后, 变为三对角阵。

Page 9: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

12 2

1

5 2 2 2 3 2

1 0 5 2 2 2 2

0 2 1 0

0 2 4 1

2,

02

2,

( 2, 2) 2(1,0) ( 2 2, 2)

:

T T T

Householder A

A

Householder H H

u

用 变换将矩阵 化成上Hesse例

nberg阵。

求 矩阵 满: 足

Page 10: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

2

2

2

2 2 2 2 21 0 4 4 2 220 1 2 2 2 2 2

4 4 2 2

1 0 0 0

0 1 0 0

2 20 0

2 2

2 20 0

2 2

T

T

uuH I

u u

H

Page 11: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

2 1 1 2

1 0 0 05 2 2 2 3 20 1 0 0

1 0 5 2 2 2 22 20 0

2 2 0 2 1 0

2 2 0 2 4 10 02 2

1 0 0 0

5 2 5 10 1 0 0

1 0 3 22 2 0 0 0 2 2 32 20 0 1 22 2

0 02 2

H H H AH H

于是有

Page 12: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

  用 Household 方法对矩阵 A 作正交相似变换 , 使 A 相似与上 Hessenberg 阵,算法如下:

( 1) ( 1)1

11

2 21 1

1

1 1 1 1( 1)

1 1 2,

1,2, ..., 21

(1) ( )

( )( ( ) ) ,

( )(0, ...,0, , , ..., )

k k Tk

kn

k k k iki k

k k k k kk

k k k k k nk

k n

H I U U

sign a a

aU a a a

计算

1(2) kH A A计算

( 1)

11

( 1)

, 1, ,1

1 ( )

2 1, ,

nk

j l ljl kk

kij ij j i

j k k n

t u a

i k na a t u

()

( )

Page 13: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

( 1)

11

( 1)

1, ...,1

(1)

(2) 1, ...,

nk

i il ll kk

kij ij i j

i n

t a u

j k na a t u

1(3) kAH A计算

Page 14: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

三、上 Hessenberg阵的 QR分解

  对上 Hessenberg 阵只需要将其次对角线上的元素约化为零,用 Given 变换比用 Householde

r 变换更节省计算量。为此先介绍 Given 变换。

Page 15: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

,

1

1

cos sin

1

1

sin cos

1

1 ( )

i j

i

R

j

j i

n阶方阵

Givens称为平面旋转阵,或称为 变换阵。

定义

1、平面旋转阵 (Givens 变换阵 )

Page 16: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

1, , , ,1 , ,T Ti j i j i j i jR R I R R

Ri , j平面旋转阵 的() 平面旋转阵是非对称

质:

性的

正 。

,

,

2 Ti j

i j

R

R

() 也是平面旋转阵。(3)det( )=1

Page 17: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

1 , , ...,

R

x x x xi , j

T

1 2 n

平面旋转阵 的作用:

()将向量 = 的第j个分量约化为零。

,

cos sinsin cos

1, ..., ; ,

i j

i i j

j i j

k k

y R x

y x xy x xy x k n k i j,

若令 ,有

1 11,2

2 2

1

2

1 2

1 2

cos sin

sin coscos sin

sin cos

y xR

y x

x

x

x xx x

jy调整 ,可将 约化为零。

0 tan jj

i

xy

x 令 ,得

, , , ...,i jR x x x x xT

1 2 n左乘向量 = 只改变 的第i个分量和第j个分量。

jx

ix

Page 18: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

0 tan jj

i

xy

x 令 ,得

2 2

2 2

cos

sin

i i

i j

j j

i j

x xC

rx x

x xS

rx x

所以,取

2 2 , 0i i j i j jy Cx Sx r x x y 于是

, , ..., , , , ..., ,0, , ..., .i jR x x x r x x x xT

1 i -1 i+1 j -1 j+1 n=

jx

ix

Page 19: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

2 , , ...,x x x xT

1 2 n()将向量 = 的第i+1个分量到第n个分量约化为零。

2 2, 1 1, ..., , ,0, , ..., ,i i i iR x x x r x x r x x T

1 i -1 i+2 n=

, 2 , 1

2 2 21 2

, ..., , ,0,0, , ..., ,i i i i

i i i

R R x x x r x x

r x x x

T

1 i -1 i+3 n=

, , 2 , 1

2 2

, ..., , ,0, ...,0 ,i n i i i i

i n

R R R x x x r

r x x

T

1 i -1=

,

,

,

, ,

(3)

i j

i j

i

i

j i j

j

R A A

R A A

R

R

AR A

A

T

T

左乘 只改变 的第i,j行。右乘 只改

用 对矩阵 作变换得

变 的第i,j列。只改变 的第i,j行和

到的结

i,j列。

Page 20: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

2,1,4

,0,0 .

x x

r

T

T

已知向量 = ,试用Givens变换将 约

化为

(1) (1)2,1,4x x xT:记 = ,对 计解 算C和S。

1 2

2 2 2 21 2 1 2

2 1,

5 5

x xC S

x x x x

1,2

(1) (2)1,2

2 1 05 5

1 2 05 5

0 0 1

5,0,4T

R

R x x

Page 21: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

(2) 4,

21x S

5对 计算C和S, C=

21

(1)1,3 1,3

40

210 1 0 , 21,0,0

40

21

T

R R x

521

521

(2) 5,0,4T

x

Page 22: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

2、用 Givens 变换对上 Hessenberg阵作 QR分解

(1) (1) (1)11 12 1(1) (1) (1)21 22 2

(1) (1)1

1

n

n

nn nn

b b b

b b bB

b b

n Givens

B QR

对上Hessenberg阵 ,

通常用 个 变换阵可将它化成上三角矩阵,从而得到 的 分解式。

Page 23: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

(1)21

1 1

1 1

(2) (2) (2)1 12 13 1

(2) (2) (2)22 23 2(2) (2) (2)

1 232 33 3

(2) (2)1

0(

cos sin 0 0

sin cos 0 0

(1, 2) 0 0 1

1

(1, 2)

n

n

n

nn nn

b

R

r b b b

b b b

R B Bb b b

b b

具体步骤为:

设 否则进行下一步),

取旋转矩阵

(1) (1)(1) (1)11 21

1 1 1 11 211 1

cos , sin , .b b

r b br r

其中

Page 24: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

232

2 2

2 2

(3) (3) (3) (3)1 12 13 1 1 1

(3) (3) (3)2 23 2 1 2

(3) (3) (3)33 3 1 3

2 (3) (3)43 4 1

0(

1 0

cos sin

sin cos (3, 2)

1

1

(3

, 2)

n n

n n

n n

n

b

R

r b b b b

r b b b

b b bR B

b b

( )设 否则进行下一步),再取旋转矩阵

则 3(3)4

(3) (3)1

(2)(2)(2) 2 (2) 23222

2 2 2 22 322 2

cos , sin , ( ) ( ) .

n

nn nn

Bb

b b

bbr b b

r r

其中

Page 25: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

1

( ) ( ) ( ) ( )1 1 1 1 1 1 1

( ) ( ) ( )1 1 1 1 1

( ) ( ) ( )1

( ) ( ) ( )1 1 1 1

( ) ( )1

( 1, )

k k

k k k kk k n n

k k kk k k k n k n

k k kkk kn knk k k

k k k n k n

k knn nn

B R k k B

r b b b b

r b b b

b h h

b b b

b b

1k 假设上述过程已进行了 步,有

Page 26: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

( )1

( ) ( )1

( ) 2 ( ) 21

0,

1

1

( 1, ) cos sin

sin cos

1

cos , sin ,

( ) ( ) .

kk k

k k

k k

k kkk k k

k kk k

k kk kk k k

b

R k k

b b

r r

r b b

设 取

其中

Page 27: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

( 1) ( 1) ( 1)1 1 1 1 1

( 1) ( 1)1

( 1) ( 1) ( 1)11 1 1 1 1

( 1) ( 1) ( 1)2 1 2 1 2

( 1) ( 1)1

( 1, )

1

k k kk k n

k kk kk kn

k k kk kk k k n k n

k k kk k k n k n

k knn nn

r b b b

r b b

R k k B Bb h b

b h h

b b

n

于是

因此,最多做 次旋转变换,即( )

( ) ( ) ( )1 12 13 1

( ) ( )2 23 2

( )3 3

( , 1) ( 2, 1) (1,2)n

n n nn

n nnnn

n

H R n n R n n R B

r b b b

r b b

Rr b

r

Page 28: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

21 32 1

21 32 1

2

3

( , 1),( 2, 3, , )

4 ,

( )

T T T

nn

T T Tnn

R i i i n

H R R R R QR

Q R R R

n QR

O n

H RQ

QR

QR

因为 均为正交矩阵,故

其中 仍为正交矩阵。可算出完成这

一过程的运算量约为 比一般矩阵的 分解的运

算量 少一个数量级。

可证明 仍是上Hessenberg阵,于是可按上述步骤一直迭代下去,这样得到的 方法的运算量比基本QR

方法大为减少。需要说明的是,通常用方法计算特征值,然后用反幂法求其相应的特征

向量。

Page 29: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

2 2

5 3 2

6 4 4

4 4 5

(6,4) 6 4 (1,0) (6 52,4)

1 0 2

0 1

0.916025 0.277350 0.832050 0.5547002

0.277350 0.0839747 0.554700 0.832050

T T T

T

T

QR A

A

u

uuI

u u

用 方法求矩阵 的全部特征值。

首先将 化成上Hessenbe

例:

rg: 阵,取解

1

1 0 0

0 0.832050 0.554700

0 0.554700 0.832050

H

于是

Page 30: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

1 1

2 21 1

1 1 1

5 1.386750 3.328200

7.211102 1.230768 8.153840

0 0.153846 2.230767

, 5 ( 7.21102) 8.774964

cos 5 0.56980.

sin 0.821781

H H AH

H A H QR

B H r

r

即为与 相似的上Hessenberg阵。将 进行 分解,

取0.569803 0.821781 0

(2,1) 0.821781 0.569803 0

0 0 1

R

Page 31: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

1

2 22

2 2

2 2

8.774964 1.801596 8.597089

(2,1) 0 0.438310 1.911030

0 0.153846 2.230767

(0.438310) ( 0.153846) 0.464526,

cos 0.438310 0.943564,

sin 0.153846 0.331189

R B

r

r

r

于是

再取

1

1

1 0 0

(3, 2) 0 0.943564 0.331189

0 0.331189 0.943564

(3,2) (2,1)

8.774964 1.801596 8.597089

0 0.464526 2.541982

0 0 1.471953

R

R R B

R

于是

Page 32: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

1

2 1 1

0.569803 0.775403 0.272165

(2,1) (3,2) 0.821781 0.537643 0.188712

0 0.331189 0.943564

3.519482 4.925491 10.840117

0.381739 1.091627 2.310653

0 0.487495 1.388883

, 11

T TQ R R

B R Q

第一次迭代得

重复上述过程迭代 次

12

1 2 3

2.992032 1.0003853 12.013392

0.007496 2.004695 1.941971

0 0.000325 0.999895

2.992032, 2.004695, 0.999895 3,2,1.

0.007496

B

QR

精确值下三角非对角元的最大模为 。 方法“ 基本” 收敛较慢。

Page 33: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

算法:用 Givens 方法对上 Hessenberg 阵 A 作 正交分解 ,A=QR 。

, 1,2 2, 1,

, 1

, , 1,

1, , 1,

, 1

, , , 1

, 1 , , 1

Hessenberg ,1,2, ..., 1

(1) , , ,

(2)1,2...,

(3)1,2...,

i i i ii i i i

i i

i k i k i k

i k i k i kTi i

k i k i k i

k i k i k i

A Q Ii n

a ar a a c s

r rR A A

k na ca saa sa ca

QR Qk n

q cq sqq sa cq

A

输入上 阵

计算

计算

输出 为 ,Q上三角阵 为正交阵。

Page 34: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

算法:用 Givens 方法对上 Hessenberg 阵 A 作 正交分解 A=QR ,求 A 的全部特征值。

, 1,2 2, 1,

, 1

, , 1,

1, , 1,

, 1

, , , 1

, 1 , ,

Hessenberg ,1,2, ...1, 2, ..., 1

(1) , , ,

(2), ...,

(3)1,2...,

i i i ii i i i

i i

i k i k i k

i k i k i kTi i

k i k i k i

k i k i k i

Ami n

a ar a a c s

r rR A A

k i na ca saa sa ca

AR Ak n

a ca saa sa ca

输入上 阵

计算

计算

1

A输出 为上三角阵或拟上三角阵。

Page 35: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

四、原点平移加速的 QR方法

( )

1 2

( )1

1

1 2 1

QR

, ( ),

,

kk nn

kn n k nn n

n n

n

nn

B b A

B

B b k

理论分析和实际计算均表明, 方法产生的矩

阵序列 的右下角对角元素 最先与 的特征值接

近。可以证明,若矩阵 的特征值满足

则 的右下角对角元

且收敛速度是线性的,速率为 。

于是考虑原点平移的技巧来加快收敛速度,即

取位移 使其满足

,且1

1 ( )n

H I QR

QR

。这样,对 用 方

法就可以加快收敛速度,这就是带原点平移的 方法。

Page 36: 第三节 求矩阵全部特征值的 QR 方法 一、求矩阵全部特征值的 QR 方法

数值分析

数值分析

( )

( )

( 1)

1

2 1,2, , ,

(3)

.

kk k

kk k k

kk k k

k

Householder A

B

k H I QR

H I Q R

H R Q I

QR

具体步骤为:()用 变换将矩阵 化成上Hessenberg

阵 。

( )对 取位移 将 进行 分解,

选择合适的位移量 ,对非对称实矩阵的 方法可以达到二阶收敛