Tải bản đầy đủ (.pdf) (65 trang)

Luận văn tốt nghiệp các phương pháp số tìm nghiệm của hệ phương trình đại số tuyến tính và ứng dụng

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 (445.82 KB, 65 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA KHOA HỌC TỰ NHIÊN


LƯƠNG THỊ KIM NGÂN

CÁC PHƯƠNG PHÁP SỐ TÌM NGHIỆM
CỦA HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN
TÍNH VÀ ỨNG DỤNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
Chuyên Nghành: TOÁN ỨNG DỤNG

Hướng Dẫn Khoa Học: TS. TRẦN NGỌC LIÊN

Cần Thơ 6-2010


2

LỜI CẢM ƠN
-----------

Tơi xin bày tỏ lịng kính trọng và biết ơn sâu sắc tới Cô Trần Ngọc Liên, người đã
trực tiếp hướng dẫn, giúp đỡ, động viên tôi trong suốt thời gian thực hiện luận văn này.
Tôi cũng xin chân thành cảm ơn các Thầy Cô trong bộ môn Tốn khoa Khoa Học
Tự Nhiên đã trang bị cho tơi những kiến thức cơ bản, các kỹ năng cần thiết để làm
được luận văn này.
Xin cám ơn các bạn bè đã giúp đỡ trong quá trình học tập, sưu tầm, và tìm tịi tài
liệu để tơi có thể hồn thành luận văn này.
Xin bày ỏt lòng biết ơn đặc biệt đến Cha, Mẹ và những người thân đã dạy dỗ,


khuyến khích, động viên và tạo điều kiện tốt nhất cho tơi trong suốt q trình học tập.
Dù đã cố gắng hết sức cùng với sự tận tâm của Cô hướng dẫn song do trình độ cịn
hạn chế nên khó tránh khỏi những thiếu sót. Rất mong nhận được sự thơng cảm và góp
ý của Thầy Cơ và các bạn.

Cần Thơ, tháng 6 năm 2010
Sinh viên

Lương Thị Kim Ngân


3

DANH MỤC CÁC BẢNG

STT

TÊN BẢNG

NỘI DUNG

1

Bảng 1.1

Các bước thực hiện phương pháp Gauss-Jordan

10

2


Bảng 1.2

Bài giải áp dụng công thức Gauss-Jordan

12

3

Bảng 1.3

Các bước lặp trong giải hệ bằng phương pháp lặp đơn

Bảng 1.4

Các bước lặp trong giải hệ bằng phương pháp lặp Seidel

TRANG

21
4

24
5

Bảng 2.1

Số liệu bài toán ứng dụng 1

25


6

Bảng 2.2

Các bước lặp trong giải bài toán ứng dụng 1

32

7

Bảng 2.3

Số liệu bài toán ứng dụng 2

34

8

Bảng 2.4

Các bước lặp của phương pháp lặp đơn trong giải bài

toán ứng dụng 2
9

Bảng 2.5

39
Các bước lặp của phương pháp Seidel trong giải bài toán


ứng dụng 2

41

10

Bảng 2.6

Số liệu bài toán ứng dụng 3

11

Bảng 2.7

Bảng kết quả của phương pháp Gauss- Jordan trong giải

bài toán ứng dụng 3

44

43

12

Bảng 2.8

Số liệu bài toán ứng dụng 4

50


13

Bảng 2.9

Các bước lặp đơn trong giải bài toán ứng dụng 4

56


4

MỤC LỤC

PHẦN MỞ ĐẦU ............................................................................................ 1
PHẦN NỘI DUNG ........................................................................................ 3
Chương 1 HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH VÀ CÁC PHUƠNG
PHÁP SỐ TÌM NGHIỆM CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH ....... 3
I. KHÁI QT VỀ HỆ PHƯƠNG TRÌNH TUYẾN TÍNH ....................... 3
1. Hệ phương trình tuyến tính .......................................................................... 3

1.1. Định nghĩa hệ phương trình tuyến tính ................................ 3
1.2. Nghiệm của hệ phương trình tuyến tính .............................. 3
1.3. Hệ phương trình tuyến tính thuần nhất .................................................. 3
2. Ma Trận ....................................................................................................... 3

2.1. Định nghĩa ............................................................................. 4
2.2. Ma trận tam giác ................................................................... 5
2.3. Phép nhân hai ma trận. ......................................................... 5
2.4. Hạng của ma trận .................................................................. 5

2.5. Ma trận đơn vị ....................................................................................... 6
2.6. Ma trận nghịch đảo .............................................................................. 6
3. Điều kiện có nghiệm của hệ phương trình ................................................... 6
3.1 Trường hợp tổng quát ............................................................................. 6
3.2. Các trường hợp đặc biệt ......................................................................... 6
II. CÁC PHƯƠNG PHÁP SỐ TÌM NGHIỆM CỦA HỆ PHƯƠNG TRÌNH ĐẠI
SỐ TUYẾN TÍNH ............................................................................................ 7
1. Một số phương pháp trực tiếp giải hệ phương trình tuyến tính ..................... 7
1.1. Phương pháp Gauss ............................................................................... 7
1.1.1. Nội dung phương pháp ..................................................................... 7


5

1.1.2. Phương pháp Gauss với phương án trục chính ................................. 8
1.1.3. Sơ đồ Gauss Compact ...................................................................... 9
1.2 Phương pháp nhân tử LU ........................................................................ 12
1.2.1. L có đường chéo chính bằng 1(phương pháp Doolittle) .................... 14
1.2.2. U có đường chéo chính bằng 1 (Phương pháp Crout) ......................... 15
1.2.3. Phương pháp Choleski ...................................................................... 16
2. Một số phương pháp gián tiếp giải hệ phương trình tuyến tính .................. 17
2.1.Phương pháp lặp đơn ............................................................................ 17
2.1.1. Chuẩn của ma trận .......................................................................... 17
2.1.2. Nội dung phương pháp .................................................................... 17
2.1.3. Sự hội tụ ........................................................................................ 19
2.1.4. Sai số .............................................................................................. 19
2.2.Phương pháp lặp Seidel ........................................................................... 21
2.2.1. Nội dung phương pháp ...................................................................... 21
2.2.2. Điều kiện hội tụ và sai số .................................................................. 22
Chương 2 VÍ DỤ ỨNG DỤNG .................................................................... 25

2.1. Bài toán ứng dụng 1 ….. ...................................................................... 25
2.2. Bài toán ứng dụng 2............................................................................. 34
2.3. Bài toán ứng dụng 3............................................................................. 43
2.4. Bài toán ứng dụng 4 ............................................................................. 50
KẾT LUẬN .................................................................................................. 59
TÀI LIỆU THAM KHẢO ........................................................................... 60


6

PHẦN MỞ ĐẦU

Từ xa xưa toán học bắt nguồn từ việc giải quyết các vấn đề cụ thể do đời sống con
người đặt ra như: tính diện tích của một miếng da thú, nhà cửa, đất đai; tính đường đi
xuyên rừng hay đường đi của một chiếc tàu biển… Do đó, phương pháp tính là nghành
khoa học đã hình thành từ xa xưa và có thể nói trong giai đoạn đầu của toán học, toán
học đồng nghĩa với phương pháp tính. Tốn học ngày càng phát triển theo u cầu của
các nghành khoa học khác như: vật lý, hóa học, sinh học, y học, kinh tế học, xã hội
học… và cũng phát triển theo u cầu của chính tốn học. Trong sự phát triển nhanh
chóng của tốn học, đặc biệt là từ cuối thế kỷ XIX thì phương pháp tính cũng khơng
ngừng phát triển. Lượng kiến thức tốn học ngày nay thật đồ sộ nên người ta chia toán
học ra làm 2 nghành: Toán Lý Thuyết (Toán học thuần túy) và Tốn Ứng Dụng. Mơn
phương pháp tính được xem như một b ộ phận quan trọng của toán ứng dụng. Theo tự
điển Bách Khoa Toàn Thư Về Khoa Học Kỹ Thuật (NXB Mc.Graw Hill 1992) thì
Phương Pháp Tính (Computational mathematisc) hay
ải Gi
Tích Số (Numerical
Analysis) hay Phương Pháp Số (Numerical Methods) là một khoa học nghiên cứu về
các cách giải tìm nghiệm bằng số gần đúng của các phương trình, các bài toán xấp xỉ
hàm số, các bài toán tối ưu… Trong luận văn này, chúng tơi sẽ trình bày tổng quan về

một số phương pháp số tìm nghiệm của hệ phương trình đại số tuyến tính, đồng thời
trình bày một số bài tốn ứng dụng được giải bằng lập trình Matlab.
Matlab là một phần mềm nổi tiếng của công ty Math Works, là một ngơn ngữ hiệu
năng cao cho tính tốn kỹ thuật. Nó tích hợp tính tốn, hiển thị và lập trình trong một
mơi trường dễ sử dụng. Các ứng dụng cụ thể của Matlab bao gồm: Hỗ trợ tốn học và
tính tốn; phát triển thuật tốn, mơ hình, mơ phỏng, phân tích, khảo sát và hiển thị số
liệu; đồ họa khoa học và kỹ thuật; phát triển ứng dụng với giao diện đồ họa đẹp.
Trên thế giới thì Matlab đã được áp dụng rộng rãi trong việc giảng dạy ở các
trường đại học. Ở Việt Nam, tuy có một số khoa, trường đã đưa Matlab vào giảng dạy
nhưng mức độ phổ biến vẫn chưa cao.
Nội dung của luận văn gồm hai chương. Chương 1 trình bày những kiến thức tổng
quan về hệ phương trình đại số tuyến tính và một số phương pháp số tìm nghiệm của
hệ. Một số bài tốn ứng dụng thực tế mà chúng tơi giải bằng lập trình Matlab được thể


7

hiện ở chương 2. Đó cũng chính là nội dung chính của luận văn. Chúng tơi hi vọng đề
tài này sẽ là một nhân tố thúc đẩy việc nghiên cứu và phổ biến rộng rãi việc sử dụng
Matlab trong các bài tốn có u cầu giải bằng phương pháp số.


8

PHẦN NỘI DUNG
Chương 1

HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH VÀ CÁC
PHƯƠNG PHÁP SỐ TÌM NGHIỆM CỦA HỆ PHƯƠNG TRÌNH
TUYẾN TÍNH

I. KHÁI QT VỀ HỆ PHƯƠNG TRÌNH TUYẾN TÍNH
1. Hệ phương trình tuyến tính
1.1. Định nghĩa hệ phương trình tuyến tính
Ta gọi hệ phương trình tuyến tính tổng qt là 1 hệ gồm m phương trình và n ẩn
dạng:
a11x1 +a12 x 2 +...+a1n x n =b1
a x +a x +...+a x =b
 21 1 22 2
2n n
2
(1)

......

a m1x1 +a m2 x 2 +...+a mn x n =b n

trong đó a ij , b i (i=1,m,j=1,n) là các số đã cho cịn x j (j=1,n) là các ẩn số cần tìm. Các số
a ij (i=1,m,j=1,n) được gọi là các hệ số (chứa ẩn) còn các số bi (i=1,m) đươc gọi là các
hệ số tự do.
Trong phần này chúng tôi chỉ xét các hệ phương trình tuyến tính với các hệ số đều
là số thực.
1.2. Nghiệm của hệ phương trình tuyến tính
Nghiệm của hệ (1) là bộ gồm n số (c1 ;c 2 ;...;c n ) mà khi thế tương ứng vào các ẩn
x1 ,x 2 ,...,x n thì tất cả các phương trình trong hệ (1) trở thành đẳng thức đúng.

1.3. Hệ phương trình tuyến tính thuần nhất
Hệ phương trình tuyến tính có các hệ số tự do đều bằng 0 được gọi là hệ phương
trình tuyến tính thuần nhất và có dạng:
a11x1 +a12 x 2 +...+a1n x n =0
a x +a x +...+a x =0

 21 1 22 2
2n n

....
a m1x1 +a m2 x 2 +...+a mn x n =0

2. Ma trận


9

2.1. Định nghĩa
Cho các số tự nhiên m, n. Ta gọi ma trận cỡ m×n là một bảng gồm m× n phần tử,
được xếp thành m hàng và n cột, dạng:
 a11 a12 … a1n 
a
a 22 … a 2n 
21

A=
 
   


a m1 a m2 … a mn 

Các phần tử a ij gọi là các phần tử của ma trận; chỉ số i, j cho biết phần tử a ij đứng ở
hàng thứ i và cột thứ j. Để tiện lợi, ma trận A được viết gọn là A= a ij  m×n , hay đơn
giản hơn A= a ij  khi không cần quan tâm tới cỡ của ma trận, hoặc A m×n khi khơng cần
chỉ rõ phần tử thuộc ma trận. Trong phần này, chỉ xét những ma trận có các phần tử a ij

là số thực.
Nếu m=n thì ta nói A là một ma trận vuông cấp n.
Định Nghĩa: Ma trận vuông A được gọi là đối xứng nếu A T =A .
Có thể nói rằng ma trận A là đối xứng nếu các phần tử của nó đối xứng với nhau
qua đường chéo chính, nghĩa là a ij =a ji ;∀i, j=1,n .
Định Nghĩa: Ma trận A được gọi là xác định dương nếu với mọi vectơ x ≠ 0 ta ln
có x T Ax >0 .
Định Nghĩa: Trong ma trận A:
- Hàng có ít nhất một phần tử khác 0 được gọi là hàng khác 0, còn hàng chứa tất cả
các phần tử đều bằng 0 đều gọi là hàng 0.
- Phần tử khác 0 đầu tiên (tính từ trái qua phải) của một hàng, gọi là phần tử chính
của hàng đó.
Định Nghĩa:
a) Ma trận A được gọi là có dạng bậc thang (hay ma trận bậc thang) nếu A thỏa 2
tính chất sau:
- Hàng 0 (nếu có) nằm phía dưới hàng khác 0.
- Phần tử chính của hàng dưới, ln đứng trong cột ở về phía phải so với cột chứa
phần tử chính của những hàng phía trên nó.
b) Ma trận bậc thang có thêm hai tính chất sau được gọi là ma trận dạng bậc thang
rút gọn hay gọi đơn giản là ma trận rút gon:


