Tải bản đầy đủ (.doc) (29 trang)

Hệ phương trình đại số tuyến tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (796.34 KB, 29 trang )

GIẢI ĐÚNG, GẦN ĐÚNG HỆ PHƯƠNG TRÌNH
ĐẠI SỐ TUYẾN TÍNH
1. MỤC ĐÍCH
Cho hệ phương trình đại số tuyến tính
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
(1.1) Ax = b

n n
n n
n n nn n n
a x a x a x b
a x a x a x b
a x a x a x b
+ + + =


+ + + =





+ + + =

L
L
L
(1.2)
Nếu detA



0 thì hệ (1) là hệ Crame có nghiệm duy nhất:
i
det A
det A
1,2
i
i
x
i n


= =




=

( ) ( )
1
1
1
1 1
i i n
n
i i in i
a a
+ +
∆ = − ∆ + + − ∆

trong đó
j
i

là định thức cấp n – 1 bỏ đi hàng i cột j của

Khi n lớn thì khối lượng tính toán sẽ rất lớn. Để giảm nhẹ khối lượng tính
toán ta có 2 phương pháp giải: giải đúng và giải gần đúng:
+) Phương pháp giải đúng: là phương pháp cho lời giải sau một số hữu hạn
bước. Phương pháp này thường để giải các hệ kích thước nhỏ với (A, b)
cho đúng
+) Phương pháp giải gần đúng: là các phương pháp lặp cho nghiệm xấp xỉ
( )
m
x
dần tới nghiệm đúng khi
m → ∞
. Đối với các hệ có kích thước lớn và
các số liệu cho gần đúng thì phương pháp lặp có lợi hơn.
2. CÁC PHƯƠNG PHÁP GIẢI ĐÚNG
2.1 Phương pháp khử Gauss
1
HPT
11 1 12 2 1 1 1
21 1 22 2 2 2 1
1 1 2 2 1

n n n
n n n
n n nn n nn

a x a x a x a
a x a x a x a
a x a x a x a
+
+
+
+ + + =


+ + + =




+ + + =

L
L
L
(1.3)
Khử Gauss
1 12 2 1 1 1
2 2 2 1
1


(1.3)

n n n
n n n

n nn
x b x b x b
x b x b
x b
+
+
+
+ + + =


+ + =





=

Dùng phương pháp thế ngược ta tìm được:
1 1
, , ,
n n
x x x

+) Cụ thể: với n = 4
Xét hệ pt:
11 1 12 2 13 3 14 4 15
21 1 22 2 23 3 24 4 25
31 1 32 2 33 3 34 4 35
41 1 42 2 43 3 44 4 45

(1)
(2)
(3)
(4)
a x a x a x a x a
a x a x a x a x a
a x a x a x a x a
a x a x a x a x a
+ + + =


+ + + =


+ + + =


+ + + =

(1.4)
- Bước 1: Khử
1
x
ở 3 phương trình (2), (3), (4): giả sử a
11


0 chia 2 vế
của (1) cho a
11

ta có:
1 12 2 13 3 14 4 15
(1')x b x b x b x b+ + + =

trong đó
1
11
2,5
j
ij
a
b j
a
= =
Lấy phương trình (2) của hệ (1.3) trừ đi pt
21
(1').a
Lấy phương trình (3) của hệ (1.3) trừ đi pt
31
(1').a
Lấy phương trình (4) của hệ (1.3) trừ đi pt
41
(1').a
Ta có hệ:
2
22 23 24 25
32 33 34 35
42 43 44 45
1 1 1 1
2 3 4

1 1 1 1
2 3 4
1 1 1 1
2 3 4
(1)
(2)
(3)
a x a x a x a
a x a x a x a
a x a x a x a

+ + =


+ + =


+ + =


(1.5)
trong đó
1
1 1
. 2,3,4 2,3,4,5
ij j i
ij
a a b a i j= − = =
- Bước 2: Khử
2

x
trong hệ (1.4). Giả sử
22
1
0a ≠
chia 2 vế phương
trình (1) của hệ (1.5) cho
22
1
a
ta được:
2 23 3 24 4 25
(1.6)x b x b x b+ + =

Trong đó
1
2
2
1
22
2,3,4
j
j
a
b j
a
= =
Khử
2
x

bằng cách: pt(2) của hệ (1.5) – pt(1.6).
1
32
a
pt(3) của hệ (1.5) – pt(1.6).
1
42
a
ta được hệ:
33 34 34
43 44 45
2 2 2
3 4
2 2 2
3 4
(1)
(2)
a x a x a
a x a x a

+ =


+ =


(1.7)
trong đó:
2
2 1 1

2
. 3,4 3,4,5
ij i
j
ij
a a b a i j= − = =
- Bước 3: Khử
3
x
Giả sử
2
33
0a ≠
. Chia 2 vế phương trình (1) của hệ (1.7) cho
2
33
a
ta
được:
3 34 4 35
x b x b+ =
(1.8) trong đó
2
3
3
2
32
4,5
j
j

a
b j
a
= =
Lấy phương trình (2) của hệ (1.7) – pt(1.8).
2
43
a
ta có:
3 3
44 4 45
.a x a=

trong đó:
3 2 2
4 4 3 43
. 4,5
j j j
a a b a j= − =
3
45
4 45
3
44
a
x b
a
⇒ = =
3
Vậy ta nhận được hệ:

1 12 2 13 3 14 4 15
2 23 3 24 4 25
3 34 4 35
4 45
x b x b x b x b
x b x b x b
x b x b
x b
+ + + =


+ + =


+ =


=

*) Nhận xét:
- Vậy đối với hệ n phương trình, ta thực hiện n – 1 bước, khối lượng tính
toán là
2
( 6 1)
3
n
n n+ −
. Giảm nhiều so với giải bằng phương pháp định thức
- Ưu điểm: thuật toán đơn giản, độ phức tạp thấp
- Nhược điểm: không thực hiện được khi trong các phần tử dẫn

1 1
11 22
; ; ;
n
nn
a a a

có một phần tử bằng 0 hoặc khi phần tử dẫn xấp xỉ bằng 0
thì sai số rất lớn.
*) Ví dụ 1: Giải các hệ phương trình
a)
1 2 3
1 2 3
1 2 3
2 3 1
2 3 2
3 2 3
x x x
x x x
x x x
+ + =


+ + =


+ + =

b)
1 3 4 5

