SlideShare a Scribd company logo
1 of 30
Download to read offline
Chöông 3 
HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ 
TUYEÁN TÍNH 
Trong chöông naøy chuùng ta neâu leân moät soá phöông phaùp duøng ñeå 
giaûi heä phöông trình ñaïi soá tuyeán tính 
Ax = b, (3.1) 
raát thöôøng gaëp trong caùc baøi toaùn khoa hoïc kó thuaät. Ta chæ xeùt heä 
goàm n phöông trình vôùi n aån. Do vaäy ma traän heä soá A laø ma traän 
vuoâng caáp n, vaø vectô nghieäm x cuõng nhö vectô töï do b laø caùc vectô 
coät n chieàu thuoäc Rn. Ta luoân giaû thieát raèng detA6= 0, vaø do ñoù bao 
giôø heä cuõng coù nghieäm duy nhaát x = A−1b. Tuy nhieân vieäc tìm ma 
traän nghòch ñaûo A−1 ñoâi khi coøn khoù khaên gaáp nhieàu laàn so vôùi vieäc 
giaûi tröïc tieáp heä phöông trình xuaát phaùt. Döôùi ñaây chuùng ta seõ xeùt 
moät soá phöông phaùp thöôøng duøng ñeå giaûi heä phöông trình (3.1). 
3.1 PHÖÔNG PHAÙP GAUSS 
Tröôùc khi trình baøy phöông phaùp Gauss, chuùng ta xeùt moät soá 
tröôøng hôïp ñôn giaûn khi ma traän heä soá A cuûa heä phöông trình (3.1) 
coù daïng ñaët bieät.
36 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH 
Tröôøng hôïp ñôn giaûn nhaát laø tröôøng hôïp heä phöông trình coù ma 
traän heä soá coù daïng ñöôøng cheùo: 
A = 
0 
BB@ 
a11 0 · · · 0 
0 a22 · · · 0 
· · · · · · · · · · · · 
0 0 · · · ann 
1 
CCA 
Khi aáy heä töông ñöông vôùi n phöông trình baäc nhaát aiixi = bi, 8i = 1, n. 
Vì detA = a11a22 · · ·ann6= 0 neân aii6= 0, 8i. Vaø do ñoù nghieäm cuûa heä 
coù theå ñöôïc vieát döôùi daïng: 
xi = bi 
aii 
, i= 1, 2, 3, · · · , n 
Tröôøng hôïp thöù hai khi ma traän heä soá A coù daïng tam giaùc treân: 
A = 
0 
BB@ 
a11 a12 · · · a1n 
0 a22 · · · a2n 
· · · · · · · · · · · · 
0 0 · · · ann 
1 
CCA 
Vôùi giaû thieát detA6= 0, ta coù aii6= 0, 8i = 1, n, vaø nghieäm cuûa heä ñöôïc 
cho bôûi coâng thöùc: 
8>>>< 
>>>: 
xn = bn 
ann 
xk = 
1 
akk 
0 
@bk − 
Xn 
j=k+1 
akjxj 
1 
A, k= n − 1, · · · , 1 
(3.2) 
Cuoái cuøng khi ma traän heä soá A coù daïng tam giaùc döôùi: 
A = 
0 
BB@ 
a11 0 · · · 0 
a21 a22 · · · 0 
· · · · · · · · · · · · 
an1 an2 · · · ann 
1 
CCA
3.1 Phöông phaùp Gauss 37 
Töông töï det A6= 0 ) aii6= 0, 8i = 1, n, vaø nghieäm cuûa heä coù daïng: 
8>>>< 
>>>: 
x1 = b1 
a11 
xk = 
1 
akk 
0 
@bk − 
kX−1 
j=1 
akjxj 
1 
A, k= 2, · · · , n 
(3.3) 
Thuaät toaùn giaûi heä phöông trình vôùi ma traän tam giaùc ñöôïc theå 
hieän trong Chöông trình 3.1 vaø 3.2. Ñoái soá cuûa chöông trình goàm: N 
laø soá phöông trình vaø soá aån, a laø ma traän heä soá caáp N × (N + 1), coät 
thöù N + 1 laø vectô töï do. Keát quaû traû veà cuûa chöông trình laø vectô 
nghieäm x . 
Chöông trình 3.1. - c3upper : Ma traän heä soá tam giaùc treân. 
function [x] = c3upper(N,a) 
if nargin < 2, error('Haøm coù toái thieåu 2 ñoái soá');end; 
x(N)=a(N,N+1)/a(N,N); 
for k=N-1:-1:1 
sum = 0; 
for j=k+1:N 
sum=sum+a(k,j)*x(j); 
end; 
x(k)=(a(k,N+1)-sum)/a(k,k); 
end; 
Chöông trình 3.2. - c3lower : Ma traän heä soá tam giaùc döôùi. 
function [x] = c3lower(N,a) 
if nargin < 2, error('Haøm coù toái thieåu 2 ñoái soá');end; 
x(1)=a(1,N+1)/a(1,1); 
for k=2:N 
sum = 0;
38 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH 
for j=1:k-1 
sum=sum+a(k,j)*x(j); 
end; 
x(k)=(a(k,N+1)-sum)/a(k,k); 
end; 
Baây giôø chuùng ta seõ trình baøy phöông phaùp Gauss ñeå giaûi heä 
phöông trình toång quaùt daïng (3.1). Noäi dung cuûa phöông phaùp Gauss 
duøng ñeå giaûi heä phöông trình ñaïi soá tuyeán tính laø söû duïng caùc pheùp 
bieán ñoåi sô caáp theo haøng ñeå chuyeån veà moät heä phöông trình môùi 
töông ñöông vôùi heä phöông trình cuõ maø ma traän heä soá coù daïng tam 
giaùc. Caùc pheùp bieán ñoåi sô caáp thöôøng hay söû duïng laø: 
• Nhaân moät haøng cho moät soá khaùc khoâng. 
• Hoaùn chuyeån hai haøng cho nhau. 
• Coäng moät haøng cho moät haøng khaùc ñaõ nhaân vôùi moät soá khaùc 
khoâng. 
Xeùt heä thoáng phöông trình sau: 
8>>< 
>>: 
a11x1 + a12x2 + . . . + a1nxn = b1 
a21x1 + a22x2 + . . . + a2nxn = b2 
. . . . . . . . . . . . 
an1x1 + an2x2 + . . . + annxn = bn 
Do ñònh thöùc cuûa ma traän heä soá A khaùc khoâng neân moät trong caùc 
soá a11, a12, . . . ,a1n phaûi khaùc khoâng. Giaû söû a116= 0. Laáy phöông trình 
thöù k vôùi k = 2, n tröø cho phöông trình moät ñaõ nhaân vôùi ak1 
a11 
, ta ñöôïc 
moät heä môùi coù daïng nhö sau: 
8>>< 
>>: 
a11x1 + a12x2 + . . . + a1nxn = b1 
a(1) 
x2 + . . . + a2nxn (1) 
= b(1) 
22 2 
. . . . . . . . . 
a(1) 
n2 x2 + . . . + annxn (1) 
= b(1) 
n
3.1 Phöông phaùp Gauss 39 
Trong caùc soá a(1) 
22 , . . . ,a(1) 
n2 phaûi coù moät soá khaùc khoâng, vì neáu ngöôïc 
laïi thì det A = 0, traùi vôùi giaû thieát. Giaû söû a(1) 
226= 0. Coøn neáu chæ coù 
a(1) 
p26= 0 vaø a(1) 
22 = 0 thì ta thöïc hieän pheùp hoaùn chuyeån hai phöông 
trình thöù 2 vaø thöù p. Tieáp tuïc bieán ñoåi cho n − 2 phöông trình cuoái. 
Vaø cöù tieáp tuïc cho ñeán phöông trình thöù n, ta ñöôïc heä phöông trình 
sau 
8>>< 
>>: 
a11x1 + a12x2 + . . . + a1nxn = b1 
a(1) 
22 x2 + . . . + a(1) 
2n xn = b(1) 
2 
. . . . . . . . . 
a(n−1) 
nn xn = b(n−1) 
n 
Ñaây laø heä phöông trình coù ma traän heä soá coù daïng tam giaùc treân 
vaø coù theå giaûi ñöôïc baèng coâng thöùc (3.2). 
Ví duï 3.1. Xeùt heä phöông trình ñaïi soá tuyeán tính sau: 
8>>< 
>>: 
x1 − x2 + 2x3 − x4 = −8 
2x1 − 2x2 + 3x3 − 3x4 = −20 
x1 + x2 + x3 = −2 
x1 − x2 + 4x3 + 3x4 = 4 
Ma traän heä soá môû roäng coù daïng 
A(0) = 
0 
BB@ 
1 −1 2 −1 : −8 
2 −2 3 −3 : −20 
1 1 1 0 : −2 
1 −1 4 3 : 4 
1 
CCA 
Ta thöïc hieän caùc pheùp bieán ñoåi sau: (h2 = h2 − 2h1), (h3 = 
h3 − h1), (h4 = h4 − h1), khi ñoù ma traän trôû thaønh 
A(1) = 
0 
BB@ 
1 −1 2 −1 : −8 
0 0 −1 −1 : −4 
0 2 −1 1 : 6 
0 0 2 4 : 12 
1 
CCA 
Phaàn töû a(1) 
22 = 0, do ñoù ñeå tieáp tuïc, ta thöïc hieän pheùp chuyeån ñoåi
40 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH 
giöõa haøng thöù hai vaø thöù ba vaø thu ñöôïc 
A(2) = 
0 
BB@ 
1 −1 2 −1 : −8 
0 2 −1 1 : 6 
0 0 −1 −1 : −4 
0 0 2 4 : 12 
1 
CCA 
Cuoái cuøng laáy haøng thöù tö coäng cho hai laàn haøng thöù ba ta ñöôïc: 
A(3) = 
0 
BB@ 
1 −1 2 −1 : −8 
0 2 −1 1 : 6 
0 0 −1 −1 : −4 
0 0 0 2 : 4 
1 
CCA 
Vaø söû duïng coâng thöùc (3.2) ta coù theå deã daøng tìm ñöôïc x = 
[−7, 3, 2, 2]T. 
Thuaät toaùn giaûi heä phöông trình baèng phöông phaùp Gauss ñöôïc 
theå hieän trong Chöông trình 3.3. Ñoái soá cuûa chöông trình goàm: N laø 
soá phöông trình vaø soá aån, a laø ma traän heä soá caáp N × (N + 1), coät 
thöù N + 1 laø vectô töï do. Keát quaû traû veà cuûa chöông trình laø vectô 
nghieäm x . 
Chöông trình 3.3. - c3gauss : Phöông phaùp Gauss. 
function [x] = c3gauss(N,a) 
if nargin < 2, error('Haøm coù toái thieåu 2 ñoái soá');end 
for k=1:N 
if a(k,k)==0 
flag=0; 
for i=k+1:N 
if a(i,k)=0 
flag=1; 
for j=1:N+1 
tmp=a(k,j); 
a(k,j)=a(i,j); 
a(i,j)=tmp;
3.1 Phöông phaùp Gauss 41 
end; 
break; 
end; 
end; 
if flag==0 
error('Ma traän suy bieán.'); 
end; 
end; 
for i=k+1:N 
tmp=a(i,k); 
for j=k:N+1 
a(i,j)=a(i,j)-tmp*a(k,j)/a(k,k); 
end; 
end; 
end; 
x=c3upper(N,a); 
Trong ví duï 3.1 ôû phaàn treân, ôû böôùc thöù hai, do a(1) 
22 = 0 neân ta 
phaûi hoaùn chuyeån hai haøng thöù hai vaø thöù ba. Ñeå traùnh tröôøng hôïp 
naøy, ta coù theå caûi tieán phöông phaùp Gauss theo höôùng nhö sau. Taïi 
moãi böôùc, khi choïn phaàn töû ñeå bieán ñoåi, ta seõ choïn phaàn töû coù trò 
tuyeät ñoái lôùn nhaát, sao cho khoâng cuøng haøng vaø coät vôùi nhöõng phaàn 
töû ñaõ choïn tröôùc. Phaàn töû nhö vaäy thöôøng ñöôïc goïi laø phaàn töû chính 
hay phaàn töû troäi. Sau ñoù ta seõ bieán ñoåi ñeå cho taát caû caùc phaàn töû treân 
cuøng coät cuûa phaàn töû troäi baèng khoâng. Qua n böôùc nhö vaäy ta seõ tìm 
ñöôïc nghieäm deã daøng 1. Ta minh hoaï phöông phaùp naøy baèng ví duï 
sau. 
Ví duï 3.2. Xeùt heä phöông trình trong ví duï tröôùc coù ma traän heä soá môû roäng 
A(0) = 
0 
BB@ 
1 −1 2 −1 : −8 
2 −2 3 −3 : −20 
1 1 1 0 : −2 
1 −1 4 3 : 4 
1 
CCA 
1Phöông phaùp naøy cuõng ñöôïc goïi laø phöông phaùp Gauss-Jordan hay Jordan
42 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH 
Ñaàu tieân ta seõ choïn phaàn töû chính laø phaàn töû a(0) 
43 = 4 vaø thöïc hieän 
caùc pheùp bieán ñoåi (4h3 − h4), (4h2 − 3h4), (2h1 − h4) ta thu ñöôïc 
A(1) = 
0 
BB@ 
1 −1 0 −5 : −20 
5 −5 0 −21 : −92 
3 5 0 −3 : −12 
1 −1 4 3 : 4 
1 
CCA 
Böôùc tieáp theo, phaàn töû chính ñöôïc choïn khoâng ñöôïc naèm treân haøng 
thöù tö vaø coät thöùc ba. Ñoù laø phaàn töû a(1) 
24 = −21. Tieáp tuïc thöïc hieän 
caùc pheùp bieán ñoåi (21h1 − 5h2), (7h3 − h2), (7h4 + h2) ta thu ñöôïc 
A(2) = 
0 
BB@ 
−4 4 0 0 : 40 
5 −5 0 −21 : −92 
16 40 0 0 : 8 
12 −12 28 0 : −64 
1 
CCA 
Tieáp theo phaàn töû chính ñöôïc choïn khoâng ñöôïc naèm treân haøng thöù 
hai, thöù tö vaø coät thöù ba, thöù tö vaø do ñoù phaàn töû chính seõ laø phaàn töû 
a(2) 
32 = 40. Thöïc hieän pheùp bieán ñoåi (10h1−h3), (8h2+h3), (10h4+ 
3h3) ta ñöôïc 
A(3) = 
0 
BB@ 
−56 0 0 0 : 392 
56 0 0 −168 : −728 
16 40 0 0 : 8 
168 0 280 0 : −616 
1 
CCA 
Cuoái cuøng phaàn töû chính khoâng cuøng naèm treân haøng vaø coät cuûa 
nhöõng phaàn töû chính ñaõ ñöôïc choïn tröôùc laø phaàn töû a(3) 
11 = −56. 
Thöïc hieän caùc pheùp bieán ñoåi (h2 + h1), (7h3 + 2h1), (h4 + 3h1) ta 
coù ma traän cuoái cuøng 
A(3) = 
0 
BB@ 
−56 0 0 0 : 392 
0 0 0 −168 : −336 
0 280 0 0 : 840 
0 0 280 0 : 560 
1 
CCA 
vaø heä phöông trình ñaàu töông ñöông vôùi heä sau 
8 
: 
−56x1 = 392 
−168x4 = −336 
280x2 = 840 
280x3 = 560
3.1 Phöông phaùp Gauss 43 
Töø ñaây chuùng ta cuõng suy ra ñöôïc x = [−7, 3, 2, 2]T. 
Thuaät toaùn giaûi heä phöông trình baèng phöông phaùp phaàn töû troäi 
ñöôïc theå hieän trong Chöông trình 3.4. Ñoái soá cuûa chöông trình goàm: 
N laø soá phöông trình vaø soá aån, a laø ma traän heä soá caáp N × (N + 1), 
coät thöù N +1 laø vectô töï do. Keát quaû traû veà cuûa chöông trình laø vectô 
nghieäm x . 
Chöông trình 3.4. - c3jordan : Phöông phaùp phaàn töû troäi. 
function [x] = c3jordan(N,a) 
if nargin  2, error('Haøm coù toái thieåu 2 ñoái soá'); end 
for i=1:N, b(i)=0; end; 
for k=1:N 
max=0; 
for i=1:N 
if b(i)==0 
for j=1:N 
if maxabs(a(i,j)) 
max=abs(a(i,j)); im=i; jm=j; 
end; 
end; 
end; 
end; 
if max=0, error('Ma traän suy bieán.'); end; 
b(im)=jm; max=a(im,jm); 
for j=1:N+1, a(im,j)=a(im,j)/max; end; 
for i=1:N 
if i=im 
max=a(i,jm); 
for j=1:N+1 
a(i,j)=a(i,j)-a(im,j)*max; 
end; 
end; 
end;
44 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH 
end; 
for i=1:N, x(b(i))=a(i,N+1); end; 
Caùc phöông phaùp coù söû duïng caùc pheùp bieán ñoåi sô caáp cô baûn coù 
öu ñieåm laø ñôn giaûn, deã laäp trình. Tuy nhieân neáu phaàn töû ñöôïc choïn 
ñeå bieán ñoåi gaàn vôùi khoâng thì phöông phaùp Gauss coù theå cho keát 
quaû khoâng chính xaùc. Hôn nöõa, neáu caùc pheùp toaùn coäng, tröø, nhaân, 
chia ñöôïc laøm ñuùng hoaøn toaøn, thì caùc phöông phaùp treân cho chuùng 
ta nghieäm ñuùng cuûa heä phöông trình. Tuy nhieân, khi thöïc hieän treân 
caùc coâng cuï tính toaùn, ta vaãn gaëp phaûi sai soá laøm troøn. Cho neân caùc 
phöông phaùp Gauss vaãn ñöôïc xem nhö laø caùc phöông phaùp gaàn ñuùng. 
3.2 PHÖÔNG PHAÙP NHAÂN TÖÛ LU 
Noäi dung cuûa phöông phaùp nhaân töû LU laø phaân tích ma traän heä 
soá A thaønh tích cuûa hai ma traän L vaø U, trong ñoù L laø ma traän tam 
giaùc döôùi vaø U laø ma traän tam giaùc treân. Khi ñoù vieäc giaûi heä phöông 
trình (3.1) seõ ñöa veà vieäc giaûi hai heä phöông trình Ly = b vaø Ux = y 
maø ma traän heä soá laø caùc ma traän tam giaùc vaø nghieäm thu ñöôïc töø caùc 
coâng thöùc (3.2) vaø (3.3). Ta coù ñònh lí sau ñaây. 
Ñònh lí 3.1. Neáu A laø ma traän khoâng suy bieán, thì bao giôø cuõng toàn 
taïi moät ma traän P khoâng suy bieán sao cho ma traän PA phaân tích 
ñöôïc thaønh tích cuûa ma traän tam giaùc döôùi L vaø ma traän tam giaùc 
treân U, nghóa laø PA = LU. 
Coù raát nhieàu phöông phaùp phaân tích A = LU, tuy nhieân ta thöôøng 
xeùt tröôøng hôïp ma traän L coù ñöôøng cheùo chính baèng 1 vaø goïi laø 
phöông phaùp Doolittle. Khi ñoù L vaø U coù daïng: 
L = 
0 
BB@ 
1 0 · · · 0 
l21 1 · · · 0 
· · · · · · · · · · · · 
ln1 ln2 · · · 1 
1 
CCA 
vaø U = 
0 
BB@ 
u11 u12 · · · u1n 
0 u22 · · · u2n 
· · · · · · · · · · · · 
0 0 · · · unn 
1 
CCA
3.2 Phöông phaùp nhaân töû LU 45 
Caùc phaàn töû cuûa hai ma traän L vaø U ñöôïc xaùc ñònh theo coâng thöùc 
sau: 
8 
: 
u1j = a1j (1 6 j 6 n) 
li1 = ai1 
u11 
(2 6 i 6 n) 
uij = aij − 
iP−1 
k=1 
likukj (1  i 6 j) 
lij = 
1 
ujj 
  