10

- Mọi phần tử chính đều bằng 1.
- Trong cột có chứa phần tử chính (bằng 1) thì 1 là phần tử khác 0 duy nhất của cột.
2.2. Ma trận tam giác
Trong mỗi ma trận vuông A= a ij  cấp n, các phần tử a ii , i = 1…n, được gọi là
phần tử đường chéo, hay đơn giản là đường chéo.
Ma trận vuông cấp n được gọi là ma trận có dạng tam giác (hay ma trận tam giác)

nếu tất cả các phần tử nằm ở phía trên (hay phía dưới) đường chéo đều bằng 0.
- Nếu ma trận A= a ij  n×n có a ij =0 với mọi i>j thì A được gọi là ma trận tam giác
trên.
- Nếu ma trận B= a ij  n×n có bij =0 với mọi idưới.
*
0
Ví dụ: A= 
0

0

*
*
0
0

*
*
*
0

*
*
là ma trận tam giác trên.
*

*

*

*
B= 
*

*

0
*
*
*

0
0
*
*

0
0 
là ma trận tam giác dưới.
0

*

(Phần tử ký hiệu bởi “*” nhận giá trị bất kỳ, có thể bằng hoặc khác 0).
2.3. Phép nhân hai ma trận
Cho hai ma trận A= a ij  m×n và B=  b jk  n×p . Ta nói tích của hai ma trận A và B (viết
p

là AB) là một ma trận C= [ cik ]m×p trong đó cik = ∑ a ijb jk .
j=1