1 2 3 4
1 2 3 4 5
1 2 3 4 5
1 2 4 5
3
2 2 9 2
3 8 4 2
6 16 5 3
4 2 2
x x x x
x x x x
x x x x x
x x x x x
x x x x
− + − = −


+ + − =


− + − − = −


+ + − − = −

 + + + = −

Giải
a)
4

1
x
2
x
3
x
Hệ số tự do
1 2 3 1
2 1 3 2
3 2 1 3 - 2d
1
+ d
2

1 2 3 1 - 3d
1
+ d
3

0 -3 -3 0
0 -4 -8 0 Chia 2 vế cho -3
1 2 3 1 4d
2
+ d
3

0 1 1 0
0 0 -4 0
Hay ta có hệ:
1 2 3

2 3
3
1
2
3
2 3 1
0
4 0
1
0
3
x x x
x x
x
x
x
x
+ + =


+ =


− =

=


⇔ =



=

Vậy nghiệm của hệ phương trình là:
(1;0;0)
b)
1
x
2
x
3
x
4
x
5
x
Hệ số tự do
1 0 -1 1 -1 -3
2 2 1 -9 0 2
3 -1 1 -8 -4 -2
6 1 1 1-6 -5 -3
1 1 0 4 2 -2
1 0 -1 1 -1 -3
0 2 3 -11 2 8
0 -1 4 -5 -1 7
0 1 7 -22 1 15
0 1 1 3 3 1
1 0 -1 1 -1 -3
0 0 1 -17 -4 6
0 0 5 -2 2 8

0 0 6 -25 -2 14
5
0 1 1 3 3 1
1 0 -1 1 -1 -3
0 1 1 3 3 1
0 0 1 -17 -4 6
0 0 0 83 22 -22
0 0 0 77 22 -22
1 0 -1 1 -1 -3
0 1 1 3 3 1
0 0 1 -17 -4 6
0 0 0 83 22 -22
0 0 0 77 0 0
4
5
3
2
1
0
1
2
2
2
x
x
x
x
x
=



= −


⇒ =


=

= −


Vậy nghiệm của hệ phương trình là: (0; -1; 2; 2; -2)
6
2.2 Phương pháp Khaletsky
Cho hệ phương trình:
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
(1.1) Ax = b

n n
n n
n n nn n n
a x a x a x b
a x a x a x b
a x a x a x b
+ + + =



+ + + =





+ + + =

L
L
L
(1.2)
- Bước 1 : Tách ma trận A thành tích 2 ma trận: A = B.C trong đó:
11
21 22
1 2
0 0
0
B


nn
n n
b
b b
b b b
 
 ÷
 ÷
 ÷

 ÷
 ÷
 
=
12 13 1
23 2
1
0 1
C

0 0 1
n
n
c c c
c c
 
 ÷
 ÷
 ÷
 ÷
 ÷
 
=
- Bước 2 : Giải hệ Ax = b

(B.C)x = b

B(Cx) = b

By = b

Cx = y






- Bước 3 : +) By = b
11
1
1
21 22
2
2
1 2
0 0
0