aij − 
Xj−1 
k=1 
likukj 
! 
(1  j  i) 
(3.4) 
Ví duï 3.3. Xeùt heä phöông trình 
8 
: 
2x1 + 2x2 − 3x3 = 9 
−4x1 − 3x2 + 4x3 = −15 
2x1 + x2 + 2x3 = 3 
Ta phaân tích ma traän heä soá 
0 
@ 
2 2 −3 
−4 −3 4 
2 1 2 
1 
A = 
0 
@ 
1 0 0 
l21 1 0 
l31 l32 1 
1 
A · 
0 
@ 
u11 u12 u13 
0 u22 u23 
0 0 u33 
1 
A 
vôùi u11 = 2; u12 = 2; u13 = −3; l21 = −2; l31 = 1; 
u22 = 1; u23 = −2;l32 = −1; u33 = 3. 
Do ñoù 
Ly = b () 
0 
@ 
1 0 0 
−2 1 0 
1 −1 1 
1 
Ay = 
0 
@ 
9 
−15 
3 
1 
A =) y = 
0 
@ 
93 
−3 
1 
A 
Ux = y () 
0 
@ 
2 2 −3 
0 1 −2 
0 0 3 
1 
Ax = 
0 
@ 
93 
−3 
1 
A =) x = 
0 
@ 
21 
−1 
1 
A 
Ví duï 3.4. Heä phöông trình 
8 
: 
x1 + x2 + +3x4 = 4 
2x1 + x2 − x3 + x4 = 1 
3x1 − x2 − x3 + 2x4 = −3 
−x1 + 2x2 + 3x3 − x4 = 4
46 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH 
Ta coù phaân tích cuûa ma traän heä soá A = LU theo phöông phaùp 
Doolittle nhö sau: 
A = 
0 
BB@ 
1 0 0 0 
2 1 0 0 
3 4 1 0 
−1 −3 0 1 
1 
CCA 
0 
BB@ 
1 1 0 3 
0 −1 −1 −5 
0 0 3 13 
0 0 0 −13 
1 
CCA 
Ta coù 
Ly = b () 
0 
BB@ 
1 0 0 0 
2 1 0 0 
3 4 1 0 
−1 −3 0 1 
1 
CCA 
0 
BB@ 
y1 
y2 
y3 
y4 
1 
CCA 
= 
0 
BB@ 
41 
−3 
4 
1 
CCA 
Ta thu ñöôïc y = [4,−7, 13,−13]T. Vaø cuoái cuøng töø heä phöông trình 
Ux = y () 
0 
BB@ 
1 1 0 3 
0 −1 −1 −5 
0 0 3 13 
0 0 0 −13 
1 
CCA 
0 
BB@ 
x1 
x2 
x3 
x4 
1 
CCA 
= 
0 
BB@ 
4 
−7 
13 
−13 
1 
CCA 
ta coù nghieäm x = [−1, 2, 0, 1]T. 
Thuaät toaùn phaân raõ LU ñöôïc theå hieän trong Chöông trình 3.5. 
Ñoái soá cuûa chöông trình goàm: N laø soá phöông trình, a laø ma traän heä 
soá caáp N × N. Keát quaû traû veà cuûa chöông trình laø ma traän tam giaùc 
döôùi l vaø ma traän tam giaùc treân u . 
Chöông trình 3.5. - c3LUfactor : Phöông phaùp nhaân töû LU. 
function [l,u] = c3LUfactor(N,a) 
if nargin  2, error('Haøm coù toái thieåu 2 ñoái soá'); 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('Khoâng theå phaân tích ñöôïc.');end; 
for i=2:N, l(i,1)=a(i,1)/u(1,1); end; 
for i=2:N-1
3.2 Phöông phaùp nhaân töû LU 47 
for j=i:N 
sum=0; 
for k=1:i-1,sum=sum+l(i,k)*u(k,j);end; 
u(i,j)=a(i,j)-sum; 
end; 
if u(i,i)==0,error('Khoâng theå phaân tích 
ñöôïc.');end; 
for j=i+1:N 
sum=0; 
for k=1:i-1,sum=sum+l(j,k)*u(k,i);end; 
l(j,i)=(a(j,i)-sum)/u(i,i); 
end; 
end; 
sum=0; for k=1:N-1,sum=sum+l(N,k)*u(k,N); end; 
u(N,N)=a(N,N)-sum; 
Phöông phaùp phaân raõ LU aùp duïng raát hieäu quaû trong tröôøng hôïp 
ma traän heä soá coù daïng ba ñöôøng cheùo: 
A = 
0 
BBBBBB@ 
a11 a12 0 · · · 0 0 
a21 a22 a23 · · · 0 0 
0 a32 a33 · · · 0 0 
· · · · · · · · · · · · · · · · · · 
0 0 0 · · · an−1,n−1 an−1,n 
0 0 0 · · · an,n−1 an,n 
1 
CCCCCCA 
Khi ñoù phaân raõ Doolittle cho ta 
L = 
0 
BBBB@ 
1 0 0 · · · 0 
l21 1 0 · · · 0 
0 l32 1 · · · 0 
· · · · · · · · · · · · · · · 
0 0 0 · · · 1 
1 
CCCCA 
vaø U = 
0 
BBBB@ 
u11 u12 0 · · · 0 
0 u22 u23 · · · 0 
0 0 u33 · · · 0 
· · · · · · · · · · · · · · · 
0 0 0 · · · un,n 
1 
CCCCA
48 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH 
Khi aáy töø coâng thöùc (3.4) ta coù 
8 
: 
u11 = a11; u12 = a12; l21 = a21 
u11 
; 
ui,i = ai,i − li,i−1ui−1,i; 8i = 2, 3, . . ., n 
ui,i+1 = ai,i+1; li+1,i = ai+1,i 
ui,i 
; 8i = 2, 3, . . ., n − 1 
Ñeå theå hieän thuaät toaùn Doolittle trong tröôøng hôïp ma traän heä soá 
coù daïng ba ñöôøng cheùo, thay vì ñöa vaøo ma traän A, ta ñöa vaøo ba 
vectô: a chöùa caùc phaàn töû treân ñöôøng cheùo chính cuûa A, b laø ñöôøng 
cheùo naèm treân ñöôøng cheùo chính vaø c laø ñöôøng cheùo naèm döôùi 
ñöôøng cheùo chính, vectô töï do laø d . Chöông trình treân MatLab ñöôïc 
theå hieän trong chöông trình 3.6. Keát quaû traû veà laø vectô nghieäm x . 
Chöông trình 3.6. - c3tridiag : Ma traän ba ñöôøng cheù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); 
for i=2:N-1 
u(i)=a(i)-l(i-1)*v(i-1); 
v(i)=b(i); 
l(i)=c(i)/u(i); 
y(i)=d(i)-l(i-1)*y(i-1); 
end; 
u(N)=a(N)-l(N-1)*v(N-1); 
y(N)=d(N)-l(N-1)*y(N-1); 
x(N)=y(N)/u(N); 
for i=N-1:-1:1 
x(i)=(y(i)-v(i)*x(i+1))/u(i); 
end;
3.3 Phöông phaùp Choleski 49 
3.3 PHÖÔNG PHAÙP CHOLESKI 
Ñaây laø tröôøng hôïp ñaët bieät cuûa phöông phaùp nhaân töû LU, vaø ñöôïc 
duøng cho tröôøng hôïp ma traän heä soá A ñoái xöùng vaø xaùc ñònh döông. 
Ma traän vuoâng A ñöôïc goïi laø ñoái xöùng neáu AT = A. Coù theå noùi raèng 
ma traän A laø ñoái xöùng neáu caùc phaàn töû cuûa noù ñoái xöùng vôùi nhau qua 
ñöôøng cheùo chính, nghóa laø aij = aji, 8i, j = 1, n. Coøn ma traän A laø 
xaùc ñònh döông neáu 8x 2 Rn, x6= 0 : xTAx  0. Ñeå kieåm tra tính xaùc 
ñònh döông cuûa moät ma traän, ta thöôøng duøng ñònh lí sau ñaây. 
Ñònh lí 3.2. Moät ma traän laø xaùc ñònh döông khi vaø chæ khi taát caû caùc 
ñònh thöùc con chính cuûa noù ñeàu döông. 
Trong ñoù ñònh thöùc con chính caáp k, 1 6 k 6 n cuûa ma traän laø ñònh 
thöùc con thu ñöôïc töø k haøng vaø k coät ñaàu tieân cuûa ma traän ñoù. 
Ví duï 3.5. Xeùt ma traän A = 
0 
@ 
1 1 −1 
1 2 0 
−1 0 4 
1 
A coù 1 = |1| = 1  0, 
2 =
1 1 
1 2
= 1  0 vaø 3 =
1 1 −1 
1 2 0 
−1 0 4