Từ định nghĩa ta thấy rằng tích AB tồn tại khi và chỉ khi số cột của ma trận A bằng
số dòng của ma trận B. Khi đó số dịng của ma trận AB sẽ bằng số dòng của ma trận A
và số cột của ma trận AB bằng số cột của ma trận B. Lưu ý rằng tồn tại ma trận AB
chưa chắc gì tồn tại ma trận BA.
2.4. Hạng của ma trận
Xét ma trận A= a ij  m×n . Hạng của ma trận A là số các hàng khác 0 có trong dạng
rút gọn của A, được ký hiệu là:


11

ran(A)=k, k ∈ N* , k ≤ min {m,n} .
2.5. Ma trận đơn vị
Ma trận vuông I cấp n được gọi là ma trận đơn vị nếu IA=AI=A với mọi ma trận
vuông A cấp n.
2.6. Ma trận nghịch đảo
Cho ma trận A là ma trận vuông cấp n, nếu tồn tại ma trận B sao cho AB=I n và
BA=In thì A là ma trận khả nghịch và B được gọi là ma trận nghịch đảo của A, Ký
hiệu B=A -1 . Với In là ma trận đơn vị cùng cấp với A, B.
3. Điều kiện có nghiệm của hệ phương trình
3.1 Trường hợp tổng qt
Hệ phương trình (1) có thể viết dưới dạng ma trận Ax=b (2)
 a11 a12 … a1n 
 x1 
 b1 
a




b 
a 22 … a 2n 
x2 
21


với A=
; x=
; b=  2  .
 
 

   


 
 
a m1 a m2 … a mn 
xn 
bn 
 a11 a12 … a1n
a
a 22 … a 2n
Xét ma trận có hệ số bổ sung A′=  21
 
  

a m1 a m2 … a mn

b1 

b 2 


bn 

Ta nói hệ có nghiệm khi và chỉ khi hạng của hai ma trận A và A′ bằng nhau
ran(A)=ran(A′)=r .