n
n
nn
n n
b
y
b
b b
y
b
y

b
b b b
 
 
 
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 
 
 
⇔ =
M
M
11 1 1
21 1 22 2 2
1 1 2 2



n n nn n n
b y b
b y b y b
b y b y b y b
=


+ =





+ + + =

dùng phép thế thuận
1 2

n
y y y⇒ ⇒ ⇒ ⇒
+) Cx = y
12 13 1
1 1
2 2
23 2
1
0 1

0 0 1

n
n
n n
c c c
x y
x y
c c
x y
 
   
 ÷
 ÷  ÷
 ÷
 ÷  ÷
 ÷
 ÷  ÷
 ÷
 ÷  ÷
 ÷  ÷
 ÷
   
 
⇔ =
M M
7
1 12 2 1 1
2 2 2




n
n
n
n
n n
x c x c x y
x c x y
x y







+ + + =
+ + =

=
Theo phép thế ngược
1 1

n
n
x x x

⇒ ⇒ ⇒ ⇒
*) Cách tính
;
ij ij

b c
+) Tính
ij
b
: ta có A = B.C
1
n
ij ik kj
k
a b c
=
⇒ =

1 1 2 2 1 1

ij i j i j ij jj ij j j in nj
a b c b c b c b c b c
+ +
⇔ = + + + + + +
Do
1
0 (i > j)
0
1 (i = j)
ij j j nj
c c c
+

= ⇒ = = =



1
1
j
ij ij ik kj
k
b a b c

=
⇒ = −

+) Tính
ij
c
:
1 1 2 2 1 1
1

n
ij ik kj i j i j ij jj ij j j in nj
k
a b c b c b c b c b c b c
+ +
=
= = + + + + + +

Do
0
ij
b =

nếu j > i
1 2
0
ii ii in
b b b
+ +
⇒ = = = =
1
1
1
i
ij ij ik kj
k
ii
c a b c
b

=
 
⇒ = −
 ÷
 

*) Ví dụ 2: Giải hệ phương trình sau bằng phương pháp Khaletsky
1 2 3 4
1 2 3 4
1 3 4
1 2 3 3
3 2 6
5 3 4 12

2 1
5 3 3 3
x x x x
x x x x
x x x
x x x x
+ − + =


− + + − = −


+ − =


− + − =

Giải
8
11
12 13 14
21 22
23 24
31 32 33
34
41 42 43 44
0 0 0
1
3 1 1 2
0 0

0 1
5 1 3 4
A
2 0 1 1
0
0 0 1
1 5 3 3
0 0 0 1
b
c c c
b b
c c
b b b
c
b b b b
 
 
 
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷

 ÷
 ÷
 ÷
 
 
 

− −
= =

− −
12
11 11 12
11
21 21 13
31 31 14
41 41
1
3
3
1
5
3
2
2
3
1
a
b a c
a

b a c
b a c
b a
= = = =
= = − = −
= = =
= =
22 22 21 12 23 23 21 13
22
32 32 31 12 24 24 21 14
22
42 42 41 12
8 1 1
( )
3 2
2 1 1
( )
3 4
16
3
b a b c c a b c
b
b a b c c a b c
b
b a b c
= − = = − =
= − = − = − = −
= − = −
33 33 31 13 32 23 34 34 31 13 32 24
33

43 43 41 13 42 23
44 44 41 14 42 24 43 34
1 5
( ) 2 ( ( ))
4
( ) 6
5
( )
2
b a b c b c c a b c b c
b
b a b c b c
b a b c b c b c
= − + = = − + = −
= − + =
= − + + =
Vậy
3 0 0 0
1 1 2
1
3 3 3
8
5 0 0
1 1
3
0 1
A
2 4
2
2 2 0

5
3
0 0 1
4
16 5
1 6
0 0 0 1
3 2
 
 

 ÷
 ÷
 ÷
 ÷

 ÷
 ÷

 ÷
 ÷
=

 ÷
 ÷
 ÷
 ÷

 ÷
 ÷


 ÷
 ÷
 
 
= B.C
Ax = b
By = b
Cx = y




9
By = b
1
1
1 2
2
1 2 3
3
4
1 2 3 4
3 6
2
8
3
5 12
3
4

2
7
2 2 1
3
4
16 5
3
6 3
3 3
y
y
y y
y
y y y
y
y
y y y y
=

=




− + = −

= −

 
⇔ ⇔

 
− + =
 
= −
 
 
=
− + + =



Cx = y
1 2 3 4
1
2
2 3 4
3
3 4
4
4
1 1 2
2
3 3 3
1
1 1 3
1
2 4 4
2
5 7
3

4 4
3
x x x x
x
x
x x x
x
x x
x
x

+ − + =

=




= −
+ − = −
 
⇔ ⇔
 
