1. Trang chủ
  2. » Giáo án - Bài giảng

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

30 456 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 209,86 KB

Nội dung

3.1 PHƯƠNG PHÁP GAUSS Trước khi trình bày phương pháp Gauss, chúng ta xét một số trường hợp đơn giản khi ma trận hệ số A của hệ phương trình 3.1 có dạng đặt biệt... 3.2 PHƯƠNG PHÁP NHÂN

Trang 1

rất thường gặp trong các bài toán khoa học kĩ thuật Ta chỉ xét hệ

gồm n phương trình với n ẩn Do vậy ma trận hệ số A là ma trận vuông cấp n, và vectơ nghiệm x cũng như vectơ tự do b là các vectơ cột n chiều thuộc Rn Ta luôn giả thiết rằng det A 6= 0, và do đó bao giờ hệ cũng có nghiệm duy nhất x = A−1b Tuy nhiên việc tìm ma

trận nghịch đảo A−1 đôi khi còn khó khăn gấp nhiều lần so với việcgiải trực tiếp hệ phương trình xuất phát Dưới đây chúng ta sẽ xétmột số phương pháp thường dùng để giải hệ phương trình (3.1)

3.1 PHƯƠNG PHÁP GAUSS

Trước khi trình bày phương pháp Gauss, chúng ta xét một số

trường hợp đơn giản khi ma trận hệ số A của hệ phương trình (3.1)

có dạng đặt biệt

Trang 2

Trường hợp đơn giản nhất là trường hợp hệ phương trình có matrận hệ số có dạng đường chéo:

Khi ấy hệ tương đương với n phương trình bậc nhất aiixi= bi, ∀i = 1, n

Vì det A = a11a22· · · ann 6= 0 nên aii6= 0, ∀i Và do đó nghiệm của hệ

có thể được viết dưới dạng:

Với giả thiết det A 6= 0, ta có aii6= 0, ∀i = 1, n, và nghiệm của hệ được

cho bởi công thức:

Trang 3

3.1 Phương pháp Gauss 37

Tương tự det A 6= 0 ⇒ aii6= 0, ∀i = 1, n, và nghiệm của hệ có dạng:

Trang 4

• Nhân một hàng cho một số khác không.

• Hoán chuyển hai hàng cho nhau

• Cộng một hàng cho một hàng khác đã nhân với một số kháckhông

Xét hệ thống phương trình sau:

Trang 5

3.1 Phương pháp Gauss 39

Trong các số a(1)22, , a(1)n2 phải có một số khác không, vì nếu ngược

lại thì det A = 0, trái với giả thiết Giả sử a(1)22 6= 0 Còn nếu chỉ có

a(1)p2 6= 0 và a(1)22 = 0 thì ta thực hiện phép hoán chuyển hai phương

trình thứ 2 và thứ p Tiếp tục biến đổi cho n − 2 phương trình cuối Và cứ tiếp tục cho đến phương trình thứ n, ta được hệ phương trình

Ta thực hiện các phép biến đổi sau: (h2 = h2 − 2h1), (h3 =

h3− h1), (h4= h4− h1), khi đó ma trận trở thành

Trang 6

giữa hàng thứ hai và thứ ba và thu được

Trang 7

3.1 Phương pháp Gauss 41

cùng cột của phần tử trội bằng không Qua n bước như vậy ta sẽ tìm

được nghiệm dễ dàng 1 Ta minh hoạ phương pháp này bằng ví dụsau

Ví dụ 3.2. Xét hệ phương trình trong ví dụ trước có ma trận hệ số mở rộng

Trang 8

Đầu tiên ta sẽ chọn phần tử chính là phần tửa(0)43 = 4và thực hiệncác phép biến đổi(4h3− h4), (4h2− 3h4), (2h1− h4)ta thu được

Trang 9

3.1 Phương pháp Gauss 43

Từ đây chúng ta cũng suy ra đượcx = [−7, 3, 2, 2]T

Thuật toán giải hệ phương trình bằng phương pháp phần tử trộiđược thể hiện trong Chương trình 3.4 Đối số của chương trình gồm:

N là số phương trình và số ẩn,a là ma trận hệ số cấp N × (N + 1), cột thứ N + 1 là vectơ tự do Kết quả trả về của chương trình là vectơ

Trang 10

for i=1:N, x(b(i))=a(i,N+1); end;

Các phương pháp có sử dụng các phép biến đổi sơ cấp cơ bản có

ưu điểm là đơn giản, dễ lập trình Tuy nhiên nếu phần tử được chọnđể biến đổi gần với không thì phương pháp Gauss có thể cho kếtquả không chính xác Hơn nữa, nếu các phép toán cộng, trừ, nhân,chia được làm đúng hoàn toàn, thì các phương pháp trên cho chúng

ta nghiệm đúng của hệ phương trình Tuy nhiên, khi thực hiện trêncác công cụ tính toán, ta vẫn gặp phải sai số làm tròn Cho nên cácphương pháp Gauss vẫn được xem như là các phương pháp gần đúng

3.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 (3.1) sẽ đưa về việc giải hai hệ phương trình Ly = b và U x = y