Chi tiết hơn ta có:
- Nếu r = ran(A) < ran(A′) thì hệ vơ nghiệm.
- Nếu ran (A) = ran(A′) = r thì hệ có nghiệm và
+ Nếu ran(A) = ran(A′) = r = n thì hệ có nghiệm duy nhất
+ Nếu ran(A) = ran(A′) = r < n thì hệ có vơ số nghiệm phụ thuộc vào n-r số ẩn tự do
(không xảy ra trường hợp r = ran(A) > ran(A′) hay r = ran(A) > n ).
3.2. Các trường hợp đặc biệt
Nếu A là ma trận khả nghịch thì hệ có nghiệm duy nhất: x=A -1b với A -1 là ma trận
nghịch đảo của ma trận A.


12

Nếu b i =0, thì hệ được gọi là hệ thuần nhất và A là ma trận khả nghịch khi đó thì hệ
ln có nghiệm (0; 0; …; 0) gọi là nghiệm tầm thường.
II. CÁC PHƯƠNG PHÁP SỐ TÌM NGHIỆM CỦA HỆ PHƯƠNG TRÌNH ĐẠI
SỐ TUYẾN TÍNH
Về phương diện lý thuyết, hệ (2) có thể giải được trọn vẹn nhờ lý thuyết ma trận và
định thức. Tuy nhiên, với trường hợp ma trận A không suy biến tức là các số
a11 , a 21 , a 31 không đồng thời bằng 0, nếu giải hệ bằng phương pháp tính định thức

thơng thường thì chúng ta sẽ phải thực hiện rất nhiều phép tính tốn. Nhằm khắc phục

hạn chế đó, trong phần này chúng ta xét một số phương pháp giải thực tế hệ phương
trình (2) với đặc điểm chung là khối lượng tính tốn được giảm nhẹ . Trong số các
phương pháp đó có thể chia ra làm hai nhóm phương pháp lớn là nhóm phương pháp
trực tiếp và nhóm phương pháp gián tiếp.
Đặc diểm chung của nhóm phương pháp trực tiếp là sau một số hữu hạn các phép
tính sẽ có kết quả, vì vậy nhóm phương pháp này thường được áp dụng với lớp các bài
tốn có kích thước nhỏ, và các số liệu ban đầu là đúng. Cịn nhóm các phương pháp
gián tiếp (phương pháp lặp) thường được áp dụng cho lớp các bài tốn với kích thước
lớn, số liệu ban đầu có sai số.
1. Một số phương pháp trực tiếp giải hệ phương trình tuyến tính
1.1. Phương Pháp Gauss
Phương pháp Gauss là ộmt trong n hững phương pháp thơng dụng nhất để tìm
nghiệm của hệ phương trình tuyến tính. Phương pháp Gauss được đặt theo tên của nhà
bác học người Đức là Curl Friedrich Gauss. Ý tưởng của phương pháp Gauss là đưa hệ
phương trình (2) về dạng tam giác trên, lúc đó ngh iệm tìm được nhờ phương pháp thế
ngược.
1.1.1. Nội dung phương pháp
Bước 1: Chia phương trình đầu cho a11 ≠ 0 (nếu a11 =0 thì ta đổi chỗ các phương
trình của hệ sao cho a11 ≠ 0 ).
Bước 2: Nhân phương trình đó lần lượt với

-a 21 ;-a 31 ;...;-a n1 và cộng vào phương

trình thứ hai, thứ ba, …, thứ n theo thứ tự. Như vậy, ta đã khử được x1 ra khỏi các
phương trình của hệ từ phương trình thứ hai trở đi.


13

Bước 3: Tiếp tục khử x 2 của hệ từ phương trình thứ ba trở đi … sau hữu hạn bước

ta đưa hệ (2) về dạng:
c11x1 +c12 x 2 +...+c1n x n =d1

c 22 x 2 +...+c 2n x n =d 2


...


c nn x n =d n

Khi đó nghiệm x=(x1 ,x 2 ,...,x n ) của hệ được tính bằng phương pháp thế ngược
xn =

dn

c nn

1.1.2. Phương pháp Gauss với phương án trục chính
Trong các bước giải hệ của phương pháp Gauss trình bày phần trên thì ta giả thiết
(i-1)
a11 ≠ 0 , a (1)
≠ 0 . Nếu một trong các số đó bằng 0 thì q trình tính khơng
22 ≠ 0 , …, a ii

tiếp tục được. Lúc đó ta phải thay đổi cách tính. Để đơn giản ta xét 3 phương trình 3 ẩn
số (n=3). Giả sử khi khử x1 ta gặp a11 =0 , thì ta nhìn các số a 21 , a 31 của x1 ở phương
trình dưới, nếu có hệ số nào khác 0 thì ta có thể lấy nó thay cho vai trị của a11 bằng
cách hốn vị hai phương trình. Nếu cả 3 hệ số a11 , a 21 , a 31 =0 thì hệ đã cho suy biến.
Ta cần chú ý là khi chia cho một số thì sai số càng bé khi số chia có giá trị tuyệt đối

càng lớn. Do đó, để hạn chế sai số khi tính tốn ta chọn trong các số a11 , a 21 , a 31 số có
giá trị tuyệt đối lớn nhất làm phần tử dẫn thứ nhất, còn gọi là trụ tối đại thứ nhất để
khử x1 .
Nếu a11 ≠ 0 , ta có thể khử x1 ở phương trình thứ k với 2 ≤ k ≤ n bằng cách nhân
hàng thứ nhất cho trừ -

a k1
và cộng kết quả cho hàng thứ k và ta tiếp tục qu á trình
a11

tương tự để khử x 2 , ..., x n-1 . Tuy nhiên như đã trình bày ở trên, để giảm tối đa sai số
trong tính tốn ta thực hiện phương pháp Gauss và phương án trục chính tồn phần
như sau:
- Bước 1: Tìm ở cột thứ nhất (tức là xem các số a11 , a 21 , ..., a n1 ) phần tử có trị tuyệt
đối lớn nhất, giả sử đó là a r1 , nghĩa là a r1 ≥ a i1 , 1 ≤ i ≤ n .
- Bước 2: Đổi vị trí hàng 1 với hàng thứ r, ta có hệ tương đương