More Related Content

What's hot

Toan pt.de133.2011
Toan pt.de133.2011Toan pt.de133.2011
Toan pt.de133.2011BẢO Hí
 
04 phuong trinh mu p3
04 phuong trinh mu p304 phuong trinh mu p3
04 phuong trinh mu p3Huynh ICT
 
Toan pt.de134.2011
Toan pt.de134.2011Toan pt.de134.2011
Toan pt.de134.2011BẢO Hí
 
Cực trị-hàm-đa-thức
Cực trị-hàm-đa-thứcCực trị-hàm-đa-thức
Cực trị-hàm-đa-thứcvanthuan1982
 
Toan pt.de128.2011
Toan pt.de128.2011Toan pt.de128.2011
Toan pt.de128.2011BẢO Hí
 
De hsg 9 thanh hoa 20142015
De hsg 9 thanh hoa 20142015De hsg 9 thanh hoa 20142015
De hsg 9 thanh hoa 20142015Lợi Phan Văn
 
07 bat phuong trinh mu p1
07 bat phuong trinh mu p107 bat phuong trinh mu p1
07 bat phuong trinh mu p1Huynh ICT
 
[123doc] de-cuong-on-tap-toan-9
[123doc]   de-cuong-on-tap-toan-9[123doc]   de-cuong-on-tap-toan-9
[123doc] de-cuong-on-tap-toan-9Nguyen Nhung
 
[Vnmath.com] chuyen dh vinh lan 2 2015
[Vnmath.com] chuyen dh vinh lan 2 2015[Vnmath.com] chuyen dh vinh lan 2 2015
[Vnmath.com] chuyen dh vinh lan 2 2015Dang_Khoi
 
Tóm tắt chương trình toán
Tóm tắt chương trình toánTóm tắt chương trình toán
Tóm tắt chương trình toánLong Nguyen
 
Giao trinh phuong phap tinh 1
Giao trinh phuong phap tinh 1 Giao trinh phuong phap tinh 1
Giao trinh phuong phap tinh 1 Tùng Lê
 
05 phuong trinh logarith p2
05 phuong trinh logarith p205 phuong trinh logarith p2
05 phuong trinh logarith p2Huynh ICT
 
04 phuong trinh mu p1
04 phuong trinh mu p104 phuong trinh mu p1
04 phuong trinh mu p1Huynh ICT
 

What's hot (17)

Toan pt.de133.2011
Toan pt.de133.2011Toan pt.de133.2011
Toan pt.de133.2011
 
10 de-thi-hsg-toan-10-co-dap-an
10 de-thi-hsg-toan-10-co-dap-an10 de-thi-hsg-toan-10-co-dap-an
10 de-thi-hsg-toan-10-co-dap-an
 
04 phuong trinh mu p3
04 phuong trinh mu p304 phuong trinh mu p3
04 phuong trinh mu p3
 
Toan pt.de134.2011
Toan pt.de134.2011Toan pt.de134.2011
Toan pt.de134.2011
 
Cực trị-hàm-đa-thức
Cực trị-hàm-đa-thứcCực trị-hàm-đa-thức
Cực trị-hàm-đa-thức
 
Toan pt.de128.2011
Toan pt.de128.2011Toan pt.de128.2011
Toan pt.de128.2011
 
Bdt dua ve mot bien
Bdt dua ve mot bienBdt dua ve mot bien
Bdt dua ve mot bien
 
De hsg 9 thanh hoa 20142015
De hsg 9 thanh hoa 20142015De hsg 9 thanh hoa 20142015
De hsg 9 thanh hoa 20142015
 
Đường dây truyến sóng
Đường dây truyến sóngĐường dây truyến sóng
Đường dây truyến sóng
 
07 bat phuong trinh mu p1
07 bat phuong trinh mu p107 bat phuong trinh mu p1
07 bat phuong trinh mu p1
 
10 cd
10 cd10 cd
10 cd
 
[123doc] de-cuong-on-tap-toan-9
[123doc]   de-cuong-on-tap-toan-9[123doc]   de-cuong-on-tap-toan-9
[123doc] de-cuong-on-tap-toan-9
 
[Vnmath.com] chuyen dh vinh lan 2 2015
[Vnmath.com] chuyen dh vinh lan 2 2015[Vnmath.com] chuyen dh vinh lan 2 2015
[Vnmath.com] chuyen dh vinh lan 2 2015
 
Tóm tắt chương trình toán
Tóm tắt chương trình toánTóm tắt chương trình toán
Tóm tắt chương trình toán
 
Giao trinh phuong phap tinh 1
Giao trinh phuong phap tinh 1 Giao trinh phuong phap tinh 1
Giao trinh phuong phap tinh 1
 
05 phuong trinh logarith p2
05 phuong trinh logarith p205 phuong trinh logarith p2
05 phuong trinh logarith p2
 
04 phuong trinh mu p1
04 phuong trinh mu p104 phuong trinh mu p1
04 phuong trinh mu p1
 

Similar to Giao trinh phuong phap tinh 2

14.hinhgiaitichphang
14.hinhgiaitichphang14.hinhgiaitichphang
14.hinhgiaitichphanggadaubac2003
 
14.hinhgiaitichphang
14.hinhgiaitichphang14.hinhgiaitichphang
14.hinhgiaitichphanggadaubac2003
 
Chuyen de hinh hoc giai tich trong khong gian
Chuyen de hinh hoc giai tich trong khong gianChuyen de hinh hoc giai tich trong khong gian
Chuyen de hinh hoc giai tich trong khong gianHuynh ICT
 
Tóm tắt chương trình toán
Tóm tắt chương trình toánTóm tắt chương trình toán
Tóm tắt chương trình toánLong Nguyen
 
Dethi hs gnamhoc20102011montoan
Dethi hs gnamhoc20102011montoanDethi hs gnamhoc20102011montoan
Dethi hs gnamhoc20102011montoanTam Vu Minh
 
Cong thuc-toan-9-day-du-cong-thuc-toan-9-day-du
Cong thuc-toan-9-day-du-cong-thuc-toan-9-day-duCong thuc-toan-9-day-du-cong-thuc-toan-9-day-du
Cong thuc-toan-9-day-du-cong-thuc-toan-9-day-duNgok Gah
 
Tom tat-mon-toan
Tom tat-mon-toanTom tat-mon-toan
Tom tat-mon-toanCam huynh
 
Hình học Đường Thẳng
Hình học Đường ThẳngHình học Đường Thẳng
Hình học Đường ThẳngLong Nguyen
 
TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014
TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014
TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014Hoàng Thái Việt
 
Đường tròn ( hình học )
Đường tròn ( hình học )Đường tròn ( hình học )
Đường tròn ( hình học )Long Nguyen
 
Toan pt.de115.2011
Toan pt.de115.2011Toan pt.de115.2011
Toan pt.de115.2011BẢO Hí
 
Tong hop kien thuc on thi dai hoc mon toan
Tong hop kien thuc on thi dai hoc mon toanTong hop kien thuc on thi dai hoc mon toan
Tong hop kien thuc on thi dai hoc mon toanHải Finiks Huỳnh
 