=
 
− = −
 
=



=


2.3 Phương pháp Cholesky (Phương pháp căn bậc hai)
Nội dung: giải hệ Ax = b với điều kiện A là ma trận đối xứng (
T
A A=
).
Ta biểu diễn A dưới dạng:
T
A = S .S

trong đó:
( )
x
11 12 1
22 2

0
S

0 0
n
n
ij
n n
nn
s s s
s s
s

s
 
 ÷
 ÷
= =
 ÷
 ÷
 
; s
ij
= 0 nếu i > j
- Bước 1: xác định S sao cho A = S
T
.S
+)
11 11
s a=
;
1 1
1
11 11
( 1)
j j
j
a a
s j
a s
= = >
+)
1

2
1
(2 )
i
ii ii ki
k
s a s i n

=
= − ≤ ≤


1
1
( )
0 ( )
i
ij kj ki
k
ij
ii
a s s
i j
s
s
i j

=





<
=



>


- Bước 2: giải Ax = b

S
T
.S.x = b
10

T
S .y = b
S.x = y




+) S
T
.y = b
11
12 22
1 2

1
1
2
2
0 0
0


n n nn
n
n
s
s s
s s s
y
b
y
b
y
b
 
 
 
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷


 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 ÷
 
 
 
=
M
M
11 1 1
12 1 22 2 2
1 1 2 2


n n nn n n
s y b
s y s y b
s y s y s y b
=


+ =






+ + + =

Giải theo phép thế thuận
1 2
, , ,
n
y y y⇒
+)
S.x = y

12 13 1
1 1
2 2
23 2
1
0 1

0 0 1
n
n
n n
c c c
x y
x y
c c
x y
 
   

 ÷
 ÷  ÷
 ÷
 ÷  ÷
 ÷
 ÷  ÷
 ÷
 ÷  ÷
 ÷  ÷
 ÷
   
 
⇔ =
M M
11
22
1 12 2 1 1
2 2 2



nn
n
n
n
n
n n
s x s x s x y
s x s x y
s x y








+ + + =
+ + =

=
Theo phép thế ngược
1 1

n
n
x x x

⇒ ⇒ ⇒ ⇒
*) Ví dụ 3: Ggiải hệ phương trình
1 2 3
1 2 3
1 2 3
2 1
2 5 1
3 1
x x x
x x x
x x x
+ + =



+ + =


+ + =

Giải
A =
1 2 1
2 5 1
1 1 3
 
 ÷
 ÷
 ÷
 


A là ma trận đối xứng
11
Ta biểu diễn A dưới dạng A = S
T
.S
11 12 13
22 23
33
S 0
0 0
s s s

s s
s
 
 ÷
=
 ÷
 ÷
 
+)
11 11
s a=

11 11
1s a⇒ = =

1 1
1
11 11
( 1)
j j
j
a a
s j
a s
= = >
12
12
11
13
13

11
2
1
1
1
1
1
a
s
a
a
s
a

= = =





= = =


+)
1
2
1
(2 )
i
ii ii ki

k
s a s i n

=
= − ≤ ≤


2
22 22 12
1s a s⇒ = − =

1
1
( )
0 ( )
i
ij kj ki
k
ij
ii
a s s
i j
s
s
i j

=





<
=



>



21
23 13 12
23
22
0
1
s
a s s
s
s
=





= = −


Tương tự:

2 2
33 33 13 23
31
32
( ) 1
0
0
s a s s
s
s

= − + =


⇒ =


=


Vậy S =
1 2 1
0 1 1
0 0 1
 
 ÷

 ÷
 ÷
 

S
T
=
1 0 0
2 1 0
1 1 1
 
 ÷
 ÷
 ÷

 
Hệ phương trình đã cho
(1)
(2)
T
B y b
Bx y

=


=

+) Giải 1:
1
1 2
1 2 3
1
2 1

1
y
y y
y y y
=


+ =


− + =


1
2
3
1
1
1
y
y
y
=


= −


= −


+) Giải 2:
1 2 3
2 3
3
2 1
1
1
x x x
x x
x
+ + =


− = −


= −

1
2
3
6
2
1
x
x
x
=



⇔ = −


= −

12
3. GIẢI GẦN ĐÚNG HỆ PHƯƠNG TRÌNH ĐSTT
3.1 Phương pháp lặp đơn
Nội dung: Từ hệ Ax = b (1.2) với A =
( )
ij
n n
a
×
;x =
1
2
n
x
x
x
 
 ÷
 ÷
 ÷
 ÷
 
M
,b=
1

2
n
b
b
b
 
 ÷
 ÷
 ÷
 ÷
 
M
x BX y⇔ = +
(1.8)
Chọn X
o
=
1
2
0
o
o
n
x
x
x
 
 ÷
 ÷
 ÷

 ÷
 ÷
 
