You are on page 1of 11

11.3.

1 The Jacobi Method

K k +1 = PkT K k Pk

(11.77)

PkT Pk = I

(11.78)
i th

Pk =

tan 2 =

j th column

cos
sin

sin
cos

2k ij( k )
k

(k )
ii

(k)
jj

for k ii( k ) k (jjk )

for k ii( k ) = k (jjk )

i th
j th row

(11.79)

(11.80)

(11.81)

The search for the largest element is time consuming, and it may be
preferable to simply carry out the Jacobi transformations
systematically, row-by-row or column-by-column, which is known as
the cyclic Jacobi procedure. Running once over all off-diagonal
elements is one sweep.
A procedure that has been used very effectively is the threshold Jacobi
method, in which the off-diagonal elements are tested sequentially,
namely row-by-row(or column-by-column), and a rotation is only
applied if the element is larger than the threshold for that sweep.

K l +1 =&
k ii( l +1) k ii( l )
k

( l +1 )
ii

(k ij( l +1 ) )2
( l +1 ) ( l +1 )
k ii k jj

(11.82)

10 s ;

i = 1, . . . , n

(11.83)

1/ 2

10 s ;

all i , j ; i < j

(11.84)

EXAMPLE 11.9
0
5 4 1
4 6 4 1

K =
1 4 6 4

1 4 5
0
For i=1, j=2 :

cos = 0.7497 ;

0.7497 0.6618
0.6618 0.7497
P1 =
0
0

0
0

sin = 0.6618

0 0
0 0
1 0

0 1

0
1.898 0.6618
1.469

0
9
.
531
3
.
661
0
.
7497

P1 KP1 =
1.898 3.661
6
4

5
4
0.6618 0.7497
For i=1, j=3 :
0.9398
0
P2 =
0.3416

cos = 0.9398 ;
0 0.3416 0
1
0
0
0 0.9398 0

0
0
1

sin = 0.3416

0
0.7444
0.7792 1.250

1.250
9
.
531
3
.
440
0
.
7497

T
T

P2 P1 KP1 P2 =

0
3.440 6.690
3.986

0.7444 0.7497 3.986


0.7046 0.6618 0.2561
0.6220 0.7497 0.2261
P1 P2 =
0.3416
0
0.9398

0
0
0
For i=1, j=4 :
0.9857
0
P3 =
0

0.1687

cos = 0.9857 ;

0
0
0

1
sin = 0.1687

0 0 0.1687

1 0
0

0 1
0

0 0 0.9857

0
0.6518 1.106 0.6725
1.106
9.531
3.440 0.9499
T
T
T

P3 P2 P1 KP1 P2 P3 =
0.6725 3.440
6.690
3.928

0
0.9499 3.928
5.127

0.6945 0.6618 0.2561 0.1189


0.6131 0.7497 0.2261 0.1050

P1 P2 P3 =
0.3367
0
0.9398 0.0576

0
0
0.9857
0.1687
For i=2, j=3 :

cos = 0.8312 ;

0
0
1
0 0.8312 0.5560
P4 =
0 0.5560 0.8312

0
0
0

0
0
0

sin = 0.5560

0
0.6518 0.5453 1.174

0.5453 11.83
0
2
.
974
T
T
T
T

P4 P3 P2 P1 KP1 P2 P3 P4 =
1.174
0
4.388 2.737

0
2.974 2.737 5.127

0.6945 0.4077 0.5808 0.1189


0.6131 0.7488
0.2289 0.1050

P1 P2 P3 P4 =
0.3367 0.5226 0.7812 0.0576

0
0
0.9857
0.1682
cos = 0.9349 ;

For i=2, j=4 :

sin = 0.3549

0 0.3549

1
0

0 0.9349

0
1
0 0.9349
P5 =
0
0

0 0.3549

0.5098 1.174 0.1935


0.6518
0.5098
12.96
0.9713
0
T
T
T
T
T

P5 P4 P3 P2 P1 KP1 P2 P3 P4 P5 =
1.174 0.9713 4.388 2.559

0
2.559 3.999
0.1935
0.6945 0.4233 0.5808 0.0335

0.6131 0.6628
0
.
2289
0
.
3639

P1 P2 P3 P4 P5 =
0.3367 0.5090
0.7812
0.1316

0
0.9213
0.1687 0.3498
cos = 0.7335 ;
1
0
P6 =
0

sin = 0.6797

1
0
0
0 0.7335 0.6797

0 0.6797 0.7335
0

=& P6T L P1T KP1 L P6


0.6518 0.5098 0.9926 0.6560

0.5098
12
.
96
0
.
7124
0
.
6602

=&

0.9926 0.7124 6.7596


0

0
1.6272
0.6560 0.6602
=& P1 L P6
0.6945 0.4233 0.4488 0.3702

0.6131 0.6628
0
.
4152
0
.
1113

=&
0.3367 0.5090 0.4835
0.6275

0.1687 0.3498 0.6264 0.6759


0.1563 0.3635 0.0063 0.0176

0.3635
13
.
08
0
.
0020
0

=&

0.0063 0.0020
6.845
0

0
0
1.190
0.0176
0.3875 0.3612 0.6017 0.5978
0.5884 0.6184
0.3710 0.3657

=&
0.6148 0.5843 0.3714
0.3777

0.3546 0.3816 0.6020 0.6052

0.1459

13.09

=&

6.854

1.910