Toan pt.de039.2012
Toan pt.de039.2012Toan pt.de039.2012
Toan pt.de039.2012BẢO Hí
 
Toan pt.de078.2010
Toan pt.de078.2010Toan pt.de078.2010
Toan pt.de078.2010BẢO Hí
 

Similar to Giao trinh phuong phap tinh 2 (20)

14.hinhgiaitichphang
14.hinhgiaitichphang14.hinhgiaitichphang
14.hinhgiaitichphang
 
14.hinhgiaitichphang
14.hinhgiaitichphang14.hinhgiaitichphang
14.hinhgiaitichphang
 
Chuyen de hinh hoc giai tich trong khong gian
Chuyen de hinh hoc giai tich trong khong gianChuyen de hinh hoc giai tich trong khong gian
Chuyen de hinh hoc giai tich trong khong gian
 
Tóm tắt chương trình toán
Tóm tắt chương trình toánTóm tắt chương trình toán
Tóm tắt chương trình toán
 
01.toan
01.toan01.toan
01.toan
 
Dethi hs gnamhoc20102011montoan
Dethi hs gnamhoc20102011montoanDethi hs gnamhoc20102011montoan
Dethi hs gnamhoc20102011montoan
 
Chde hamsobac4
Chde hamsobac4Chde hamsobac4
Chde hamsobac4
 
Hambac4
Hambac4Hambac4
Hambac4
 
Cong thuc-toan-9-day-du-cong-thuc-toan-9-day-du
Cong thuc-toan-9-day-du-cong-thuc-toan-9-day-duCong thuc-toan-9-day-du-cong-thuc-toan-9-day-du
Cong thuc-toan-9-day-du-cong-thuc-toan-9-day-du
 
Tom tat-mon-toan
Tom tat-mon-toanTom tat-mon-toan
Tom tat-mon-toan
 
Hình học Đường Thẳng
Hình học Đường ThẳngHình học Đường Thẳng
Hình học Đường Thẳng
 
TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014
TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014
TỔNG HỢP ĐỀ THI TOÁN KHỐI A B D NĂM 2002 ĐẾN 2013 - LTĐH 2014
 
Đường tròn ( hình học )
Đường tròn ( hình học )Đường tròn ( hình học )
Đường tròn ( hình học )
 
Toan pt.de115.2011
Toan pt.de115.2011Toan pt.de115.2011
Toan pt.de115.2011
 
Tong hop kien thuc on thi dai hoc mon toan
Tong hop kien thuc on thi dai hoc mon toanTong hop kien thuc on thi dai hoc mon toan
Tong hop kien thuc on thi dai hoc mon toan
 
10.khaosaths
10.khaosaths10.khaosaths
10.khaosaths
 
10.khaosaths
10.khaosaths10.khaosaths
10.khaosaths
 
10.khaosaths
10.khaosaths10.khaosaths
10.khaosaths
 
Toan pt.de039.2012
Toan pt.de039.2012Toan pt.de039.2012
Toan pt.de039.2012
 
Toan pt.de078.2010
Toan pt.de078.2010Toan pt.de078.2010
Toan pt.de078.2010
 