14
a r1x1 +a r2 x 2 +...+a rn x n =b r
a x +a x +...+a x =b
 21 1 22 2
2n n
2
.

...
a n1x1 +a n2 x 2 +...+a nn x n =b n

Sau khi khử x1 ở hàng thứ 2 đến hàng thứ n trong hệ trên thì hệ mới có dạng:

′ x1 +a12
′ x 2 +...+a1n
′ x n =b1′
a11

a ′22 x 2 +...+a ′2n x n =b′2


...


a ′n2 x 2 +...+a ′nn x n =b′n

(1.1)

Ta tiếp tục tìm ở cột thứ 2 của hệ (1.1) phần tử có trị tuyệt đối lớn nhất, giả sử a ′j2
với a ′j2 ≥ a ′i2 ,2 ≤ i ≤ n . Ta đổi chổ hàng j với hàng 2 và khử x 2 từ hàng 3, 4, …, n bằng
cách nhân hàng 2 cho -

a ′k2
. Tiếp tục quá trình này ta sẽ đưa hệ (1) về dạng
a ′j2

′ x1 +a12
′ x 2 +...+a1n
′ x n =b1′
a11

a ′22 x 2 +...+a ′2n x n =b′2



...

 a′
x +a ′ x =b′
 (n-1)(n-1) n-1 (n-1)n n n-1

a ′nn x n =b′n

và bằng phép thế ngược ta sẽ tìm được nghiệm của hệ phương trình đã cho.
1.1.3. Sơ đồ Gauss Compact
Cịn gọi là phương pháp Gauss-Jordan. Phương pháp này có thể xem là một biến
dạng của phương pháp Gauss. Để tiện việc trình bày sơ đồ ta xét hệ (1) với n=4

a (0) x1 +a (0) x1 +a (0) x1 +a (0) x1 =a (0)
12
13
14
15
 11
(0)
(0)
(0)
(0)
a (0)
21 x1 +a 22 x1 +a 32 x1 +a 42 x1 =a 25
 (0)
(0)
(0)
(0)

(0)
a 31 x1 +a 32 x1 +a 33 x1 +a 34 x1 =a 35
 (0)
(0)
(0)
(0)
(0)
a 41 x1 +a 42 x1 +a 43 x1 +a 44 x1 =a 45

(1.2)

Nội dung của phương pháp Gauss-Jordan là khử dần các ẩn số để đưa hệ (1.2) về
hệ chéo sau:
(4)
 x1
=a15


x2
=a (4)
25

(4)
x3
=a 35


x 4 =a (4)

45


(1.3)


15

Từ hệ (1.3) ta sẽ tìm được các nghiệm x 1 , x 2 , x 3 , x 4 .
Như vậy nội dung cơ bản của phương pháp này là làm triệt tiêu tất cả những phần
tử của ma trận hệ số của hệ (1.2) không nằm trên đường chéo chính.
Thực hiện các phép khử ta được bảng sau:
Bảng 1.1: Các bước thực hiện phương pháp Gauss-Jordan

Quá trình khử x 1

Quá trình khử x 2

x1

x2

x3

x4

bi



(0)
a11


(0)
a12

(0)
a13

(0)
a14

(0)
a15

∑a

(0)
1j

a (0)
21

a (0)
22

a (0)
23

a (0)
24


a (0)
25

∑a

(0)
2j

(0)
a 31

(0)
a 32

(0)
a 33

(0)
a 34

(0)
a 35

∑a

(0)
3j

a (0)
41


a (0)
42

a (0)
43

a (0)
44

a (0)
45

∑a

(0)
4j

1

(1)
a12

(1)
a13

(1)
a14

(1)

a15

∑a

(1)
1j

a (1)
22

a (1)
23

a (1)
24

a (1)
25

∑a

(1)
2j

(1)
a 32

(1)
a 33


(1)
a 34

(1)
a 35

∑a

(1)
3j

a (1)
42

a (1)
43

a (1)
44

a (1)
45

∑a

(1)
4j

(2)
a13


(2)
a14

(2)
a15

∑a

(2)
1j

a (2)
23

a (2)
24

a (2)
25

∑a

(2)
2j

(2)
a 33

(2)

a 34

(2)
a 35

∑a

(2)
3j

a (2)
43

a (2)
44

a (2)
45

∑a

(2)
4j

(3)
a14

(3)
a15


∑a

(3)
1j

a (3)
24

a (3)
25

∑a

(3)
2j

(3)
a 34

(3)
a 35

∑a

(3)
3j

a (3)
44


a (3)
45

∑a

(3)
4j

(4)
a15

∑a

(4)
1j

a (4)
25

∑a

(4)
2j

(4)
a 35

∑a

(4)

3j

a (4)
45

∑a

(4)
4j

1
1

Quá trình khử x 3

1
1
1

Quá trình khử x 4

1
1
1
1


16

với


(1)
(0) (0)
a1j
=a1j
/a11 , j=2, 3, 4, 5;
(0) (1)
a ij(1) =a ij(0) -a i1
a1j ,i=2, 3, 4; j=2, 3, 4, 5.
(1) (1)
a (2)
2j =a 2j /a 22 , j=3, 4, 5;
(1) (2)
a ij(2) =a ij(1) -a i2
a 2j ,i=1, 3, 4; j=3, 4, 5.
(3)
(2) (2)
a 3j
=a 3j
/a 33 , j=4, 5;
(2) (3)
a ij(3) =a ij(2) -a i3
a 3j , i=1, 2, 4; j=4, 5.

(3) (3)
a (4)
4j =a 4j /a 44 , j=5;
(3) (4)
a ij(4) =a ij(3) -a i4
a 4j , i=1, 2, 3; j=5.