M
là xấp xỉ đều tuỳ ý
α
là nghiệm thì A
α
= b

α
= B
α
+ y
Đặt
1
2 1
1
o
k k
X BX g
X BX g
X BX g
+
= +
= +
= +
K
với X
k

=
1
2
k
k
k
n
x
x
x
 
 ÷
 ÷
 ÷
 ÷
 ÷
 
M
Thì được gọi là dãy nghiệm xấp xỉ của phương pháp lặp đơn.
Vấn đề là khi nào thì x
k

α
khi k


?
Định lí hội tụ :
AX=b


x = BX+ g
Nếu
B
<1 thì dãy lặp (x
k
)

α
khi k


Sai số:
1
.
1
k
k o
B
x x x
B
α
− ≤ −

hoặc
1
.
1
k k k
B
x x x

B
α

− ≤ −

Chứng minh:
Xét

:
n n
T R R
x Tx BX g

= +a

( )TX TY B X Y B X Y− = − ≤ −
do
1B <
.Suy ra T là ánh xạ co.
13
Theo nguyên lí của ánh xạ co tồn tại duy nhất
α
sao cho : T
α
=
α

α
=B
α

+ g và mọi dãy lặp TX
k+1
=TX
k
+ g (x
o
tuỳ ý ) hội tụ tới
α
.
*) Ví dụ 4: Giải hệ phương trình trên bằng phương pháp lặp đơn với ba
bước lặp
1 2 3
1 2 3
1 2 3
1,02 0,05 0,1 0,795
0,11 1,03 0,05 0,849
0,11 ,12 1,04 1,398
x x x
x x x
x o x x
− − =


− + − =


− − + =

Giải
Hệ


1 1 2 3
2 1 2 3
3 1 2 3
0,02 0,05 0,1 0,795
0,11 0,03 0,05 0,849
0,11 0,12 1,04 1,398
x x x x
x x x x
x x x x
= − + + +


= − + +


= + − +


1 1
2 2
3 3
0,02 0,05 0,1 0,795
0,11 0,03 0,05 0,849
0,11 0,12 0,04 1,398
x x
x x
x x

   

   
 ÷  ÷
 ÷  ÷
⇔ = − +
 ÷  ÷
 ÷  ÷
 ÷  ÷
 ÷  ÷

   
   
3
1
0,17
ij
j
b
=
=

,
3
1
0,19
ij
j
b
=
=


,
3
1
0,27
ij
j
b
=
=

( 0,17 1
ij
B Max b= = <
Xét dãy lặp X
k+1
=BX
k
+g

1
1 1 2 3
1
2 1 2 3
1
3 1 2 3
0,02 0,05 0,1 0,795
0,11 0,03 0,05 0,849
0,11 0,12 1,04 1,398
k k k k
k k k k

k k k k
x x x x
x x x x
x x x x
+
+
+

= − + + +

= − + +


= + − +

Chọn X
o
=
0,8
0,85
1,4
 
 ÷
 ÷
 ÷
 
1
2
3
0,02.0,08 0,05.0,85 0,1.1, 4 0,795 0,962

0,11.0,8 0,85.0,03 0,05.1, 4 0,849 0,982
0,11.0,8 0,12.0,85 0,04.1,4 1,398 1,532
k
k
k
x
x
x

= − + + + =

= − + + =


= + − + =

tương tự
1
2
2
2
3
0,978
1,002
1,56
k
x
x
x


=

=


=


3
1
3
2
3
3
0,98
1,004
1,563
x
x
x

=

=


=

sai số X
3

- X
2
= (-0,002;0,002;0,003)
3
3 3 2
0,27
.0,03 10
1 1 0,27
B
X X X
B
α

− ≤ − =
− −
;
14
Vậy nghiệm gần đúng là
3
1
3
2
3
3
0,89 10
1,004 10
1,563 10
x
x
x





= ±

= ±


= ±

*) Ví dụ 5: Giải hệ
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
20,9 1,2 2,1 0,9 21,7
1,2 21, 2 1,5 2,5 27,46
2,1 1,5 19,8 1,3 28,76
0,9 2,5 1,3 32,1 49,72
x x x x
x x x x
x x x x
x x x x
+ + + =


+ + + =



+ + + =


+ + + =

Giải :
Hệ

( )
( )
( )
( )
1 1 2 3 4
2 1 2 3 4
3 1 2 3 4
4 1 2 3
1
0 1,2 2,1 0,9 21,7
20,9
1
1,2 0 1,5 2,5 27,46
21,2
1
2,1 1,5 0 1,3 28,76
19,8
1
0,9 2,5 1,3 49,72
32,1
x x x x x
x x x x x

x x x x x
x x x x

= − − − +



