You are on page 1of 22

PHƯƠNG PHÁP TÍNH

Chương 3.
Giải gần đúng
hệ phương trình đại số tuyến tính

1
Giải gần đúng hệ phương trình đại số tuyến tính
 3.1. Bài toán
 3.2.Chuẩn của ma trận, vectơ
 3.3. Phương pháp lặp đơn
 3.4. Phương pháp lặp Seidel

2
3.1. Bài toán

Xét hệ n phương trình có n ẩn số:


a11x1 + a12x2 + . . . +a1nxn = b1;
a21x1 + a22x2 + . . . +a2nxn = b2; Hay: Ax = b
.........................
an1x1 + an2x2 + . . . +annxn = bn;
a11 a12 . . . a1n
Với ma trận hệ số: A = .a.21. . . a. 22 . . . a2n
........
Vectơ vế phải và véctơ ẩn: an1 an2 . . . ann

b1 x1
b2 = [ b1, b2, …, bn ]T x = x = [ x1, x2, …, xn ]T
b= .. .. 2
. .
bn xn
3
3.2. Chuẩn ma trận và chuẩn véc tơ

 Một chuẩn, thường dùng ký hiệu: ||.||, là một hàm thực


cho phép xác định “độ lớn” của ma trận hay “chiều
dài” của véc tơ, thỏa mãn các tính chất sau:
i) ||x|| ≥ 0, “=“ ↔ x = 0
ii) ||kx|| = |k|.||x||, k  ℝ.
iii) ||x + y|| ≤ ||x|| + ||y||
Các tính chất cho cả ma trận và véc tơ, với các phép
cộng, phép nhân với một số (thực) hiểu theo nghĩa
thông thường
 Chuẩn của ma trận và véc tơ có thể có nhiều cách
tính khác nhau
4
Chuẩn của ma trận

 Các chuẩn thông dụng của ma trận [A] n X n:


n
Chuẩn cột: A 1  max  aij
1 j  n i 1

n n
2
Chuẩn Frobenius:
(Chuẩn Euclid)
A2  ij
a
i 1 j 1
n
Chuẩn dòng A   max  aij còn kí hiệu ||A||0
(Chuẩn hàng): 1i  n j 1

1/2
Chuẩn phổ: A 2
  max 

 Trong đó max là trị riêng lớn nhất của [A]T[A].


5
Chuẩn của véc tơ
The picture can't be displayed.

 Với véc tơ X cột n chiều, chuẩn p là:


1/ p
 n
p

X p
  x i 
i1 
 Các trường hợp thường dùng:
n
p  1: X 1   xi
i 1

n
2
p  2: X 2 X e x
i 1
i

p  : X 
 max xi hay ||X||0
6
1 i  n
Sự hội tụ của một dãy véc tơ
 Định nghĩa: Dãy vec tơ {X(k)} hội tụ tới vec tơ X* khi
k , nếu ||X(k) − X*||p  0, khi k  (p = 0, 1, 2)

 Ký hiệu (k )
lim X X*
k 

 Định lý: Để dãy vec tơ n chiều {X(k)} hội tụ tới vec tơ X*


khi k  theo một chuẩn p nào đó thì điều kiện cần và
đủ là:
(k ) *
{xi }  xi , k  , i  1, n

7
3.2. Phương pháp lặp đơn
a) Nội dung phương pháp

- Cho hệ phương trình Ax = b ;


- Biến đổi về dạng tương đương: x = Bx + g ;
Dạng tọa độ:
b11 b12 . . . b1n
n
B = .b21 b22 . . . b2n
bn1
............
bn2 . . . bnn
x  b .x  g
i  ij j i , i  1..n;
j 1
-Chọn x(0) nào đó làm nghiệm gần đúng đầu tiên và tính các
gần đúng tiếp theo: x(1), x(2) . ., x(m) theo công thức lặp:
( k 1) (k )
x  Bx  g ; ( k  0)
trong đó: x(o) – cho trước (xấp xỉ đầu), B – ma trận lặp.;
8
 24 x1  2 x 2  x 3  34  2 1 34
  x1  0 x1  24 x2  24 x3  24
  3 x1  42 x 2  2 x 3  27 
 x  2 x  48 x  19 3 2 27
 1 2 3  x2  x1  0 x2  x3 
 42 42 42
 x3   1 x1  2 x2  0 x3  19
 48 48 48

9
Công thức dạng tọa độ:
n
( k 1) (k )
xi   bij . x j  gi , i  1..n;
j 1
x1(k 1)  b11.x1(k )  b12.x2(k )  b13.x3(k )  ... b1n .xn(k )  g1
 (k 1) (k ) (k ) (k ) (k )
x2  b21.x1  b22.x2  b23.x3  ... b2n .xn  g2
(k 1) (k ) (k ) (k ) (k )
x3  b31.x1  b32.x2  b33.x3  ... b3n.xn  g3
.......................
 (k 1) (k ) (k ) (k ) (k )
x
 n  b .x
n1 1  b .x
n2 2  ...  b .x
n,n1 n1  bnn n  gn
.x
10
 X = Bx +g

x1  b11.x1  b12.x2  b13.x3  ... b1n.xn  g1



x2  b21.x1  b22.x2  b23.x3  ... b2n.xn  g2
x3  b31.x1  b32.x2  b33.x3  ... b3n .xn  g3
.......................

xn  bn1.x1  bn2.x2  ... bn,n1.xn1  bnn.xn  gn
11
x1  b11.x1  b12.x2  b13.x3  ... b1n.xn  g1

x2  b21.x1  b22.x2  b23.x3  ... b2n .xn  g2
x3  b31.x1  b32.x2  b33.x3  ... b3n .xn  g3
.......................