Giao trinh phuong phap tinh 2

  • 1. Chöông 3 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Trong chöông naøy chuùng ta neâu leân moät soá phöông phaùp duøng ñeå giaûi heä phöông trình ñaïi soá tuyeán tính Ax = b, (3.1) raát thöôøng gaëp trong caùc baøi toaùn khoa hoïc kó thuaät. Ta chæ xeùt heä goàm n phöông trình vôùi n aån. Do vaäy ma traän heä soá A laø ma traän vuoâng caáp n, vaø vectô nghieäm x cuõng nhö vectô töï do b laø caùc vectô coät n chieàu thuoäc Rn. Ta luoân giaû thieát raèng detA6= 0, vaø do ñoù bao giôø heä cuõng coù nghieäm duy nhaát x = A−1b. Tuy nhieân vieäc tìm ma traän nghòch ñaûo A−1 ñoâi khi coøn khoù khaên gaáp nhieàu laàn so vôùi vieäc giaûi tröïc tieáp heä phöông trình xuaát phaùt. Döôùi ñaây chuùng ta seõ xeùt moät soá phöông phaùp thöôøng duøng ñeå giaûi heä phöông trình (3.1). 3.1 PHÖÔNG PHAÙP GAUSS Tröôùc khi trình baøy phöông phaùp Gauss, chuùng ta xeùt moät soá tröôøng hôïp ñôn giaûn khi ma traän heä soá A cuûa heä phöông trình (3.1) coù daïng ñaët bieät.
  • 2. 36 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Tröôøng hôïp ñôn giaûn nhaát laø tröôøng hôïp heä phöông trình coù ma traän heä soá coù daïng ñöôøng cheùo: A = 0 BB@ a11 0 · · · 0 0 a22 · · · 0 · · · · · · · · · · · · 0 0 · · · ann 1 CCA Khi aáy heä töông ñöông vôùi n phöông trình baäc nhaát aiixi = bi, 8i = 1, n. Vì detA = a11a22 · · ·ann6= 0 neân aii6= 0, 8i. Vaø do ñoù nghieäm cuûa heä coù theå ñöôïc vieát döôùi daïng: xi = bi aii , i= 1, 2, 3, · · · , n Tröôøng hôïp thöù hai khi ma traän heä soá A coù daïng tam giaùc treân: A = 0 BB@ a11 a12 · · · a1n 0 a22 · · · a2n · · · · · · · · · · · · 0 0 · · · ann 1 CCA Vôùi giaû thieát detA6= 0, ta coù aii6= 0, 8i = 1, n, vaø nghieäm cuûa heä ñöôïc cho bôûi coâng thöùc: 8>>>< >>>: xn = bn ann xk = 1 akk 0 @bk − Xn j=k+1 akjxj 1 A, k= n − 1, · · · , 1 (3.2) Cuoái cuøng khi ma traän heä soá A coù daïng tam giaùc döôùi: A = 0 BB@ a11 0 · · · 0 a21 a22 · · · 0 · · · · · · · · · · · · an1 an2 · · · ann 1 CCA
  • 3. 3.1 Phöông phaùp Gauss 37 Töông töï det A6= 0 ) aii6= 0, 8i = 1, n, vaø nghieäm cuûa heä coù daïng: 8>>>< >>>: x1 = b1 a11 xk = 1 akk 0 @bk − kX−1 j=1 akjxj 1 A, k= 2, · · · , n (3.3) Thuaät toaùn giaûi heä phöông trình vôùi ma traän tam giaùc ñöôïc theå hieän trong Chöông trình 3.1 vaø 3.2. Ñoái soá cuûa chöông trình goàm: N laø soá phöông trình vaø soá aån, a laø ma traän heä soá caáp N × (N + 1), coät thöù N + 1 laø vectô töï do. Keát quaû traû veà cuûa chöông trình laø vectô nghieäm x . Chöông trình 3.1. - c3upper : Ma traän heä soá tam giaùc treân. function [x] = c3upper(N,a) if nargin < 2, error('Haøm coù toái thieåu 2 ñoái soá');end; x(N)=a(N,N+1)/a(N,N); for k=N-1:-1:1 sum = 0; for j=k+1:N sum=sum+a(k,j)*x(j); end; x(k)=(a(k,N+1)-sum)/a(k,k); end; Chöông trình 3.2. - c3lower : Ma traän heä soá tam giaùc döôùi. function [x] = c3lower(N,a) if nargin < 2, error('Haøm coù toái thieåu 2 ñoái soá');end; x(1)=a(1,N+1)/a(1,1); for k=2:N sum = 0;
  • 4. 38 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH for j=1:k-1 sum=sum+a(k,j)*x(j); end; x(k)=(a(k,N+1)-sum)/a(k,k); end; Baây giôø chuùng ta seõ trình baøy phöông phaùp Gauss ñeå giaûi heä phöông trình toång quaùt daïng (3.1). Noäi dung cuûa phöông phaùp Gauss duøng ñeå giaûi heä phöông trình ñaïi soá tuyeán tính laø söû duïng caùc pheùp bieán ñoåi sô caáp theo haøng ñeå chuyeån veà moät heä phöông trình môùi töông ñöông vôùi heä phöông trình cuõ maø ma traän heä soá coù daïng tam giaùc. Caùc pheùp bieán ñoåi sô caáp thöôøng hay söû duïng laø: • Nhaân moät haøng cho moät soá khaùc khoâng. • Hoaùn chuyeån hai haøng cho nhau. • Coäng moät haøng cho moät haøng khaùc ñaõ nhaân vôùi moät soá khaùc khoâng. Xeùt heä thoáng phöông trình sau: 8>>< >>: a11x1 + a12x2 + . . . + a1nxn = b1 a21x1 + a22x2 + . . . + a2nxn = b2 . . . . . . . . . . . . an1x1 + an2x2 + . . . + annxn = bn Do ñònh thöùc cuûa ma traän heä soá A khaùc khoâng neân moät trong caùc soá a11, a12, . . . ,a1n phaûi khaùc khoâng. Giaû söû a116= 0. Laáy phöông trình thöù k vôùi k = 2, n tröø cho phöông trình moät ñaõ nhaân vôùi ak1 a11 , ta ñöôïc moät heä môùi coù daïng nhö sau: 8>>< >>: a11x1 + a12x2 + . . . + a1nxn = b1 a(1) x2 + . . . + a2nxn (1) = b(1) 22 2 . . . . . . . . . a(1) n2 x2 + . . . + annxn (1) = b(1) n
  • 5. 3.1 Phöông phaùp Gauss 39 Trong caùc soá a(1) 22 , . . . ,a(1) n2 phaûi coù moät soá khaùc khoâng, vì neáu ngöôïc laïi thì det A = 0, traùi vôùi giaû thieát. Giaû söû a(1) 226= 0. Coøn neáu chæ coù a(1) p26= 0 vaø a(1) 22 = 0 thì ta thöïc hieän pheùp hoaùn chuyeån hai phöông trình thöù 2 vaø thöù p. Tieáp tuïc bieán ñoåi cho n − 2 phöông trình cuoái. Vaø cöù tieáp tuïc cho ñeán phöông trình thöù n, ta ñöôïc heä phöông trình sau 8>>< >>: a11x1 + a12x2 + . . . + a1nxn = b1 a(1) 22 x2 + . . . + a(1) 2n xn = b(1) 2 . . . . . . . . . a(n−1) nn xn = b(n−1) n Ñaây laø heä phöông trình coù ma traän heä soá coù daïng tam giaùc treân vaø coù theå giaûi ñöôïc baèng coâng thöùc (3.2). Ví duï 3.1. Xeùt heä phöông trình ñaïi soá tuyeán tính sau: 8>>< >>: x1 − x2 + 2x3 − x4 = −8 2x1 − 2x2 + 3x3 − 3x4 = −20 x1 + x2 + x3 = −2 x1 − x2 + 4x3 + 3x4 = 4 Ma traän heä soá môû roäng coù daïng A(0) = 0 BB@ 1 −1 2 −1 : −8 2 −2 3 −3 : −20 1 1 1 0 : −2 1 −1 4 3 : 4 1 CCA Ta thöïc hieän caùc pheùp bieán ñoåi sau: (h2 = h2 − 2h1), (h3 = h3 − h1), (h4 = h4 − h1), khi ñoù ma traän trôû thaønh A(1) = 0 BB@ 1 −1 2 −1 : −8 0 0 −1 −1 : −4 0 2 −1 1 : 6 0 0 2 4 : 12 1 CCA Phaàn töû a(1) 22 = 0, do ñoù ñeå tieáp tuïc, ta thöïc hieän pheùp chuyeån ñoåi
  • 6. 40 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH giöõa haøng thöù hai vaø thöù ba vaø thu ñöôïc A(2) = 0 BB@ 1 −1 2 −1 : −8 0 2 −1 1 : 6 0 0 −1 −1 : −4 0 0 2 4 : 12 1 CCA Cuoái cuøng laáy haøng thöù tö coäng cho hai laàn haøng thöù ba ta ñöôïc: A(3) = 0 BB@ 1 −1 2 −1 : −8 0 2 −1 1 : 6 0 0 −1 −1 : −4 0 0 0 2 : 4 1 CCA Vaø söû duïng coâng thöùc (3.2) ta coù theå deã daøng tìm ñöôïc x = [−7, 3, 2, 2]T. Thuaät toaùn giaûi heä phöông trình baèng phöông phaùp Gauss ñöôïc theå hieän trong Chöông trình 3.3. Ñoái soá cuûa chöông trình goàm: N laø soá phöông trình vaø soá aån, a laø ma traän heä soá caáp N × (N + 1), coät thöù N + 1 laø vectô töï do. Keát quaû traû veà cuûa chöông trình laø vectô nghieäm x . Chöông trình 3.3. - c3gauss : Phöông phaùp Gauss. function [x] = c3gauss(N,a) if nargin < 2, error('Haøm coù toái thieåu 2 ñoái soá');end for k=1:N if a(k,k)==0 flag=0; for i=k+1:N if a(i,k)=0 flag=1; for j=1:N+1 tmp=a(k,j); a(k,j)=a(i,j); a(i,j)=tmp;
  • 7. 3.1 Phöông phaùp Gauss 41 end; break; end; end; if flag==0 error('Ma traän suy bieán.'); end; end; for i=k+1:N tmp=a(i,k); for j=k:N+1 a(i,j)=a(i,j)-tmp*a(k,j)/a(k,k); end; end; end; x=c3upper(N,a); Trong ví duï 3.1 ôû phaàn treân, ôû böôùc thöù hai, do a(1) 22 = 0 neân ta phaûi hoaùn chuyeån hai haøng thöù hai vaø thöù ba. Ñeå traùnh tröôøng hôïp naøy, ta coù theå caûi tieán phöông phaùp Gauss theo höôùng nhö sau. Taïi moãi böôùc, khi choïn phaàn töû ñeå bieán ñoåi, ta seõ choïn phaàn töû coù trò tuyeät ñoái lôùn nhaát, sao cho khoâng cuøng haøng vaø coät vôùi nhöõng phaàn töû ñaõ choïn tröôùc. Phaàn töû nhö vaäy thöôøng ñöôïc goïi laø phaàn töû chính hay phaàn töû troäi. Sau ñoù ta seõ bieán ñoåi ñeå cho taát caû caùc phaàn töû treân cuøng coät cuûa phaàn töû troäi baèng khoâng. Qua n böôùc nhö vaäy ta seõ tìm ñöôïc nghieäm deã daøng 1. Ta minh hoaï phöông phaùp naøy baèng ví duï sau. Ví duï 3.2. Xeùt heä phöông trình trong ví duï tröôùc coù ma traän heä soá môû roäng A(0) = 0 BB@ 1 −1 2 −1 : −8 2 −2 3 −3 : −20 1 1 1 0 : −2 1 −1 4 3 : 4 1 CCA 1Phöông phaùp naøy cuõng ñöôïc goïi laø phöông phaùp Gauss-Jordan hay Jordan
  • 8. 42 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Ñaàu tieân ta seõ choïn phaàn töû chính laø phaàn töû a(0) 43 = 4 vaø thöïc hieän caùc pheùp bieán ñoåi (4h3 − h4), (4h2 − 3h4), (2h1 − h4) ta thu ñöôïc A(1) = 0 BB@ 1 −1 0 −5 : −20 5 −5 0 −21 : −92 3 5 0 −3 : −12 1 −1 4 3 : 4 1 CCA Böôùc tieáp theo, phaàn töû chính ñöôïc choïn khoâng ñöôïc naèm treân haøng thöù tö vaø coät thöùc ba. Ñoù laø phaàn töû a(1) 24 = −21. Tieáp tuïc thöïc hieän caùc pheùp bieán ñoåi (21h1 − 5h2), (7h3 − h2), (7h4 + h2) ta thu ñöôïc A(2) = 0 BB@ −4 4 0 0 : 40 5 −5 0 −21 : −92 16 40 0 0 : 8 12 −12 28 0 : −64 1 CCA Tieáp theo phaàn töû chính ñöôïc choïn khoâng ñöôïc naèm treân haøng thöù hai, thöù tö vaø coät thöù ba, thöù tö vaø do ñoù phaàn töû chính seõ laø phaàn töû a(2) 32 = 40. Thöïc hieän pheùp bieán ñoåi (10h1−h3), (8h2+h3), (10h4+ 3h3) ta ñöôïc A(3) = 0 BB@ −56 0 0 0 : 392 56 0 0 −168 : −728 16 40 0 0 : 8 168 0 280 0 : −616 1 CCA Cuoái cuøng phaàn töû chính khoâng cuøng naèm treân haøng vaø coät cuûa nhöõng phaàn töû chính ñaõ ñöôïc choïn tröôùc laø phaàn töû a(3) 11 = −56. Thöïc hieän caùc pheùp bieán ñoåi (h2 + h1), (7h3 + 2h1), (h4 + 3h1) ta coù ma traän cuoái cuøng A(3) = 0 BB@ −56 0 0 0 : 392 0 0 0 −168 : −336 0 280 0 0 : 840 0 0 280 0 : 560 1 CCA vaø heä phöông trình ñaàu töông ñöông vôùi heä sau 8 : −56x1 = 392 −168x4 = −336 280x2 = 840 280x3 = 560
  • 9. 3.1 Phöông phaùp Gauss 43 Töø ñaây chuùng ta cuõng suy ra ñöôïc x = [−7, 3, 2, 2]T. Thuaät toaùn giaûi heä phöông trình baèng phöông phaùp phaàn töû troäi ñöôïc theå hieän trong Chöông trình 3.4. Ñoái soá cuûa chöông trình goàm: N laø soá phöông trình vaø soá aån, a laø ma traän heä soá caáp N × (N + 1), coät thöù N +1 laø vectô töï do. Keát quaû traû veà cuûa chöông trình laø vectô nghieäm x . Chöông trình 3.4. - c3jordan : Phöông phaùp phaàn töû troäi. function [x] = c3jordan(N,a) if nargin 2, error('Haøm coù toái thieåu 2 ñoái soá'); end for i=1:N, b(i)=0; end; for k=1:N max=0; for i=1:N if b(i)==0 for j=1:N if maxabs(a(i,j)) max=abs(a(i,j)); im=i; jm=j; end; end; end; end; if max=0, error('Ma traän suy bieán.'); end; b(im)=jm; max=a(im,jm); for j=1:N+1, a(im,j)=a(im,j)/max; end; for i=1:N if i=im max=a(i,jm); for j=1:N+1 a(i,j)=a(i,j)-a(im,j)*max; end; end; end;
  • 10. 44 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH end; for i=1:N, x(b(i))=a(i,N+1); end; Caùc phöông phaùp coù söû duïng caùc pheùp bieán ñoåi sô caáp cô baûn coù öu ñieåm laø ñôn giaûn, deã laäp trình. Tuy nhieân neáu phaàn töû ñöôïc choïn ñeå bieán ñoåi gaàn vôùi khoâng thì phöông phaùp Gauss coù theå cho keát quaû khoâng chính xaùc. Hôn nöõa, neáu caùc pheùp toaùn coäng, tröø, nhaân, chia ñöôïc laøm ñuùng hoaøn toaøn, thì caùc phöông phaùp treân cho chuùng ta nghieäm ñuùng cuûa heä phöông trình. Tuy nhieân, khi thöïc hieän treân caùc coâng cuï tính toaùn, ta vaãn gaëp phaûi sai soá laøm troøn. Cho neân caùc phöông phaùp Gauss vaãn ñöôïc xem nhö laø caùc phöông phaùp gaàn ñuùng. 3.2 PHÖÔNG PHAÙP NHAÂN TÖÛ LU Noäi dung cuûa phöông phaùp nhaân töû LU laø phaân tích ma traän heä soá A thaønh tích cuûa hai ma traän L vaø U, trong ñoù L laø ma traän tam giaùc döôùi vaø U laø ma traän tam giaùc treân. Khi ñoù vieäc giaûi heä phöông trình (3.1) seõ ñöa veà vieäc giaûi hai heä phöông trình Ly = b vaø Ux = y maø ma traän heä soá laø caùc ma traän tam giaùc vaø nghieäm thu ñöôïc töø caùc coâng thöùc (3.2) vaø (3.3). Ta coù ñònh lí sau ñaây. Ñònh lí 3.1. Neáu A laø ma traän khoâng suy bieán, thì bao giôø cuõng toàn taïi moät ma traän P khoâng suy bieán sao cho ma traän PA phaân tích ñöôïc thaønh tích cuûa ma traän tam giaùc döôùi L vaø ma traän tam giaùc treân U, nghóa laø PA = LU. Coù raát nhieàu phöông phaùp phaân tích A = LU, tuy nhieân ta thöôøng xeùt tröôøng hôïp ma traän L coù ñöôøng cheùo chính baèng 1 vaø goïi laø phöông phaùp Doolittle. Khi ñoù L vaø U coù daïng: L = 0 BB@ 1 0 · · · 0 l21 1 · · · 0 · · · · · · · · · · · · ln1 ln2 · · · 1 1 CCA vaø U = 0 BB@ u11 u12 · · · u1n 0 u22 · · · u2n · · · · · · · · · · · · 0 0 · · · unn 1 CCA
  • 11. 3.2 Phöông phaùp nhaân töû LU 45 Caùc phaàn töû cuûa hai ma traän L vaø U ñöôïc xaùc ñònh theo coâng thöùc sau: 8 : u1j = a1j (1 6 j 6 n) li1 = ai1 u11 (2 6 i 6 n) uij = aij − iP−1 k=1 likukj (1 i 6 j) lij = 1 ujj aij − Xj−1 k=1 likukj ! (1 j i) (3.4) Ví duï 3.3. Xeùt heä phöông trình 8 : 2x1 + 2x2 − 3x3 = 9 −4x1 − 3x2 + 4x3 = −15 2x1 + x2 + 2x3 = 3 Ta phaân tích ma traän heä soá 0 @ 2 2 −3 −4 −3 4 2 1 2 1 A = 0 @ 1 0 0 l21 1 0 l31 l32 1 1 A · 0 @ u11 u12 u13 0 u22 u23 0 0 u33 1 A vôùi u11 = 2; u12 = 2; u13 = −3; l21 = −2; l31 = 1; u22 = 1; u23 = −2;l32 = −1; u33 = 3. Do ñoù Ly = b () 0 @ 1 0 0 −2 1 0 1 −1 1 1 Ay = 0 @ 9 −15 3 1 A =) y = 0 @ 93 −3 1 A Ux = y () 0 @ 2 2 −3 0 1 −2 0 0 3 1 Ax = 0 @ 93 −3 1 A =) x = 0 @ 21 −1 1 A Ví duï 3.4. Heä phöông trình 8 : x1 + x2 + +3x4 = 4 2x1 + x2 − x3 + x4 = 1 3x1 − x2 − x3 + 2x4 = −3 −x1 + 2x2 + 3x3 − x4 = 4
  • 12. 46 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Ta coù phaân tích cuûa ma traän heä soá A = LU theo phöông phaùp Doolittle nhö sau: A = 0 BB@ 1 0 0 0 2 1 0 0 3 4 1 0 −1 −3 0 1 1 CCA 0 BB@ 1 1 0 3 0 −1 −1 −5 0 0 3 13 0 0 0 −13 1 CCA Ta coù Ly = b () 0 BB@ 1 0 0 0 2 1 0 0 3 4 1 0 −1 −3 0 1 1 CCA 0 BB@ y1 y2 y3 y4 1 CCA = 0 BB@ 41 −3 4 1 CCA Ta thu ñöôïc y = [4,−7, 13,−13]T. Vaø cuoái cuøng töø heä phöông trình Ux = y () 0 BB@ 1 1 0 3 0 −1 −1 −5 0 0 3 13 0 0 0 −13 1 CCA 0 BB@ x1 x2 x3 x4 1 CCA = 0 BB@ 4 −7 13 −13 1 CCA ta coù nghieäm x = [−1, 2, 0, 1]T. Thuaät toaùn phaân raõ LU ñöôïc theå hieän trong Chöông trình 3.5. Ñoái soá cuûa chöông trình goàm: N laø soá phöông trình, a laø ma traän heä soá caáp N × N. Keát quaû traû veà cuûa chöông trình laø ma traän tam giaùc döôùi l vaø ma traän tam giaùc treân u . Chöông trình 3.5. - c3LUfactor : Phöông phaùp nhaân töû LU. function [l,u] = c3LUfactor(N,a) if nargin 2, error('Haøm coù toái thieåu 2 ñoái soá'); 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('Khoâng theå phaân tích ñöôïc.');end; for i=2:N, l(i,1)=a(i,1)/u(1,1); end; for i=2:N-1
  • 13. 3.2 Phöông phaùp nhaân töû LU 47 for j=i:N sum=0; for k=1:i-1,sum=sum+l(i,k)*u(k,j);end; u(i,j)=a(i,j)-sum; end; if u(i,i)==0,error('Khoâng theå phaân tích ñöôïc.');end; for j=i+1:N sum=0; for k=1:i-1,sum=sum+l(j,k)*u(k,i);end; l(j,i)=(a(j,i)-sum)/u(i,i); end; end; sum=0; for k=1:N-1,sum=sum+l(N,k)*u(k,N); end; u(N,N)=a(N,N)-sum; Phöông phaùp phaân raõ LU aùp duïng raát hieäu quaû trong tröôøng hôïp ma traän heä soá coù daïng ba ñöôøng cheùo: A = 0 BBBBBB@ a11 a12 0 · · · 0 0 a21 a22 a23 · · · 0 0 0 a32 a33 · · · 0 0 · · · · · · · · · · · · · · · · · · 0 0 0 · · · an−1,n−1 an−1,n 0 0 0 · · · an,n−1 an,n 1 CCCCCCA Khi ñoù phaân raõ Doolittle cho ta L = 0 BBBB@ 1 0 0 · · · 0 l21 1 0 · · · 0 0 l32 1 · · · 0 · · · · · · · · · · · · · · · 0 0 0 · · · 1 1 CCCCA vaø U = 0 BBBB@ u11 u12 0 · · · 0 0 u22 u23 · · · 0 0 0 u33 · · · 0 · · · · · · · · · · · · · · · 0 0 0 · · · un,n 1 CCCCA
  • 14. 48 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Khi aáy töø coâng thöùc (3.4) ta coù 8 : u11 = a11; u12 = a12; l21 = a21 u11 ; ui,i = ai,i − li,i−1ui−1,i; 8i = 2, 3, . . ., n ui,i+1 = ai,i+1; li+1,i = ai+1,i ui,i ; 8i = 2, 3, . . ., n − 1 Ñeå theå hieän thuaät toaùn Doolittle trong tröôøng hôïp ma traän heä soá coù daïng ba ñöôøng cheùo, thay vì ñöa vaøo ma traän A, ta ñöa vaøo ba vectô: a chöùa caùc phaàn töû treân ñöôøng cheùo chính cuûa A, b laø ñöôøng cheùo naèm treân ñöôøng cheùo chính vaø c laø ñöôøng cheùo naèm döôùi ñöôøng cheùo chính, vectô töï do laø d . Chöông trình treân MatLab ñöôïc theå hieän trong chöông trình 3.6. Keát quaû traû veà laø vectô nghieäm x . Chöông trình 3.6. - c3tridiag : Ma traän ba ñöôøng cheù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); for i=2:N-1 u(i)=a(i)-l(i-1)*v(i-1); v(i)=b(i); l(i)=c(i)/u(i); y(i)=d(i)-l(i-1)*y(i-1); end; u(N)=a(N)-l(N-1)*v(N-1); y(N)=d(N)-l(N-1)*y(N-1); x(N)=y(N)/u(N); for i=N-1:-1:1 x(i)=(y(i)-v(i)*x(i+1))/u(i); end;
  • 15. 3.3 Phöông phaùp Choleski 49 3.3 PHÖÔNG PHAÙP CHOLESKI Ñaây laø tröôøng hôïp ñaët bieät cuûa phöông phaùp nhaân töû LU, vaø ñöôïc duøng cho tröôøng hôïp ma traän heä soá A ñoái xöùng vaø xaùc ñònh döông. Ma traän vuoâng A ñöôïc goïi laø ñoái xöùng neáu AT = A. Coù theå noùi raèng ma traän A laø ñoái xöùng neáu caùc phaàn töû cuûa noù ñoái xöùng vôùi nhau qua ñöôøng cheùo chính, nghóa laø aij = aji, 8i, j = 1, n. Coøn ma traän A laø xaùc ñònh döông neáu 8x 2 Rn, x6= 0 : xTAx 0. Ñeå kieåm tra tính xaùc ñònh döông cuûa moät ma traän, ta thöôøng duøng ñònh lí sau ñaây. Ñònh lí 3.2. Moät ma traän laø xaùc ñònh döông khi vaø chæ khi taát caû caùc ñònh thöùc con chính cuûa noù ñeàu döông. Trong ñoù ñònh thöùc con chính caáp k, 1 6 k 6 n cuûa ma traän laø ñònh thöùc con thu ñöôïc töø k haøng vaø k coät ñaàu tieân cuûa ma traän ñoù. Ví duï 3.5. Xeùt ma traän A = 0 @ 1 1 −1 1 2 0 −1 0 4 1 A coù 1 = |1| = 1 0, 2 =
  • 16.
  • 17.
  • 18.
  • 19. 1 1 1 2
  • 20.
  • 21.
  • 22.
  • 23. = 1 0 vaø 3 =
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. 1 1 −1 1 2 0 −1 0 4
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. = 2 0. Do ñoù A laø xaùc ñònh döông. Ta coù ñònh lí Choleski: Ñònh lí 3.3. Ma traän A laø ñoái xöùng vaø xaùc ñònh döông khi vaø chæ khi toàn taïi moät ma traän B tam giaùc döôùi, khaû ñaûo sao cho A = BBT . Khi ñoù ma traän tam giaùc döôùi B coù theå tìm ñöôïc theo coâng thöùc sau: 8 : b11 = p a11; bi1 = ai1 b11 (2 6 i 6 n) bii = s aii − iP−1 k=1 b2 ik (1 i 6 n) bij = 1 bjj aij − Xj−1 k=1 bikbjk ! (1 j i) (3.5)
  • 36. 50 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Ví duï 3.6. Xeùt heä phöông trình Ax = 0 @ 1 1 −1 1 2 0 −1 0 4 1 A 0 @ x1 x2 x3 1 A = 0 @ 123 1 A = b Vì ma traän A = 0 @ 1 1 −1 1 2 0 −1 0 4 1 A laø ñoái xöùng vaø xaùc ñònh döông, neân töø coâng thöùc (3.5) ta coù theå xaùc ñònh caùc heä soá bij, i j cuûa ma traän tam giaùc döôùi B nhö sau b11 = 1, b21 = 1, b31 = −1, b22 = 1, b32 = 1, b33 = p 2 vaø do ñoù A = BBT vôùi B = 0 @ 1 0 0 1 1 0 −1 1 p 2 1 A. Heä phöông trình xuaát phaùt seõ töông ñöông vôùi hai heä By = b BT x = y . Ta ñöôïc By = b , 0 @ 1 0 0 1 1 0 −1 1 p 2 1 Ay = 0 @ 123 1 A ) y = 0 B@ 11 3 p 2 1 CA BT x = y , 0 @ 1 1 −1 0 1 1 0 0 p 2 1 Ax = 0 B@ 11 3 p 2 1 CA) x = 0 @ 3 −1/2 3/2 1 A. Thuaät toaùn phaân raõ Choleski ñöôïc theå hieän trong Chöông trình 3.7. Ñoái soá cuûa chöông trình goàm: N laø caáp cuûa ma traän, a laø ma traän heä soá ñoái xöùng vaø xaùc ñònh döông. Keát quaû traû veà cuûa chöông trình laø ma traän tam giaùc döôùi b . Chöông trình 3.7. - c3choleski : Phöông phaùp Choleski. function [b] = c3choleski(N,a) if nargin 2, error('Haøm coù toái thieåu 2 ñoái soá'); end; for i=1:N
  • 37. 3.3 Phöông phaùp Choleski 51 for j=1:N if a(i,j) = a(j,i) error('Ma traän khoâng ñoái xöùng.'); end; end; end; b=zeros(N); if a(1,1)=0, error('Ma traän khoâng xaùc ñònh döông.'); end; b(1,1)=sqrt(a(1,1)); for i=2:N, b(i,1)=a(i,1)/b(1,1); end; for k=2:N ak=0; for j=1:k-1, ak=ak+b(k,j)*b(k,j); end; ak=a(k,k)-ak; if ak=0, error('Ma traän khoâng xaùc ñònh döông.'); end; b(k,k)=sqrt(ak); for i=k+1:N ak=0; for j=1:k-1 ak=ak+b(i,j)*b(k,j); end; b(i,k)=(a(i,k)-ak)/b(k,k); end; end; Trong thöïc teá, öùng duïng cuûa phöông phaùp Choleski ñeå giaûi heä phöông trình ñaïi soá tuyeán tính, ta chæ caàn tính ñoái xöùng vaø khoâng caàn tính xaùc ñònh döông cuûa ma traän heä soá A. Khi ñoù caùc phaàn töû cuûa ma traän tam giaùc B coù theå laø nhöõng soá phöùc (söû duïng ñôn vò aûo p i = −1). Tuy nhieân, keát quaû tính toaùn cuoái cuøng seõ cho chuùng ta nghieäm thöïc cuûa heä phöông trình ban ñaàu.
  • 38. 52 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Ví duï 3.7. Xeùt heä phöông trình Ax = 0 @ 1 2 −1 2 1 0 −1 0 1 1 A 0 @ x1 x2 x3 1 A = 0 @ 111 1 A = b Töø coâng thöùc (3.5) ta coù theå xaùc ñònh caùc heä soá bij, i j cuûa ma traän tam giaùc döôùi B nhö sau b11 = 1, b21 = 2, b31 = −1, b22 = i p 3, b32 = 2 i p 3 , b33 = 2 p 3 Ta coù By = b , 0 BB@ 1 0 0 p 2 i 3 0 −1 2 i p 3 2 p 3 1 CCA y = 0 @ 111 1 A ) y = 0 BBB@ 1 − 1 i p 3 2 p 3 1 CCCA BT x = y , 0 BBB@ 1 2 −1 p 0 i 3 2 i p 3 0 0 2 p 3 1 CCCA x = 0 BBB@ 1 − 1 i p 3 2 p 3 1 CCCA vaø ta coù nghieäm cuûa heä phöông trình laø x1 = 0, x2 = 1, x3 = 1. 3.4 CHUAÅN VECTÔ VAØ CHUAÅN MA TRAÄN Xeùt khoâng gian tuyeán tính thöïc Rn. Chuaån cuûa vectô x 2 Rn laø moät soá thöïc, kyù hieäu laø kxk, thoaû caùc ñieàu kieän sau ñaây: (i) 8x 2 Rn, kxk 0, kxk = 0 , x = 0 (ii) 8x 2 Rn, 8 2 R, kxk = || .kxk (iii) 8x, y 2 Rn, kx+yk 6 kxk+kyk. Ñieàu kieän naøy thöôøng ñöôïc goïi laø baát ñaúng thöùc tam giaùc. Trong Rn coù theå coù raát nhieàu chuaån, tuy nhieân chuùng ta chæ xeùt chuû yeáu hai chuaån thöôøng duøng sau ñaây: 8x = [x1, x2, . . .,xn]T 2 Rn kxk1 = |x1| + |x2| + · · · + |xn| = Xn k=1 |xk| (3.6)
  • 39. 3.4 Chuaån vectô vaø chuaån ma traän 53 kxk1 = max(|x1| , |x2| , . . . , |xn|) = max k=1,n |xk| (3.7) Vieäc kieåm tra caùc coâng thöùc (3.6) vaø (3.7) thoaû caùc ñieàu kieän (i), (ii), (iii) laø ñôn giaûn vaø daønh cho baïn ñoïc. Baây giôø chuùng ta ñònh nghóa chuaån ma traän töông öùng vôùi chuaån vectô. Ñònh nghóa 3.1. Chuaån ma traän töông öùng vôùi chuaån vectô ñöôïc xaùc ñònh theo coâng thöùc: kAk = max kxk=1 kAxk = max kxk6=0 kAxk kxk (3.8) Ví duï 3.8. Xaùc ñònh chuaån cuûa ma traän A = 1 2 3 4 töông öùng vôùi chuaån moät cuûa vectô. Vôùi moïi x = x1 x2 2 R2, sao cho kxk1 = |x1| + |x2| = 1, ta coù kAxk1 = |x1 + 2x2| +|3x1 + 4x2| 6 4 |x1|+ 6|x2| = 4+2|x2| 6 6 Do ñoù kAk1 = 6. Töø coâng thöùc (3.8) ta deã daøng suy ra ñöôïc raèng: kAxk 6 kAkkxk Ñònh lí 3.4. Chuaån ma traän theo coâng thöùc (3.8) töông öùng vôùi chuaån vectô ñöôïc xaùc ñònh nhö sau: kAk1 = max 16j6n Xn i=1 |aij | (3.9) kAk1 = max 16i6n Xn j=1 |aij| (3.10) Ñònh nghóa 3.2. Xeùt daõy caùc vectô {x(m)}1m =0 vôùi x(m) 2 Rn. Ta noùi daõy caùc vectô naøy hoäi tuï veà vectô x khi m ! +1 neáu vaø chæ neáu kx(m) − xk ! 0 khi m ! +1 (hoäi tuï theo chuaån).
  • 40. 54 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH Khi ñoù ta kyù hieäu lim m!1 x(m) = x vaø chuaån coù theå laáy moät chuaån baát kyø trong caùc coâng thöùc (3.6) hoaëc (3.7). Ta cuõng coù theå noùi daõy vectô {x(m)} hoäi tuï veà x theo chuaån ñaõ cho. Ta coù ñònh lí sau ñaây: Ñònh lí 3.5. Ñeå daõy caùc vectô {x(m)} hoäi tuï tôùi vectô x khi m ! +1 theo chuaån thì ñieàu kieän caàn vaø ñuû laø daõy {x(m) k } hoäi tuï veà xk, 8k = 1, n (hoäi tuï theo toaï ñoä). Baây giôø xeùt heä phöông trình Ax = b(det A6= 0) coù nghieäm x = A−1b. Cho b moät soá gia b, khi ñoù nghieäm x töông öùng seõ coù soá gia laø x, vaø Ax= b , x = A−1b. Ta coù kxk = kA−1bk 6 kA−1kkbk vaø kbk = kAxk 6 kAkkxk Töø ñaây chuùng ta deã daøng suy ra ñöôïc kxk kxk 6 kAk.kA−1k kbk kbk Soá k(A) = Cond(A) = kAk.kA−1k (3.11) ñöôïc goïi laø soá ñieàu kieän cuûa ma traän A. Ta coù theå chöùng toû ñöôïc raèng 1 6 k(A) 6 +1 Soá ñieàu kieän cuûa ma traän ñaëc tröng cho tính oån ñònh cuûa heä thoáng phöông trình ñaïi soá tuyeán tính. Giaù trò cuûa k(A) caøng gaàn vôùi 1 thì heä caøng oån ñònh. Soá ñieàu kieän caøng lôùn thì heä caøng maát oån ñònh. Ví duï 3.9. Xeùt heä phöông trình Ax = b vôùi A = 1 2 1 2.01 vaø b = 3 3.01 . Deã thaáy heä coù nghieäm laø x = 11 . Baây giôø xeùt heä A˜x =˜b vôùi˜b= 3 3.1 . Nghieäm cuûa heä baây giôø laø ˜x = −17 10 . Ta nhaän thaáy k1(A) = 1207.01 1. Do ñoù b ˜b , nhöng x vaø ˜x khaùc nhau raát xa.
  • 41. 3.5 Phöông phaùp laëp 55 3.5 PHÖÔNG PHAÙP LAËP Kó thuaät laëp duøng ñeå giaûi heä phöông trình ñaïi soá tuyeán tính (3.1) cuõng töông töï nhö phöông phaùp laëp ñaõ xeùt trong chöông 2. Muoán theá, chuùng ta chuyeån heä (3.1) veà daïng töông ñöông x = Tx+c vôùi T laø moät ma traän vuoâng caáp n vaø c laø moät vectô ñaõ bieát. Xuaát phaùt töø vectô ban ñaàu x(0), ta xaây döïng moät daõy caùc vectô {x(m)}1m =0 theo coâng thöùc laëp x(m) = Tx(m−1) + c (3.12) vôùi m = 1, 2, 3, . . .. Ta coù ñònh lí sau ñaây: Ñònh lí 3.6. Neáu kT k 1 thì daõy laëp caùc vectô xaùc ñònh theo coâng thöùc (3.12) seõ hoäi tuï veà nghieäm x cuûa heä vôùi moïi vectô laëp ban ñaàu x(0). Khi ñoù ta coù caùc coâng thöùc ñaùnh giaù sai soá nhö sau: kx(m) − xk 6 kT km 1 − kT k kx(1) − x(0)k (3.13) kx(m) − xk 6 kT k 1 − kT k kx(m) − x(m−1)k (3.14) Baây giôø chuùng ta seõ xeùt moät daïng ma traän heä soá cuûa heä phöông trình Ax = b maø coù theå chuyeån deã daøng veà daïng x = Tx + c. Ñònh nghóa 3.3. Ma traän A ñöôïc goïi laø ma traän ñöôøng cheùo troäi nghieâm ngaët neáu noù thoaû maõn ñieàu kieän sau ñaây: Xn j=1,j6=i |aij| |aii| (3.15) Chuùng ta coù theå deã daøng kieåm tra raèng neáu A laø ma traän ñöôøng cheùo troäi nghieâm ngaët thì detA6= 0 vaø aii6= 0, 8i = 1, n. Xeùt heä phöông trình (3.1) vôùi A laø ma traän ñöôøng cheùo troäi nghieâm ngaët. Ta
  • 42. 56 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH phaân tích ma traän A theo daïng A = 0 BB@ a11 a12 · · · a1n a21 a22 · · · a2n · · · · · · · · · · · · an1 an2 · · · ann 1 CCA = 0 BB@ a11 0 · · · 0 0 a22 · · · 0 · · · · · · · · · · · · 0 0 · · · ann 1 CCA − − 0 BB@ 0 0 · · · 0 −a21 0 · · · 0 · · · · · · · · · · · · −an1 −an2 · · · 0 1 CCA − 0 BB@ 0 −a12 · · · −a1n 0 0 · · · −a2n · · · · · · · · · · · · 0 0 · · · −ann 1 CCA = = D − L − U Chuù yù raèng do aii6= 0, 8i = 1, n neân detD6= 0. Vaø nhö vaäy toàn taïi ma traän nghòch ñaûo: D−1 = 0 BBBBBB@ 1 a11 0 · · · 0 0 1 a22 · · · 0 · · · · · · · · · · · · 0 0 · · · 1 ann 1 CCCCCCA Khi ñoù heä Ax = b () (D − L − U)x = b (3.16) Baây giôø chuùng ta seõ xeùt moät vaøi phöông phaùp ñeå chuyeån heä phöông trình (3.1) veà daïng x = Tx + c. Töø heä (3.16) ta coù Dx = (L + U)x + b. Do toàn taïi D−1 neân x = D−1(L + U)x + D−1b. Kyù hieäu Tj = D−1(L + U) vaø cj = D−1b. Khi ñoù coâng thöùc laëp theo (3.12) seõ coù daïng x(m) = Tjx(m−1) + cj, m= 1, 2, 3, . . . (3.17) Phöông phaùp laëp döïa treân coâng thöùc laëp (3.17) ñöôïc goïi laø phöông phaùp Jacobi. Daïng töôøng minh cuûa coâng thöùc (3.17) nhö sau: x(m) i = 1 aii 0 @− Xi−1 j=1 aijx(m−1) j − Xn j=i+1 aijx(m−1) j + bi 1 A (3.18)
  • 43. 3.5 Phöông phaùp laëp 57 vôùi i = 1, 2, . . ., n. Ta coù kTJk1 = kD−1(L + U)k1 = max i=1,n Xn j=1,j6=i
  • 44.
  • 45.
  • 46.
  • 48.
  • 49.
  • 50.
  • 51. = max i=1,n Pn j=1,j6=i |aij | |aii| 1 do A laø ma traän ñöôøng cheùo troäi nghieâm ngaët. Vaäy kTJk1 1, nghóa laø phöông phaùp Jacobi luoân hoäi tuï vôùi moïi vectô laëp ban ñaàu x(0). Ví duï 3.10. Xeùt heä phöông trình 8 : 10x1 + x2 − x3 = 7 x1 + 10x2 + x3 = 8 −x1 + x2 + 10x3 = 9 Vôùi vectô laëp ban ñaàu x(0) = (0, 0, 0)T , haõy tính vectô x(3) vaø ñaùnh giaù sai soá cuûa noù. Ta coù Tj = 2 4 0.0 −0.1 0.1 −0.1 0.0 −0.1 0.1 −0.1 0.0 3 5 vaø cj = 2 4 0.7 0.8 0.9 3 5 Do ñoù: x(1) = Tjx(0) + cj = 2 4 0.7 0.8 0.9 3 5; x(2) = Tjx(1) + cj = 2 4 0.71 0.64 0.89 3 5; x(3) = Tjx(2) + cj = 2 4 0.725 0.640 0.907 3 5. Ta coù kTjk1 = 0.2. Vì vaäy kx(3) − xk1 6 0.2 1− 0.2kx(3) − x(2)k1 = 0.0043 Ví duï 3.11. Heä phöông trình Ax = b cho bôõi 8 : 10x1 − x2 + 2x3 = 6 −x1 + 11x2 − x3 + 3x4 = 25 2x1 − x2 + 10x3 − x4 = −11 3x2 − x3 + 8x4 = 15
  • 52. 58 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH coù nghieäm duy nhaát x = [1, 2,−1, 1]T. Ñeå chuyeån töø heä Ax = b veà daïng x = Tjx + cj , ta bieán ñoåi nhö sau 8 : x1 = 0.100x2 − 0.200x3+ 0.600 x2 = 0.091x1 + 0.091x3 − 0.273x4+ 2.273 x3 = 0.200x1 + 0.100x2 + 0.100x4 − 1.100 x4 = −0.375x2 + 0.125x3+ 1.875 Khi ñoù ma traän Tj vaø vectô cj coù daïng: Tj = 0 BB@ 0 0.100 −0.200 0 0.091 0 0.091 −0.273 −0.200 0.100 0 0.100 0 −0.375 0.125 0 1 CCA , cj = 0 BB@ 0.600 2.273 −1.100 1.875 1 CCA Choïn chuaån voâ cuøng vaø ta coù kTjk1 = 1 2 1. Do ñoù phöông phaùp laëp hoäi tuï. Choïn x(0) = [0, 0, 0, 0]T. Baûng sau ñaây cho chuùng ta keát quaû tính toaùn sau 10 laàn laëp. m 1 2 3 4 5 x(m) 1 0.6000 1.0473 0.9326 1.0152 0.9890 x(m) 2 2.2727 1.7159 2.0533 1.9537 2.0114 x(m) 3 −1.1000 −0.8052 −1.0493 −0.9681 −1.0103 x(m) 4 1.8750 0.8852 1.1309 0.9739 1.0214 m 6 7 8 9 10 x(m) 1 1.0032 0.9981 1.0006 0.9997 1.0001 x(m) 2 1.9922 2.0023 1.9987 2.0004 1.9998 x(m) 3 −0.9945 −1.0020 −0.9990 −1.0004 −0.9998 x(m) 4 0.9944 1.0036 0.9989 1.0006 0.9998 Quaù trình laëp döøng laïi döïa theo ñaùnh giaù: kx(10) − xk1 6 1/2 1 − 1/2 kx(10) − x(9)k1 = 8.0× 10−4 10−3 Trong khi sai soá thöïc söï laø kx(10) − xk1 = 0.0002.
  • 53. 3.5 Phöông phaùp laëp 59 Phöông phaùp laëp Jacobi ñöôïc theå hieän trong Chöông trình 3.8. Ñoái soá cuûa chöông trình goàm: N laø caáp cuûa ma traän, a laø ma traän heä soá caáp N ×(N+1 ), x0 laø vectô laëp ban ñaàu, eps laø sai soá (giaù trò maëc ñònh laø 10−6) vaø maxit laø soá laàn laëp toái ña cho pheùp. Keát quaû traû veà cuûa chöông trình laø vectô laëp x , sai soá ss vaø soá laàn laëp thöïc teá n . Chöông trình 3.8. - c3jacobi : Phöông phaùp Jacobi. function [x,ss,n]=c3jacobi(N,a,x0,eps,maxit) if nargin 5, maxit = 100; end; if nargin 4, eps = 1.0E-6; end; if nargin 3, error('Haøm coù ít nhaát 3 ñoái soá.'); end; n=0; for l=1:maxit n=n+1; for k=1:N sum=0; for j=1:N if j=k, sum=sum+a(k,j)*x0(j);end; end; x(k)=(a(k,N+1)-sum)/a(k,k); end; ss=0; for k=1:N if abs(x(k)-x0(k))ss ss=abs(x(k)-x0(k)); end; end; if sseps, break; end; for k=1:N, x0(k)=x(k); end; end; Trong coâng thöùc (3.18), ñeå tính caùc toaï ñoä cuûa vectô laëp x(m),
  • 54. 60 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH chuùng ta chæ söû duïng caùc toaï ñoä cuûa x(m−1). Tuy nhieân vôùi i 1, x(m) 1 , x(m) 2 , . . .,x(m) i−1 ñaõ ñöôïc tính vaø xaáp xæ nghieäm chính xaùc x1, x2, . . . , xi−1 toát hôn x(m−1) i−1 . Do ñoù khi tính x(m) i 1 , x(m−1) 2 , . . . ,x(m−1) chuùng ta neân söû duïng caùc giaù trò vöøa tính xong x(m) 1 , x(m) 2 , . . . ,x(m) i−1. Ta thu ñöôïc x(m) i = 1 aii 0 @− Xi−1 j=1 aijx(m) j − Xn j=i+1 aijx(m−1) j + bi 1 A (3.19) vôùi i = 1, 2, . . .,n. Coâng thöùc (3.19) thöôøng ñöôïc goïi laø coâng thöùc laëp Gauss-Seidel. Baây giôø ta seõ vieát daïng ma traän cuûa phöông phaùp Gauss-Seidel. Töø heä phöông trình (3.16) ta ñöôïc (D−L)x = Ux+b. Ma traän D−L cuõng coù ma traän nghòch ñaûo vaø do ñoù x = (D − L)−1Ux + (D − L)−1b. Ñaët Tg = (D − L)−1U vaø cg = (D − L)−1b. Khi ñoù coâng thöùc laëp coù daïng x(m) = Tgx(m−1) + cg, m= 1, 2, 3, . . . Ví duï 3.12. Xeùt heä phöông trình trong ví duï 3.11 8 : 10x1 − x2 + 2x3 = 6 −x1 + 11x2 − x3 + 3x4 = 25 2x1 − x2 + 10x3 − x4 = −11 3x2 − x3 + 8x4 = 15 Coâng thöùc laëp theo phöông phaùp Gauss-Seidel coù daïng 8 : x(m) 1 = 0.100x(m−1) 2 − 0.200x(m−1) 3 + 0.600 x(m) 2 = 0.091x(m) 1 + 0.091x(m−1) 3 − 0.273x(m−1) 4 + 2.273 x(m) 3 = 0.200x(m) 1 + 0.100x(m) 2 + 0.100x(m−1) 4 − 1.100 x(m) 4 = −0.375x(m) 2 + 0.125x(m) 3 + 1.875 Choïn x0 = [0, 0, 0, 0]T. Baûng sau ñaây cho chuùng ta keát quaû tính
  • 55. 3.5 Phöông phaùp laëp 61 toaùn sau 5 laàn laëp. m 1 2 3 4 5 x(m) 1 0.6000 1.0300 1.0065 1.0009 1.0001 x(m) 2 2.3272 2.0370 2.0036 2.0003 2.0000 x(m) 3 −0.9873 −1.0140 −1.0025 −1.0003 −1.0000 x(m) 4 0.8789 0.9844 0.9983 0.9999 1.0000 Ta thaáy ñeán laàn laëp thöù naêm, nghieäm thu ñöôïc baèng phöông phaùp Gauss-Seidel toát hôn nhieàu so vôùi phöông phaùp Jacobi. Phöông phaùp laëp Gauss-Seidel ñöôïc theå hieän trong Chöông trình 3.9. Ñoái soá cuûa chöông trình goàm: N laø caáp cuûa ma traän, a laø ma traän heä soá caáp N ×(N+1 ), x0 laø vectô laëp ban ñaàu, eps laø sai soá (giaù trò maëc ñònh laø 10−6) vaø maxit laø soá laàn laëp toái ña cho pheùp. Keát quaû traû veà cuûa chöông trình laø vectô laëp x , sai soá ss vaø soá laàn laëp thöïc teá n . Chöông trình 3.9. - c3seidel : Phöông phaùp Gauss-Seidel. function [x,ss,n]=c3seidel(N,a,x0,eps,maxit) n=0; for l=1:maxit n=n+1; for k=1:N sum=0; for j=1:N if jk, sum=sum+a(k,j)*x(j); elseif jk, sum=sum+a(k,j)*x0(j); end; end; x(k)=(a(k,N+1)-sum)/a(k,k); end; ss=0; for k=1:N
  • 56. 62 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH if abs(x(k)-x0(k))ss ss=abs(x(k)-x0(k)); end; end; if sseps, break; end; for k=1:N, x0(k)=x(k); end; end; 3.6 BAØI TAÄP 1. Söû duïng phöông phaùp phaàn töû troäi giaûi caùc heä phöông trình sau ñaây: (a) 8 : 2x1 − 1.5x2 + 3x3 = 1 −x1 + 2x3 = 3 4x1 − 4.5x2 + 5x3 = 1 (b) 8 : 2.13x1 + 3.45x2 − 6.21x3 = 1.45 0.43x1 + 4.24x2 − 5.05x3 = 2.23 2.67x1 − 1.13x2 + 3.27x3 = 3.21 (c) 8 : x1 + x2 + x4 = 2 2x1 + x2 − x3 + x4 = 1 4x1 − x2 − 2x3 + 2x4 = 0 3x1 − x2 − x3 + 4x4 = −3 2. Duøng phöông phaùp Doolittle phaân tích caùc ma traän sau thaønh tích LU: 0 (a) @ 4 1 −2 4 5 1 8 12 9 1 A (b) 0 @ 2 2 −1 −1 2 1 −2 1 4 1 A (c) 0 BB@ 1 1 −3 2 −1 2 1 4 2 1 2 −2 2 2 −1 1 1 CCA 3. Söû duïng caùc phöông phaùp nhaân töû LU (Doolittle) giaûi caùc heä phöông trình sau:
  • 57. 3.6 Baøi taäp 63 (a) 8 : 2x1 − 5x2 + 4x3 = 1 3x1 + 3x2 + 9x3 = 0 3x1 + 6x2 + 5x3 = 4 (b) 8 : 2.2x1 + 0.3x2 + 0.2x3 = 1.5 0.3x1 + 3.4x2 + 0.2x3 = 2.4 0.2x1 + 0.2x2 + 4.1x3 = 3.2 (c) 8 : x2 + x3 = 1 x1 − 2x2 − x3 = 0 x1 − x2 + x3 = −1 (d) 8 : x1 + x2 − x3 + x4 = 1 x1 − x2 + 4x3 + 3x4 = 2 2x1 − x2 + 2x3 + 4x4 = 3 2x1 + x2 + 2x3 + 3x4 = 2 4. Cho A laø ma traän vuoâng, ba ñöôøng cheùo, caáp 10 vôùi caùc heä soá ñöôïc xaùc ñònh bôõi aii = 2, ai,i+1 = ai,i−1 = −1 vôùi moïi i = 2, . . ., 9 vaø a11 = a10,10 = 2, a12 = a10,9 = −1. Cho b laø vectô coät caáp 10 ñöôïc cho bôõi b1 = b10 = 2 vaø bi = 1 vôùi moïi i = 2, . . . , 9. Haõy giaûi heä Ax = b söû duïng phöông phaùp nhaân töû LU. 5. Tìm caùc giaù trò cuûa ñeå cho caùc ma traän sau ñaây laø xaùc ñònh döông: (a) 0 @ 1 −1 1 2 1 −1 1 4 1 A (b) 0 @ 1 2 4 −1 2 −1 8 1 A (c) 0 @ 1 −1 −1 3 1 1 5 1 A 6. Söû duïng phöông phaùp Choleski giaûi caùc heä phöông trình sau: (a) 8 : 2x1 − x2 = 2 −x1 + 2x2 − x3 = 1 − x2 + 2x3 = 2 (b) 8 : x1 + 3x2 − 2x3 = 1 3x1 + 4x2 − 2x3 = 4 −2x1 − 2x2 + x3 = 3 (c) 8 : 4x1 + x2 + x3 + x4 = −1 x1 + 3x2 − x3 + x4 = 0 x1 − x2 + 2x3 = 1 x1 + x2 + 2x4 = 2
  • 58. 64 HEÄ PHÖÔNG TRÌNH ÑAÏI SOÁ TUYEÁN TÍNH (d) 8 : 5.5x1 + 1.2x2 + 1.3x3 + 1.4x4 = 1.5 1.2x1 + 5.5x2 + 1.4x3 + 1.5x4 = 1.6 1.3x1 + 1.4x2 + 5.5x3 + 1.6x4 = 1.7 1.4x1 + 1.5x2 + 1.6x3 + 5.5x4 = 1.8 7. Tính caùc chuaån k.k1, k.k1 vaø soá ñieàu kieän theo caùc chuaån moät vaø voâ cuøng cuûa caùc ma traän sau: (a) 5 −3 2 8 (b) 0 @ 3 1 −1 1 2 1 −1 1 4 1 A (c) 0 @ 2 −4 −1 2 2 1 −1 2 4 1 A 8. Tìm caùc giaù trò cuûa 0 vaø
  • 59. 0 ñeå cho caùc ma traän sau ñaây laø ñöôøng cheùo troäi nghieâm ngaët: (a) 0 @ 4 1 2
  • 60. 5 4
  • 61. 2 1 A (b) 0 @ 3 2
  • 62. 5
  • 63. 2 1 1 A (c) 0 @
  • 64. 2 4 2
  • 65. 4 −1 1 A 9. Söû duïng phöông phaùp Jacobi tìm nghieäm gaàn ñuùng cuûa caùc heä phöông trình sau vôùi sai soá 10−3, choïn chuaån voâ cuøng: (a) 8 : 4x1 − x2 + x3 = 1 3x1 + 8x2 + 2x3 = 0 3x1 + 3x2 + 10x3 = 4 (b) 8 : 10x1 − x2 = 9 −x1 + 10x2 − 2x3 = 7 − 2x2 + 10x3 = 6 (c) 8 : 10x1 + 5x2 = 6 5x1 + 10x2 − 4x3 = 25 − 4x2 + 8x3 − x4 = −11 − x3 + 5x4 = −11 (d) 8 : −4x1 + x2 + x3 = −2 x1 − 4x2 + x4 = −1 x1 + − 4x3 + x4 = 0 x2 + x3 − 4x4 = 1 10. Laëp laïi baøi taäp 9 söû duïng phöông phaùp Gauss-Seidel.