= − + − − +




= − − + − +



= − − − +


4
1
0,2
ij
j
b
=

;
,
4

1
0,24
ij
j
b
=

;
,
4
1
0,25
ij
j
b
=

;
,
4
1
0,15
ij
j
b
=

;
0,25B⇒ =
Xét dãy lặp

1
k
k k
X BX g
+
= +

k
1
k
x
2
k
x
3
k
x
4
k
x

0 1,04 1,3 1,45 1,55
1 0,75 0,95 1,14 1,36
2 0,8106 1,.118 1,2117 1,4077
3 0,7978 0,9977 1,1975 1,3983
4 0,8004 1,0005 1,2005 1,4003
5 0,7999 0,9999 1,1999 1,3999

Chọn x tuỳ ý
X

3
- X
4
=( 0,0006;0,0006;0,0006;0,0006)
15
4 4 4
3 4 5
0,25
6.10 ; .6.10 2.10
1 0,25
X X X
α
− − −
− = − ≤ =

Vậy nghiệm của hệ là:
4
1
4
2
4
3
4
4
0,7999 2.10
0,9999 2.10
1,1999 2.10
1,3999 2.10
x
x

x
x





= ±

= ±


= ±


= ±

Phương pháp Jacobi:
Ma trận A=
( )
ij
1
n
a
gọi là ma trận đường chéo trội nếu 2 điều kiện dưới đây
thỏa mãn :
c
1
.
1, ,i n∀ =


ij ii
j i
a a

<

( chéo trội theo hàng )
c
2
.
1, ,j n∀ =

ij jj
i j
a a

<

( chéo trội theo cột )
Hệ (1.1) có dạng:
ii i ij j i
j i
a x a x b

+ =


i j
i

ii
a
x .
a
i
j
i j
ii
b
x
a

⇒ = − +

Ta được hệ X= BX + g với
i
i
ii
b
g
a
=
B= (b
ij
) trong đó
ij
ij
ii
0;
;

a
i j
a
b
i j
=


=

− ≠



Do A chéo trội
1
ij
ij ii
j i j i
ii
a
a a
a
≠ ≠
< ⇒ < ⇒
∑ ∑
ij
j i
1b


<

ij
ax( b ) 1B m= <

nếu phép lặp X
k+1
= BX
k
+ g hội tụ
*) Ví dụ 6: Giải hệ phương trình sau:
1 2 3
1 2 3
1 2 3
5 2
5 3
5 4
x x x
x x x
x x x
+ + =


+ + =


+ + =

Giải :
16

A =
5 1 1
1 5 1
1 1 5
 
 ÷
 ÷
 ÷
 
là ma trận chéo trội theo hàng
Hệ
( )
( )
( )
1 1 2 3
2 1 2 3
3 1 2 3
1
0 2
5
1
0 3
5
1
0 4
5
x x x x
x x x x
x x x x


= − − +



⇔ = − + − +



= − − + +


B=
1 1
0
5 5
1 1
0
5 5
1 1
0
5 5
 
− −
 
 
 
− −
 
 
 

− −
 
 

2
1
5
B⇒ = <
Xét phép lặp X
k+1
= BX
k
+g

n
1
k
x
2
k
x
3
k
x
0 0 0 0
1 0,4 0,6 0,8
2 0,12 0,36 0,6
3 0,208 0,456 0,704
4 0,168 0,4176 0,6672
…… …… ……. ……

Sai số X
3
- X
4
= ( -0,04,-0,0384-0,0368)

2
3 4
0,04 4.10X X

− = =

2
0,4
.4.10 ,026667
1 0,4
X o
α

− <

;
Vậy nghiệm của hệ là :
1
2
3
0,16 0,026667
0,4176 0,026667
0,6672 0,026667
x

x
x
= ±


= ±


= ±

3.2 Phương pháp Seidel
Xét hệ AX = b (1.2)

X= BX + g,
1B <
Phân tích B thành tổng hai ma trận B = B
1
+ B
2
17
Trong đó B
1
=
12
1 2
0 0 0
0 0


n n nn

b
b b b
 
 ÷
 ÷
 ÷
 ÷
 
B
2
=
11 12 1
12 2

0

0 0
n
n
nn
b b b
b b
b
 
 ÷
 ÷
 ÷
 ÷
 



X = B
1
X + B
2
X + g (1.9)
Giải hệ (1.9) bằng phương pháp lặp
X
k+1
=B
1
X
k+1
+B
2
X
k
+ g (k

0)
Hay dưới dạng toạ độ :
1
( 1) ( 1) ( 1)
1 1
i n
k k k
i ij j ij j i
j j
x b x b x g


+ + +
= =
= + +
∑ ∑
(1.10)
Định lý: phương pháp Seidel (1.10) hội tụ nếu
1B <
Chứng minh:
Do
1B <
nên TX = BX + g là ánh xạ co