0.3717 0.3717 0.6015 0.6015

0.6015 0.6015
0
.
3717
0
.
3717

=&
0.6015 0.6015 0.3717
0.3717

0.3717 0.3717 0.6015 0.6015

1 =& 0.1459 ;

2 =& 0.1910 ;

3 =& 6.854 ;

4 =& 13.09 ;

0.3717
0.6015

1 =&
0.6015

0.3717
0.6015
0.3717

2 =&
0.3717

0.6015
0.6015
0.3717

3 =&
0.3717

0.6015
0.3717
0.6015

4 =&
0.6015

0.3717

EXAMPLE 11.10
k11 o( ) o( )
K = o( ) k 22 o( )

o( ) o( ) k 33

k ij( k )
k ii( k ) k (jjk )

K 2 = P1T K 1 P1

o( )
P1 =
k11 k 22

o( )
k11 k 22
1
0

0
o( )
k11 + o( 2 )

K2 =
0
k 22 + o( 2 ) o( )
o( )
o( )
k 33
o( 2 )
0
k11 + o( 2 )

K 3 = o( 2 )
k 22 + o( 2 )
o( )

o( )
k 33 + o( 2 )
0
o( 2 )
o( 2 )
k11 + o( 2 )

0
K 4 = o( 2 )
k 22 + o( 2 )

2
2
o( )
0
k 33 + o( )
11.3.2 The Generalized Jacobi Method

i th j th column
1

Pk =

i th
j th row

(11.85)

k ii( k ) + (1 + )k ij( k ) + k (jjk ) = 0

(11.86)

m ii( k ) + (1 + )m ij( k ) + m (jjk ) = 0

(11.87)

k (jjk )
k ij( k )
k ii( k )
=
=
m ii( k ) m (jjk ) m ij( k )
k ii( k ) = k ii( k ) m ij( k ) m ii( k ) k ij( k )

k jj( k ) = k (jjk ) m ij( k ) m (jjk ) k ij( k )


k ( k ) = k ii( k ) m (jjk ) k (jjk ) m ii( k )
k ii( k )
=
;
x

(11.88)

k jj( k )

(11.89)

x
2

k (k )
k (k )
x=
+ sign( k ( k ) )
+ k ii( k ) k jj( k )
2
2

(11.90)

k (k )
+ k ii( k ) k jj( k ) > 0

2
k ii( k ) = m ii( k ) k ij( k ) ;

k jj( k ) = m (jjk ) k ij( k )

(i l + 1) (i l )
10 s ;
( l +1)
i
(i l ) =

k ii( l )
;
m ii( l )

( k ij( l +1 ) ) 2
( l +1 ) ( l +1 )
k ii k jj

i = 1, . . . , n

(i l + 1) =
1/ 2

(11.91)

(11.92)

k ii( l + 1)
m ii( l + 1)

( m ij( l +1 ) ) 2
s
10 ; ( l +1 ) ( l +1)
m ii m jj

(11.93)
1/ 2

10 s ;

all i , j ; i < j

(11.94)

TABLE 11.3 Summary of generalized Jacobi solution.


Operation

Number of

Calculation

Calculation of

k ij( k ) 2
(k )
ii

k k

coupling factors

(k )
jj

Operations

m ij( k ) 2

Required Storage

m ii( k ) m (jjk )

k ii( k ) = k ii( k ) m ij( k ) m ii( k ) k ij( k )

Transformation

k jj( k ) = k (jjk ) m ij( k ) m (jjk ) k ij( k )

to zero elements (i,j)

k ( k ) = k ii( k ) m (jjk ) k (jjk ) m ii( k )

Using symmetry

k (k )
k (k )
x=
+ ( sign k ( k ) )
+ k ii( k ) k jj( k )
2
2

M k +1 = PkT K k Pk

( P1 L Pk 1 ) Pk

eigenvectors

of matrices
n( n + 2)

k (k )
k ii( k )
, = jj
x
x

K k +1 = PkT K k Pk ,

Calculation of

4n + 12

Total for one sweep

2n

n2

3n 3 + 6n 2

2n 2 + 2n

EXAMPLE 11.11
k11
k
12

k12
=
k 22
1
P1 =
1

= ;

(a)

k11 + k 22 ( k11 k 22 ) 2 + 4k122


=
2k12
cos
P1 =
sin

sin
cos

1
P1 = cos
tan

tan
1

(b)

tan 2 =

2k12
k11 k 22

(c)

tan 2 =

2 tan
1 tan 2

(d)

k11 + k 22 ( k11 k 22 ) 2 + 4k122


tan =
2k12
EXAMPLE 11.12
1 1
K=
;

1
1

2 1
M =

1 2

k11(1 ) = 3 ;

k 22( 1 ) = 3 ;

k 12 = 0

x = 3;

= 1;

=1

(1)

1 1
P1 =

1 1
4 0
P1T KP1 =
;
0 0
0
=
;
2

2 0
P1T MP1 =

0 6

1
6
1
6

1
2
1

2 1
K=
;
1 2
k11(1 ) = 2 ;
x = 4 ;

2 0
M =

0 0
k 22( 1 ) = 0 ;

= 0;

k12 = 4
(1)

= 1/ 2

0
1
P1 =

1 / 2 1
3 / 2 0
P1T KP1 =
;
0
2

3 / 4

=
;

2 0
P1T MP1 =

0 0

= 2
1
2 2

You might also like