Ví dụ 1.1:
2x1 +x 2 -0,1x 3 +x 4 =2,7

0,4x1 +0,5x 2 +4x 3 -8,5x 4 =21,9

0,3x1 -x 2 +x 3 +5,2x 4 =-3,9
 x1 +0,2x 2 +2,5x 3 -x 4 =9,9

Giải
Áp dụng các buớc tính như trên ta có bảng sau:


17

Bảng 1.2 Bài giải áp dụng cơng thức Gauss-Jordan
Q trình

Q trình khử x 1

x1

x2

x3

x4

2


1

-0,1

1

2,7

6,6

4

0,5

4

-8,5

21,9

18,3

0,3

-1

1

5,2


-3,9

1,6

1

0,2

2,5

-1

9,9

12,6

1

0,5

-0,05

0,5

1,35

3,3

0,3


4,02

-8,7

21,36

16,98

-1,15

1,015

5,05

-4,305

0,610

-0,3

2,55

-1,5

8,55

9,300

-6,75


15,00

-34,25

-25,00

13,40

-29,00

71,20

56,60

16,425

-28,300

77,575

65,700

6,570

-10,200

29,910

26,280


3,36989

-2,36989

2,00000

-5,91207

7,91207

3,00000

-1,72298

4,72298

4,00000

1,11998

-1,11998

0,00000

1,00000

2,00000

2,00000


3,00000

3,00000

4,00000

-1,00000

0,00000

1
1

Quá trình khử x 2

1
1

Quá trình khử x 3

1

1
Quá trình khử x 4



bi

1

1
1

Vậy nghiệm của hệ là x 4 =-1; x 3 =3; x 2 =2; x 1 =1
1.2. Phương pháp nhân tử LU
Nội dung của phương pháp nhân tử LU là phân tích ma trận hệ số A thành tích của
hai ma trận L và U trong đó L là ma trận tam giác dưới và U là ma trận tam giác trên
khi đó việc giải hệ phương trình (1) sẽ đưa về việc giải hai hệ phương trình Ly=b và
Ux=y.
Định nghĩa: Một ma trận chuyển vị P có dạng n×n là một ma trận có đúng một giá
trị bằng 1 ở mỗi cột và mỗi hàng và tất cả các vị trí khác đều là 0. Các hàng của P sẽ là
một chuyển vị của ma trận đơn vị, và chúng ta có thể viết:


18
T

P=  Ik1 , I k 2 ,..., I k n  .
Các phần tử của P=  pij  có dạng:
n×n
1 khi j=k i
pij = 
0 khi j≠ k i

Cụ thể với P3×3 ta có thể viết
1 0 0 
P= 0 0 1 
0 1 0 
T


Định lý: Giả sử P=  I k1 , I k 2 , ..., I k n  là một ma trận chuyển vị . Tích của PA là
một ma trận mới có các dòng bao gồm dòng của ma trận A được bố trí lại theo thứ tự
dịng k1 A, k2 A, …, kn A.
Định Lý: Nếu A là ma trận không suy biến thì bao giờ cũng tồn tại một ma trận P
không suy biến sao cho ma trận PA phân tích được thành tích của ma trận tam giác
dưới L và ma trận tam giác trên U, nghĩa là PA=LU.
Trong một số sách nói về phương pháp nhân tử LU thì thường giả sử rằng ma trận
A sẽ được phân tích thành tích hai ma trận L và U chứ ít đề cập đến ma trận P.
Ta có thể minh họa cho định lý này bằng ví dụ sau:
0 1 -2 
A= 1 2 0  .
1 -1 3 

Ta có detA=3 ≠ 0 , trước tiên đổi chổ hàng thứ nhất và hàng thứ 2 ta được
1 2 0 
A → 0 1 -2  .
1 -1 3 
0 1 0 
Việc này tương đương với nhân bên trái của A cho ma trận P= 1 0 0 
0 0 1 
1 2 0 
Như vậy PA= 0 1 -2  .
1 -1 3 


19

Bây giờ chúng ta sẽ chỉ ra rằng PA sẽ phân tích được thành tích của 2 ma trận tam
giác L và U. Lấy hàng thứ 3 trừ đi hàng thứ nhất ta được
1 2 0 

PA → A = 0 1 -2  .
0 -3 3 
(1)

 0 1 0
Việc này tương đương với nhân bên trái của PA với ma trận P =  1 0 0  . Ta có
-1 0 1 
(1)

P (1) PA=A (1) . Cuối cùng lấy hàng thứ 3 cộng với 3 lần hàng thứ 2 ta được ma trận
A

(1)

1 2 0 
→ A = 0 1 -2  .
0 0 -3
(2)

Việc này tương đương với việc nhân bên trái của A

(1)

1 0 0 
với ma trận P = 0 1 0  .
0 3 1 
(2)

Ta có P (2) A (1) =A (2) . Tổng hợp các kết quả ta thu được P (2) P (1) PA=A (2) . Như ậvy
1 0 0   0 1 0  1 2 0  1 2 0 

0 1 0   1 0 0  0 1 -2  = 0 1 -2  .



 

0 3 1  -1 0 1  1 -1 3  0 0 -3
1 2 0 
1 0 0 


(2)
Đặt L=(P P ) = 0 1 0  và U=A = 0 1 -2  . Vậy ta thu được PA=LU . Đối
0 0 -3
1 -3 1 
(2)

(1) -1

với phương pháp nhân tử LU, người ta thường xét 2 dạng sau:
1.2.1. L có đường chéo chính bằng 1 (phương pháp Doolittle)
Khi đó A=LU với
 u11
 1 0 … 0
0
l

1 … 0
21


và U= 
L=
 

  



0
ln1 ln2 … 1 

u12  u1n 
u 22  u 2n 
.
   

0  u nn 

Các phần tử của ma trận L và U được xác định theo công thức sau:


20

u1j =a1j (1 ≤ j ≤ n)

l = a i1 (2 ≤ i ≤ n)
 i1 u11

i-1