xn  bn1.x1  bn2.x2  ... bn,n1.xn1  bnn.xn  gn
(k 1) (k ) (k ) (k ) (k )
x1  b11.x1  b12.x2  b13.x3  ... b1n .xn  g1
 (k 1) (k ) (k ) (k ) (k )
x2  b21.x1  b22.x2  b23.x3  ... b2n .xn  g2
(k 1) (k ) (k ) (k ) (k )
3x  b .
31 1x  b .x
32 2  b .x
33 3  ...  b3n n  g3
.x
.......................
 (k 1) (k ) (k ) (k ) (k )
xn  bn1.x1  bn2.x2  ... bn,n1.xn1  bnn.xn  gn
12
b) Sự hội tụ

Định nghĩa về sự hội tụ. Phương pháp lặp đơn hội tụ


nếu x(k)  α , k  .
Với α = ( α1, α2, . . ., αn )T là nghiệm đúng của hệ
phương trình.

Định lý : (Điều kiện hội tụ của phương pháp lặp đơn).

Nếu ||B||p < 1, với p là 0, 1 hoặc 2, thì phương pháp lặp


hội tụ.

13
c) Đánh giá sai số

Ký hiệu: α = ( α1, α2, . . ., αn )T là nghiệm đúng của hệ


phương trình.

Công thức 1: (Đánh giá sai số qua 2 xấp xỉ liên tiếp)


B p
(k ) (k ) ( k 1)
x   x x
p 1 B p
p

Công thức 2:
B pk
x (k )    x (1)  x ( 0)
p 1 B p p

? Nhận xét về tốc độ hội tụ của phương pháp lặp đơn


14
Sơ đồ tính [1]

1/ Cho hệ phương trình Ax = f ;


2/ Ấn định số lần lặp k = m (m cho trước);
3/ Ax = f x = Bx + g ;
4/ Kiểm tra: thỏa mãn điều kiện hội tụ (theo chuẩn p nào đó)
5/ Chọn x(0) ;
6/ Tính ( k 1) (k ) k = 1, 2, 3, . . ,m
x  Bx g

B p
7/ Sai số: x (k )    x ( k )  x ( k 1)
p 1 B p
p
15
Sơ đồ tính [2]
1/ Cho hệ phương trình Ax = f ;
2/ Ấn định sai số cho phép ε ;
3/ Ax = f x = Bx + g ;
4/ Kiểm tra: thỏa mãn điều kiện hội tụ
5/ Chọn x(0) ;
( k 1) (k ) k = 0, 1, 2,. . .
6/ Tính x  Bx g
Cho tới khi B p
x ( k )  x ( k 1)  
1 B p p

hoặc:
(k ) ( k 1) 1 || B || p
x x  . ;
p || B || p 16
Sơ đồ tính [3]
 Xác định số lần lặp tối thiểu để tính được nghiệm gần
đúng có sai số ε cho trước?

17
Điều kiện đủ để hội tụ

 Lớp các hệ có ma trận hệ số là đường chéo trội luôn hội tụ


 Ma trận hệ số A gọi là có đường chéo trội nếu:
n
aii   a ij i  1, n
j1
ji
Khi đó gi = fi/aii
bij = - aij/aii, bii = 0

Phần lớn các hệ phương trình từ các bài toán vật lý


có ma trận hệ số là đường chéo trội

18
Phương pháp lặp đơn
Công thức dạng tọa độ:
n
(k ) (k )
xi   bij .x j  g i , i  1..n;
j 1

x1(k 1)  b11.x1(k )  b12.x2(k )  b13.x3(k )  ... b1n .xn(k )  g1


 (k 1) (k ) (k ) (k ) (k )
x2  b21.x1  b22.x2  b23.x3  ... b2n .xn  g2
(k 1) (k ) (k ) (k ) (k )
x3  b31.x1  b32.x2  b33.x3  ... b3n.xn  g3
.......................
 (k 1) (k ) (k ) (k ) (k )
x
 n  b .x
n1 1  b .x
n2 2  ...  b .x
n,n1 n1  bnn n  gn
.x
19
3.3. Phương pháp lặp Seidel
 Công thức lặp Seidel dạng tọa độ
i 1 n
( k 1) ( k 1) (k )
xi   bij . x j 
 bij . x j  gi , i  1, n
j 1 j i

x(k 1)  b11.x(k )  b12.x(k )  b13.x(k )  ...  b1n.xn(k )  g1


 1(k 1) 1
(k 1)
2
(k )
3
(k ) (k )
2x  b .
21 1x  b .x
22 2  b .x
23 3  ...  b 2n n  g2
.x
 (k 1) (k 1) (k 1) (k ) (k )
3x  b .
31 1x  b .x
32 2  b .
33 3x  ...  b3n n  g3
.x
.......................

xn(k 1)  bn1.x1(k 1)  bn2.x2(k 1)  ...  bn,n1.xn(k11)  bnn.xn(k )  gn
20
 Điều kiện hội tụ cũng như phương pháp lặp đơn
 Hội tụ nhanh hơn phương pháp lặp đơn
 Tiết kiệm không gian nhớ

21
Phương pháp lặp Seidel
- Cho hệ phương trình Ax = f ;
- Biến đổi về dạng tương đương: x = Bx + g ;
− Phân tích ma trận B thành tổng hai ma trận:
B = B1 + B2 .Trong đó:
0 0 0 b11 b12 . . . b1n
b21 0 0 0 b22 . . . b2n
B1 = B2 =
............. ...............
bn1 bn2 0 0 0 . . . bnn

x = B1x + B2x + g ;

Công thức lặp: ( k 1) ( k 1) (k )


x  B1 . x  B2 . x g
22

You might also like