mà ma trận hệ số là các ma trận tam giác và nghiệm thu được từ cáccông thức (3.2) và (3.3) Ta có định lí sau đây

Định lí 3.1 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 P A 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à P A = LU

Có rất nhiều phương pháp phân tích A = LU , tuy nhiên ta thường xét trường hợp ma trận L có đường chéo chính bằng 1 và gọi là phương pháp Doolittle Khi đó L và U có dạng:

Trang 11

3.2 Phương pháp nhân tử LU 45

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

Trang 12

Ta có phân tích của ma trận hệ số A = LU theo phương phápDoolittle như sau:

−34

số cấp N × N Kết quả trả về của chương trình là ma trận tam giác

dướil và ma trận tam giác trênu

Chương trình 3.5 - c3LUfactor : Phương pháp nhân tử LU function [l,u] = c3LUfactor(N,a)

if nargin<2, error('Hàm có tối thiểu 2 đối số'); end; l=zeros(N); u=zeros(N);

for i=1:N, l(i,i)=1; end;

for j=1:N, u(1,j)=a(1,j); end;

if u(1,1)==0, error('Không thể phân tích được.');end; for i=2:N, l(i,1)=a(i,1)/u(1,1); end;

for i=2:N-1

Trang 13

3.2 Phương pháp nhân tử LU 47

Phương pháp phân rã LU áp dụng rất hiệu quả trong trường hợp

ma trận hệ số có dạng ba đường chéo:

Trang 14

Khi ấy từ công thức (3.4) ta có

ui,i= ai,i− li,i−1ui−1,i; ∀i = 2, 3, , n

ui,i+1= ai,i+1; li+1,i=ai+1,i

ui,i ; ∀i = 2, 3, , n − 1

Để thể hiện thuật toán Doolittle trong trường hợp ma trận hệ số

có dạng ba đường chéo, thay vì đưa vào ma trận A, ta đưa vào ba

vectơ:a chứa các phần tử trên đường chéo chính của A,b là đườngchéo nằm trên đường chéo chính và c là đường chéo nằm dướiđường chéo chính, vectơ tự do làd Chương trình trên MatLab đượcthể hiện trong chương trình 3.6 Kết quả trả về là vectơ nghiệmx

Chương trình 3.6 - c3tridiag : Ma trận ba đường chéo function [x]=c3tridiag(N,a,b,c,d)

if nargin<5, error('Ham co toi thieu 5 doi so.'); end; u(1)=a(1);v(1)=b(1);l(1)=c(1)/u(1);y(1)=d(1);

Trang 15

3.3 Phương pháp Choleski 49

3.3 PHƯƠNG PHÁP CHOLESKI

Đây là trường hợp đặt 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 đối xứng và xác định dương.

Ma trận vuông A được gọi là đối xứng nếu AT = 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à aij = aji, ∀i, j = 1, n Còn ma trận A là xác định dương nếu ∀x ∈ Rn, x 6= 0 : xTAx > 0 Để kiểm tra tính xácđịnh dương của một ma trận, ta thường dùng định lí sau đây

Định lí3.2 Một ma trận là xác định dương khi và chỉ khi tất cả các

định thức con chính của nó đều dương.

Trong đó định thức con chính cấp k, 1 6 k 6 n của ma trận là định thức con thu được từ k hàng và k cột đầu tiên của ma trận đó.

Ví dụ 3.5. Xét ma trận A =

= 1 > 0và ∆3=

= 2 > 0 Do đó

Alà xác định dương

Ta có định lí Choleski:

Định lí3.3 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ả đảo sao cho A = BBT Khi đó ma trận tam giác dưới B có thể tìm được theo công thức

Trang 16

Ví dụ 3.6. Xét hệ phương trình

và do đóA = BBT vớiB =

 Hệ phương trìnhxuất phát sẽ tương đương với hai hệ

√2

√2

Thuật toán phân rã Choleski được thể hiện trong Chương trình3.7 Đối số của chương trình gồm: N là cấp của ma trận, a là matrận hệ số đối xứng và xác định dương Kết quả trả về của chươngtrình là ma trận tam giác dướib

Chương trình 3.7 - c3choleski : Phương pháp Choleski function [b] = c3choleski(N,a)

if nargin<2, error('Hàm có tối thiểu 2 đối số'); end; for i=1:N

Trang 17

3.3 Phương pháp Choleski 51

Trang 18

Ví dụ 3.7. Xét hệ phương trình

√3

√3

và ta có nghiệm của hệ phương trình làx1= 0, x2= 1, x3= 1

3.4 CHUẨN VECTƠ VÀ CHUẨN MA TRẬN

Xét không gian tuyến tính thực Rn Chuẩn của vectơ x ∈ Rn là

một số thực, ký hiệu là kxk, thoả các điều kiện sau đây:

(i) ∀x ∈ Rn, kxk > 0, kxk = 0 ⇔ x = 0

(ii) ∀x ∈ Rn, ∀λ ∈ R, kλxk = |λ| kxk

(iii) ∀x, y ∈ Rn, kx + yk 6 kxk + kyk Điều kiện này thường được gọi làbất đẳng thức tam giác