u
=a
lik u kj (1 ≤ i ≤ j)

 ij ij
k=1

j-1
1

lij = u (a ij -∑ lik u kj )(1 ≤ j ≤ i)
k=1
jj


1.2.2. U có đường chéo chính bằng 1 ( phương pháp Crout)
Khi đó A=LU với
 l11 0 … 0 
1 u12 … u1n 
l

0 1 … u 
l
… 0
2n 
và U= 
L=  21 22





  




0 0 … 1 
ln1 ln2  lnn 

Các phần tử của hai ma trận L và U được xác định theo công thức sau
li1 =a i1 (1 ≤ i ≤ n)

u = a1j (2 ≤ j ≤ n)
 1j l11

j-1

l
=a
 ij ij ∑ lik u kj (1 ≤ j ≤ i)
k=1

i-1

1
u
=
(a
ij ∑ lik u kj )(1 ≤ i ≤ j)
 ij

lii
k=1


Ví dụ 1.2:
 x1 +x 2 +3x 4 =4
2x +x -x +x =1
 1 2 3 4

3x1 -x 2 -x 3 +2x 4 =-3
-x1 +2x 2 +3x 3 -x 4 =4

Ta có phân tích của ma trận hệ số A theo phương pháp Doolittle như sau:
1
2
A= 
3

-1

1
1
-1
2

0
-1
-1
3


3 1
1   2
=
2 3
 
-1 -1

0
1
4
-3

0
0
1
0

0  1 1 0 3 
0  0 -1 -1 -5 
=LU .
0  0 0 3 13 


1  0 0 0 -13

Phân tích này cho phép chúng ta giải hệ phương trình đã cho
1
2
Ax=LUx= 
3


 -1

0
1
4
-3

0
0
1
0

0   1 1 0 3   x1   4 
0  0 -1 -1 -5   x 2   1 
.
=
0   0 0 3 13   x 3   -3

   
1   0 0 0 -13  x 4   4 


21

Đặt y=Ux và ta có Ly=b.
1
2
LUx=Ly= 
3


-1

0 0   y1   4 
1 0 0   y 2   1 
=
4 1 0   y3  -3
   
-3 0 1   y 4   4 
0

Như vậy y= [ 4 1 -3 4] và cuối cùng từ hệ phương trình
T

 1 1 0 3   x1   4 
0 -1 -1 -5   x   -7 
 2= 
Ux= 
0 0 3 13   x 3   13 

   
0 0 0 -13  x 4  -13

Ta thu được nghiệm x= [ -1 2 0 1] .
T

1.2.3. Phương pháp Choleski
Còn được gọi là phương pháp căn bậc hai. Đây là trường hợp đặc biệt của phương
pháp nhân tử LU và được dùng cho trường hợp ma trận hệ số A là đối xứng.
Xét hệ phương trình dạng Ax=b

Định lí 2: Ma trận A là đối xứng và xác định dương khi và chỉ khi tồn tại một ma
trận B tam giác dưới, khả nghịch sao cho A=BBT .
Khi đó ma trận tam giác dưới B có thể tìm được theo cơng thức sau:
b11 = a11

b = a i1 (2 ≤ i ≤ n)
 i1 b
11

i-1

2
b
=
a
(1 ≤ i ≤ n)
ii ∑ b ik
 ii
k=1

j-1

1
=

b
(a
bik b kj ) (1 ij


ij
b
k=1

jj

V

(1.4)

1.3: Xét hệ phương trình

 1 1 -1  x1  1 
Ax=  1 2 0   x 2  =  2  =b .
-1 0 4   x 3   3 

 1 1 -1
Vì ma trận A=  1 2 0  là đối xứng, nên từ công thức (1.4) ta có thể xác định các
-1 0 4 

hệ số bij (i

22

b 11 =1; b 21 =2; b 31 =-1; b 22 =1; b 32 =1; b 33 = 2 .
Và do đó
 1 1 -1  1 0

A=  1 2 0  =  1 1

-1 0 4  -1 1


0  1 1

0  0 1
2  0 0

-1 

1  =BBT
2 
By=b

Hệ phương trình ban đầu sẽ tương đương với hai hệ: 

T
B x=y

1 0

Ta được By=b By=b ⇔  1 1
-1 1

1 1

và BT x=y ⇔ 0 1
0 0





-1  x1  


1   x 2  = 

2   x 3  


  y1 
 
  y 2=



y
2   3 

0
0

1 

2 ⇒=
y 1 1
 

 3 



1 

 -1
1  ⇒ x= 3
2

3 

2 

.

3 

2

T

T

3
.
2 

Vậy nghiệm của phương trình là x1 =
3, x2 =
−1/ 2, x3 =
3/ 2 .
2. Một số phương pháp gián tiếp giải hệ phương trình tuyến tính

2.1. Phương pháp lặp đơn
2.1.1. chuẩn của ma trận
A=(a ij ) n×n ∈ R n×n

:
i) A ≥ 0; Aθ =
0 ⇔ A=
ii) λA = λ A
iii) A+B ≤ A + B
Với ma trận ta thường dùng các chuẩn:
A

n

=max
∑ a ij  (i=1,n)
(1)
 j=1 

A

n

=max
∑ a ij  (j=1,n)
(2)
 i=1


2.1.2. Nội dung phương pháp

Đưa hệ phương trình (2) về dạng:

â


23

(2.1)

X=αX+β

với α là ma trận vuông cấp n, β là ma trận cột đã biết.
Để đơn giản ta xét hệ 3 phương trình 3 ẩn
a11x1 +a12 x 2 +a13 x 3 =b1

a 21x1 +a 22 x 2 +a 23 x 3 =b 2 .
a x +a x +a x =b
 31 1 32 2 33 3 3

khi đó hệ phương trình trên được viết lại thành

 x1 

X=β+αX trong đó X=  xβ=
2,
 x 3 

 b1 
 
 a11 

 b2 
 , α = a 22 
 b3 
 
 a 33 

ij