! :T
α α α
∃ =
với
1
2

n
α
α
α
α
 
 ÷
 ÷
=
 ÷
 ÷

 
Theo (1.10):
1
ij ij
1 1
i n
i j j i
j j
b b g
α α α

= =
= + +
∑ ∑
;
k+1 1
i
x
k k
i ij j j ij j j
j i j i
b x b x
α α α
+
< >
− ≤ − + −
∑ ∑
Ta có
1
1

1,
ax
k
k j j
j n
X M x
α α
+
+
=
− = −
;
1,
ax
k
k j j
j n
X M x
α α
=
− = −


1
1
k
i ij k ij k
j i j i
x b X b X
α α α

+
+
< >
⇒ − ≤ − + −
∑ ∑
.
Đặt
,
i ij j ij
j i j i
b b
γ β
< ≥
= =
∑ ∑
1
1
n
i i ij
j
b
γ β
=
+ = <

( do
1B <
)
1
1

, 1,
k
i i i k i k
X X X i n
α γ α β α
+
+
⇒ − ≤ − + − ∀ =
Gọi i
o
là chỉ số sao cho
1 1
1
i=1,n
ax
o
k k
i o i i k
X M X X
α α α
+ +
+
− = − = −
1
1 1
o o o
k
k i i k i k
X X X X
α α γ α β α

+
+ +
⇒ − = − ≤ − + −


( )
k+1 k+1
1 X X
1
o
o o
o
i
i i k k
i
B
X X
γ α β α α ν α
γ
⇒ − − ≤ − ⇒ − ≤ −


18
Với
i=1,n
1
ax
i
i
B

M
ν
γ
=


Xét
( )
2
1
.
1 1 1
i i i
i i i i i i i
i i
i i i
γ β γ
β β β γ γ γ β
β γ
γ γ γ
− −
− + − −
+ − = =
− − −
Do
,0 1 1 0; 1
i i i i i
o
β γ γ γ β
< < < ⇒ − > + <



0
1
i
i i
i
β
β γ
β
+ − >


1, 1,
1
i
i i
i
i n
β
β γ
β
⇒ < + < ∀ =


1,
1
1
ax
i

i n
i
M
β
ν
γ
=
⇒ = <

Vậy
2
1 1

k
k k k o
X X X X
α ν α ν α ν α
+ −
− ≤ − ≤ − ≤ ≤ −
Do
1
ν
<
nên
0
k
k
ν
→∞


Vậy
k
X
α

khi
k → ∞
*) Nhận xét
- Phương pháp Seidel có độ chính xác cao hơn phương pháp lặp đơn,
tốc độ hội tụ nhanh hơn phương pháp lặp đơn ( vì
1B
ν
< <
)
- Phương pháp Seidel tiết kiệm bộ nhớ hơn phương pháp lặp đơn vì :
+ Phương pháp lặp đơn sử dụng 2n ô nhớ cho X
k+1
và X
k
+ Phương pháp Saidel chỉ cần n ô nhớ của X
k


X
k+1
vì sau khi tính
1
1
k
x

+
thì không cần sử dụng
1
k
x
, lúc đó bỏ số
1
1
k
x
+
vào ô nhớ của
1
k
x
để tính
1
2
k
x
+


*) Ví dụ 7: Giải hệ ( VD5 dùng phương pháp lặp đơn)

1 2 3
1 2 3
1 2 3
1,02 0,05 0,1 0,795
0,11 1,03 0,05 0,849

0,11 ,12 1,04 1,398
x x x
x x x
x o x x
− − =


− + − =


− − + =

bằng phương pháp Seidel
Giải
Hệ

1 1 2 3
2 1 2 3
3 1 2 3
0,02 0,05 0,1 0,795
0,11 0,03 0,05 0,849
0,11 0,12 0,04 1,398
x x x x
x x x x
x x x x
= − + + +


= − + +



= + − +


0,02 0,05 0,1
0,11 0,03 0,05
0,11 0,12 0,04
B

 
 ÷
⇒ = −
 ÷
 ÷

 
19
B
1
=
0 0 0
0,11 0 0
0,11 0,12 0
 
 ÷
 ÷
 ÷
 
B
2

=
0,02 0,05 0,1
0 0,03 0,05
0 0 0,04

 
 ÷

 ÷
 ÷

 
Xét phép lặp X
k+1
= B
1
X
k+1
+ B
2
X
k
+ g

1
1 1 2 1
1 1
2 1 2 3
1 1 1 1
3 1 2 3

( 0,02 0,05 0,1 ) 0,795
0,11 ( 0,03 0,05 ) 0,849
0,11 0,12 0,04 1,389
k k k k
k k k k
k k k k
x x x x
x x x x
x x x x
+
+ +
+ + + +