Trong Rn có thể có rất nhiều chuẩn, tuy nhiên chúng ta chỉ xét

chủ yếu hai chuẩn thường dùng sau đây: ∀x = [x1, x2, , xn]T ∈Rn

kxk1= |x1| + |x2| + · · · + |xn| =

n

X

Trang 19

3.4 Chuẩn vectơ và chuẩn ma trận 53

Từ công thức (3.8) ta dễ dàng suy ra được rằng: kAxk 6 kAkkxk

Định lí3.4 Chuẩn ma trận theo công thức (3.8) tương ứng với chuẩn

vectơ được xác định như sau:

kx(m)− xk → 0 khi m → +∞ (hội tụ theo chuẩn).

Trang 20

Khi đó ta ký hiệu lim

m→∞x(m) = x và chuẩn có thể lấy một chuẩnbất kỳ trong các công thức (3.6) hoặc (3.7) Ta cũng có thể nói dãy

vectơ {x(m)}hội tụ về x theo chuẩn đã cho Ta có định lí sau đây:

Định lí 3.5 Để dãy các vectơ {x(m)}hội tụ tới vectơ x khi m → +∞ theo chuẩn thì điều kiện cần và đủ là dãy {x(m)k }hội tụ về xk, ∀k = 1, n (hội tụ theo toạ độ).

Bây giờ xét hệ phương trình Ax = b(det A 6= 0) có nghiệm x = A−1b

Cho b một số gia ∆b, khi đó nghiệm x tương ứng sẽ có số gia là ∆x, và A∆x = ∆b ⇔ ∆x = A−1∆b Ta có

−1kk∆bk kbk

Số

được gọi là số điều kiện của ma trận A Ta có thể chứng tỏ được rằng

1 6 k(A) 6 +∞

Số điều kiện của ma trận đặc trưng cho tính ổn định của hệ thống

phương trình đại số tuyến tính Giá trị của k(A) càng gần với 1 thì

hệ càng ổn định Số điều kiện càng lớn thì hệ càng mất ổn định

Ví dụ 3.9. Xét hệ phương trình Ax = b với A =



Bây giờ xét hệ

A˜ x = ˜ bvới˜b =

3



Ta nhận thấyk(A) = 1207.01  1 Do đób ≈ ˜ b, nhưngxvà ˜x

khác nhau rất xa

Trang 21

3.5 Phương pháp lặp 55

3.5 PHƯƠNG PHÁP LẶP

Kĩ thuật lặp dùng để giải hệ phương trình đại số tuyến tính (3.1)cũng tương tự như phương pháp lặp đã xét trong chương 2 Muốn thế,

chúng ta chuyển hệ (3.1) về dạng tương đương x = T x + c với T là một

ma trận vuông cấp n và c là một vectơ đã biết Xuất phát từ vectơ ban đầu x(0), ta xây dựng một dãy các vectơ {x(m)}∞

m=0theo công thứclặp

với m = 1, 2, 3, Ta có định lí sau đây:

Định lí 3.6 Nếu kT k < 1 thì dãy lặp các vectơ xác định theo công

thức (3.12) sẽ hội tụ về nghiệm x của hệ với mọi vectơ lặp ban đầu

x(0) Khi đó ta có các công thức đánh giá sai số như sau:

Bây giờ chúng ta sẽ xét một dạng ma trận hệ số của hệ phương

trình Ax = b mà có thể chuyển dễ dàng về dạng x = T x + c.

Định nghĩa 3.3 Ma trận A được gọi là ma trận đường chéo trội

nghiêm ngặt nếu nó thoả mãn điều kiện sau đây:

Trang 22

phân tích ma trận A theo dạng

Từ hệ (3.16) ta có Dx = (L + U )x + b Do tồn tại D−1 nên

x = D−1(L + U )x + D−1b Ký hiệu Tj= D−1(L + U ) và cj= D−1b Khiđó công thức lặp theo (3.12) sẽ có dạng

x(m)= Tjx(m−1)+ cj, m = 1, 2, 3, (3.17)Phương pháp lặp dựa trên công thức lặp (3.17) được gọi làphương pháp Jacobi Dạng tường minh của công thức (3.17) như sau:

Trang 23

3.5 Phương pháp lặp 57

aij

aii

... data-page="21">

3. 5 Phương pháp lặp 55

3. 5 PHƯƠNG PHÁP LẶP

Kĩ thuật lặp dùng để giải hệ phương trình đại số tuyến tính (3. 1)cũng tương tự phương pháp lặp xét chương. .. thể Chương trình3 .7 Đối số chương trình gồm: N cấp ma trận, a matrận hệ số đối xứng xác định dương Kết trả chươngtrình ma trận tam giác dướib

Chương trình 3. 7 - c3choleski... data-page="25">

3. 5 Phương pháp lặp 59

Phương pháp lặp Jacobi thể Chương trình 3. 8.Đối số chương trình gồm: N cấp ma trận, a ma trậnhệ số cấpN×(N+1),x0

Ngày đăng: 29/08/2015, 12:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w