a
, αij =0;ii (i, j=1,n i
a ii

j )≠

.

Từ đó ta có cơng thức lặp
k+1
 xβ
 α 1 
1

k+1  k+1 
X =β x 2 +  α=  2 α

 xβ3k+1  α 3 



X k+1β+αX

=

α 11 α 12 x
 α
x
22
 21
α 31 α 32 x



23  

33  

13

k
1
k
2
k
3



 hay dạng rút gọn




k

(2.2)

Thuật Toán
+ Chọn X0 là giá trị xấp xỉ ban đầu
0
 xβ

1
0  0
X =  β=
x 2  =β
 xβ30 
 








2.

3

1

+ Dựa vào cơng thức (2.2) ta tính được

X1 =β+αX
 2
X =β+αX

...
X k+1β+αX
=


0
1

(2.3)
k

k+1
 xβ
 α 1 
1
k+1  k+1 
hay X =β x 2 +  α=  2 α
 xβ3k+1  α 3 



α 11 α 12 x
 α
x
22
 21

α 31 α 32 x



23  

33  

13

k
1
k
2
k
3



.



Quá trình lặp công thức (2.2 ) cho ta một dãy nghiệm gần đúng
quá trình lặp đơn.

{X } được gọi là
k



24

2.1.3. Sự hội tụ
Định nghĩa: Ta nói dãy các ma trận
A (k) -A

(p)

{A } hội tụ về ma trận A nếu dãy các chuẩn
(k)

(p=1,2) dần về 0 khi k → ∞ .

Ký hiệu: {A (k) } → A, k → ∞. {A (k) } ={a ij(k) } .
Định lý: Điều kiện cần và đủ để dãy ma trận {A (k) } hội tụ về ma trận A=(a ij) theo
chuẩn nào đó là các phần tử {a ij(k) } hội tụ về a ij khi k → ∞ .
Định nghĩa: Nếu dãy

{X } tính
k

theo cơng ức
th (2.2 ) hội tụ tới vectơ X khi

k → ∞ thì ta nói q trình đó hội tụ.

Định lý: Giả sử hệ phương trình Ax=b có nghiệm đúng X * duy nhất (detA ≠ 0)
Nếu quá trình lặp (2.2) hội tụ khi k → ∞ thì dãy {X k } sẽ hội tụ về nghiệm X* của hệ
phương trình Ax=b.
Định lý: Nếu một trong các chuẩn quen thuộc đã được định nghĩa đối với ma trận

α thỏa điều kiện:
α

(p)

<1 (p=1,2)

thì quá trình ặl p (2.2 ) với giá trị ban đầu X 0 bất kỳ sẽ hội tụ tới nghiệm X* của hệ
phương trình Ax=b.
Với ε>0 cho trước, quá trình lặp (2.2) sẽ dừng lại khi

{

}

max x1k+1 -x1k , xε2k+1 -x k2 , x 3k+1 -x 3k ≤

khi đó nghi
ệm gần đúng của hệ phương trình

k+1
 x1   x1 


Ax=b sẽ là X=  x 2  =  x k+1
2 .
 x 2   x 3k+1 

2.1.4. Sai số
Trong phương pháp lặp, muốn có nghiệm đúng thì ta phải tính cơng thức (2.3) ra

vơ hạn lần. Điều đó khơng thực hiện được nên ta chỉ tính tới buớc k. Khi đó ta được:

X (k) ≈ X* .
(k+1)

Và công thức ước lượng sai số là: X

(k)

α
-X
β ≤
1-α
*

.

Ví dụ 1.4: Dùng phương pháp lặp đơn giải hệ phương trình


25
­4x1 +0,24x 2 -0,08x 3 =8
°
®0,09x1 +3x 2 -0,15x 3 =9 .
°0,04x -0,08x +4x =20
1
2
3
¯


Giải
- Bước 1: Chia phương trình thứ nhất cho a 11 =4, phương trình thứ 2 cho a 22 =3 và
phương trình thứ 3 cho a 33 =4 ta được:
­ x1 =2+0x1 -0,06x 2 +0,02x 3
­ x1 +0,06x 2 -0,02x 3 =2
°
°
®0,03x1 +x 2 -0,05x 3 =3 Ÿ ® x 2 =3-0,03x1 +0x 2 +0,05x 3
° x =5-0,01x +0,02x +0x
°0,01x -0,02x +x =5
1
2
3
1
2
3
¯ 3
¯

Khi đó ta cú cỏc ma trn
-0,06 0,02
ê2
ê 0
ô

ô
= ô 3 ằ , = ô-0,03
0
0,05ằằ , 1 =0,08<1
ôơ 5 ằẳ

ôơ -0,01 0,02
0 ằẳ

- Bc 2: p dng cụng thc lp (2.2)
ê x10 º
« »
+ Chọn X 0 = « βx= 02 ằ =3
ô x 30 ằ
ơ ẳ

ê2
ô ằ
ô ằ
ôơ 5 ằẳ

ê x1k+1 º ª 2 º ª 0
-0,06 0,02 º ª x1k º
«
»
« »
0
0,05 »» « x k2 »
+ X k+1 = « x 2k+1 » = «« 3 »» + ôô-0,03
ô x 3k+1 ằ ôơ 5 ằẳ ôơ -0,01 0,02
0 ằẳ ôơ x 3k ằẳ
ơ


C th
ê x1k+1 ê 2 ê 0

-0,06 0,02 ê 2
ô

ô
1 ô k+1 »
X = « x 2 » = « 3 » + ô-0,03
0
0,05ằằ ôô 3 ằằ
ô x 3k+1 ằ ôơ 5 ằẳ ôơ -0,01 0,02
0 ằẳ ôơ 5 ằẳ
ơ

ư x11 =2+0,2+3ì(-0,06)+5ì0,02=1,92

Vy ® x12 =3+2×(-0,03)+0,03+5×0,05=3,19
° 1
¯ x 3 =5+2×(-0,01)+3×0,02+0,05=5,04


×