= − + +

⇔ = + − + +


= + − +


1 2 3
0 0,8 0,85 1,4
1 0,9615 0,9999265 1,56767
2 0,9825 1,00548 1,564025

k k k
k x x x
3.3 Phương pháp Gauss-Seidei
Là phương pháp Seidel áp dụng cho hệ phương trình với ma trận đường

chéo trội
*) Ví dụ 8: Giải hệ phương trình
1 2 3
1 2 3
1 2 3
10 12
2 10 13
2 2 10 14
x x x
x x x
x x x
+ + =


+ + =


+ =

Giải :
Hệ
1 2 3
2 1 3
3 1 2
0,1 0,1 1
0,2 0,1 1,3
0,2 0,2 1, 4
x x x
x x x
x x x

= − − +


⇔ = − +


= − − +

Ta có B
0 0,1 0,1
0,2 0 0,1
0,2 0,2 0
− −
 
 ÷
− −
 ÷
 ÷
− −
 
B
1
=
0 0 0
0,2 0 0
0,2 0,2 0
 
 ÷

 ÷

 ÷
− −
 
B
2
=
0 0,1 0,1
0 0 0,1
0 0 0
− −
 
 ÷

 ÷
 ÷
 
Xét dãy lặp X
k+1
= B
1
X
k+1
+ BX
k
+ g
1
1 2 3
1 1
2 1 3
1 1 1

3 1 2
0,1 0,1 1,2
0,2 0,1 1,3
0,2 0,2 1,4
k k k
k k k
k k k
x x x
x x x
x x x
+
+ +
+ + +

= − − +

⇔ = − − +


= − − +

20
k
1
1
k
x
+
1
2

k
x
+
1
3
k
x
+
0 1,2 0 0
1 1,2 1,06 0,984
2 0,9992 1,00536 0,999088
3 0,9995552 1,00018 1,000052928
4 1,0000 1,000 1,000

21
4. GIẢI HỆ ĐẠI SỐ TUYẾN TÍNH BẰNG MAPLE 12 VÀ
LẬP TRÌNH PASCAL
4.1. Chương trình Pascal giải hệ đại số tuyến tính
Program giaihdstt;
var
n,i,j,k: integer; s:real;
b,p,x:array[1 50] of real;
a:array[1 50,1 50] of real;
procedure nhap;
var f:text;
begin
assign(f,'C.PAS');
reset(f);
readln(f,n);
for i:=1 to n do

for j:= 1 to n do
read(f,a[i,j]);
for i:= 1 to n do
read(f,b[i]);
close(f);
end;
Begin
nhap;
for k:=1 to n do
for i:= k+1 to n do
begin
if a[k,k] <> 0 then
p[i] := a[i,k]/a[k,k];
for j:=k+ 1 to n do
a[i,j]:= a[i,j] - p[i]*a[k,j];
b[i]:= b[i]-p[i]*b[k];
end;
if a[n,n] <> 0 then
22
x[n]:=b[n]/a[n,n];
for i:= n-1 downto 1 do
begin
s:=b[i];
for j:=i+1 to n do
s:=s-a[i,j]*x[j];
if a[i,i] <> 0 then
x[i]:=s/a[i,i];
end;
for i:=1 to n do
write(x[i]:10:3);

readln;
end.
( lưu vào B.PAS )
*) Ví dụ 9: Giải hệ đại số tuyến tính
A x = u
trong đó



Giải:
1.Dùng Maple 12
[>
[>
[>
23
[>
2.Sử dụng LT Pascal
Nhập ma trận lưu vào C.PAS
4
2 3 1 2
4 6 3 4
6 9 5 6
8 12 7 1
3 5 7 9
Sau đó chạy B.PAS trên màn hình hiện nghiệm của hệ

2.000 0.000 -1.000 0.000
*) Nhận xét:
Như vậy khi sử dụng Pascal trong Ví dụ này chỉ cho ta 1 nghiệm
riêng của hệ. Còn sử dụng Maple 12 ta biết được nghiệm tổng quát của hệ.

Tuy nhiên đối với hệ có nghiệm cụ thể thì sử dụng Pascal việc nhập
ma trận chính xác hơn và cho kết quả nhanh hơn sử dụng Maple 12. Ta xét
tiếp ví dụ 10 sau đây.
*) Ví dụ 10: Giải hệ đại số tuyến tính
A x = u
trong đó
24



Giải:
1.Dùng Maple 12
[>
[>
[>
[>
2.Sử dụng LT Pascal
Nhập ma trận lưu vào C.PAS
5
1 1 -1 1 -1
2 2 1 -9 1
3 -1 1 -8 -4
6 1 1 1 -5
25

×