chuong03
DESCRIPTION
TRANSCRIPT
Bài giảngPHƯƠNG PHÁP SỐ
Chương 3:
PHƯƠNG PHÁP SỐ TRONG ĐẠI SỐ TUYẾN TÍNH
1. Đặt vấn đề Trong thực tế, để giải được bài toán nhiều khi cần phải tính
định mức của ma trận, giải hệ phương trình tuyến tính, tìm ma trận nghịch đảo,…
Giả sử cần giải hệ phương trình tuyến tính:
AX = B
nn n21n
2n2221
1n1211
a ...a a
...
a ... a a
a ... a a
A
nb
...
b
b
B 2
1
nx
...
x
x
X 2
1
Đặt vấn đề (tiếp theo) Nếu det(A)0 thì hệ có nghiệm duy nhất Phương pháp giải thuộc 2 hai nhóm:
o Trực tiếp (giải đúng): Cramer, Gauss,…o Lặp (gần đúng)
Phương pháp Cramer
)Adet(
)Adet(x i
i
Trong đó:
A: Ma trận các hệ số
Ai: Ma trận có được từ A bằng cách thay cột i bởi B
Đặt vấn đề (tiếp theo)
nn1nin1ni1n
n21i221i221
n11i111i111
i
a...aba...a
.......................
a...aba...a
a...aba...a
A
Thay cột thứ i trong A bởi B để có Ai
Phương pháp CramerVí dụ 3.1: Giải hệ sau bằng phương pháp Cramer:
Giải: Ta có:
123
22
32
321
321
321
xxx
xxx
xxx
101)-3(22)-(1-4)2(-1 21
11.3
12
11.1
12
21.2
123
211
112
)det(
A
101)-(2-2)-2(1-4)3(-1 21
11
12
11.2
12
213
121
212
113
)det( 1
A
302)3(61)-(3-2)(22 22
133
11
13
11
222
113
221
132
)det( 2
A
Phương pháp Cramer
203)3(26)(-1-4)2(1 21
31.3
12
31
12
21.2
123
211
312
)det( 3
A
110
10
)det(
)det( 11
A
Ax
310
30
)det(
)det( 22
A
Ax
210
20
)det(
)det( 33
A
Ax
Phương pháp CramerVí dụ 3.2: Tìm nghiệm của hệ phương trình sau bằng phương pháp Cramer:
6x3x3x
5xxx2
4xxx
321
321
321
Phương pháp Cramer
6
5
4
B ,
331
112
111
A4
331
112
111
)Adet(
34
12x12
336
115
114
11 0
4
0x0
361
152
141
22
14
4x4
631
512
411
23
Vậy nghiệm của hệ là: x1 =3; x2 = 0; x3 = 1
Phương pháp Cramer
Nhận xét: Nếu xem như trong quá trình tính toán không có sai số
quy tròn thì phương pháp Cramer là một phương pháp giải đúng.
Việc giải hệ gồm n phương trình bằng phương pháp Cramer cần phải tính n+1 định thức cấp n, mỗi định thức cấp n cần: n!-1 phép cộng, (n-1)n! phép nhân . Khi n lớn số lượng phép tính là rất lớn khó thực hiện được trong thực tế.
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (phương pháp khử) Nội dung của phương pháp: Gồm 2 quá trình:
Quá trình thuận:
Biến đổi ma trận A về ma trận tam giác trên:
)n(n
)2(2
)1(1
(n))2(
n2
)1(n1
)1(12
)n(
b
...
b
b
B ;
1
......
a....1
a....a1
A
)()( , ki
kij baTrong đó: là phần tử ở hàng i cột j của ma trận A và phần tử
Thứ i của ma trận B sau bước biến đổi thứ k.
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Hệ phương trình đã cho tương đương với:
)n(nn
)2(2n
)2(n22
)1(1n
)1(n12
)1(121
bx
.................
bxa...x
bxa...xax
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Quá trình nghịch: Lần lượt tính nghiệm xn, xn-1, … x1 theo cách:
n
kkk
n
ikk
iik
iii
nn
nnn
nn
nnn
xabx
xabx
xabx
bx
2
)1(1
)1(11
1
)()(
)1()1(
)1(11
)(
....
.....
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) Các bước thực hiện: Để minh họa, ta sử dụng phương pháp Gauss để
giải hệ sau:
123
22
32
321
321
321
xxx
xxx
xxx
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Bước 1: - Giả sử a11 ≠ 0, chia dòng 1 cho a11. (a11 là phần tử trụ). Hệ đã cho tương đượng với:
n
)(
nnnnnn
n
n
)(n
)()(
b
...
b
b
b
x
...
x
x
x
.
a...aaa
...............
a...aaa
a...aaa
a...aa
3
2
11
3
2
1
321
3333231
2232221
11
113
1121
111)1(
111j1)1(
j1 a/bb ,a/aa Với
123
222
3
2
1
2
1
321
321
321
xxx
xxx
xxx
Quá trình thuận
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)- Khử x1 trong phương trình thứ i=2,3,4,…, n bằng cách:
Thay dòng i bởi dòng i – dòng 1 * ai1 . Nghĩa là:
a(1)ij = aij - a(1)
1j *ai1 với j=1,n
và: b(1)i=bi - b(1)
1*ai1
Hệ đã cho tương đương với:
)(n
)(
)(
)(
n)(
nn)(
n)(
n
)(n
)()(
)(n
)()(
)(n
)()(
b
...
b
b
b
x
...
x
x
x
.
a...aa
...............
a...aa
a...aa
a...aa
1
13
12
11
3
2
1
113
12
13
133
132
12
123
122
11
113
112
0
0
0
1
2
11
2
5
2
7
2
1
2
5
2
3
2
3
2
1
2
1
32
32
321
xx
xx
xxx
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Bước 2: Giả sử a(1)220, chia dòng 2 cho a(1)
22. Hệ đã cho tương đượng với:
),...,2,1(,/ ,/ )1(22
)1(2
)2(2
)1(22
)1(2
)2(2 njabbaaa jj Với
)(n
)(
)(
)(
n)(
nn)(
n)(
n
)(n
)()(
)(n
)(
)(n
)()(
b
...
b
b
b
x
...
x
x
x
.
a...aa
...............
a...aa
a...a
a...aa
1
13
22
11
3
2
1
113
12
13
133
132
22
223
11
113
112
0
0
10
1
2
11
2
5
2
7
3
1
3
5
2
3
2
1
2
1
32
32
321
xx
xx
xxx
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)- Khử x2 ở phương trình thứ i=3,4,5,…,n bằng cách:
Dòng i = dòng i – dòng 2 * ai2(1)
Nghĩa là: a(2)ij = a(1)
ij-a(2)2j *ai2 , với j=1,2,…,n
và: b(2)i=b(1)
i - b(2)2*ai2
Hệ đã cho tương đương với:
)(n
)(
)(
)(
n)(
nn)(
n
)(n
)(
)(n
)(
)(n
)()(
b
...
b
b
b
x
...
x
x
x
.
a...a
...............
a...a
a...a
a...aa
2
23
22
11
3
2
1
223
23
233
22
223
11
113
112
00
00
10
1
3
20
3
10-
3
1
3
5
2
3
2
1
2
1
3
32
321
x
xx
xxx
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Tiếp tục thực hiện như trên cho đến khi đưa được ma trận hệ số về ma trận tam giác trên. Hệ đã cho tương đương với:
)n(n
)(
)(
)(
n
)(n
)(n
)(
)(n
)()(
b
...
b
b
b
x
...
x
x
x
.
...
...............
a...
a...a
a...aa
33
22
11
3
2
1
33
22
223
11
113
112
1000
100
10
1
2 3
1
3
5
2
3
2
1
2
1
3
32
321
x
xx
xxx
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Quá trình nghịch:
2 3
1
3
5
2
3
2
1
2
1
3
32
321
x
xx
xxx
Từ phương trình thứ 3, ta có: x3 = 2Từ phương trình thứ 2, ta có: x2 =-1/3+5/3x3 = 3Từ phương trình thứ 1, ta có: x1 =3/2-1/2x2+1/2x3 = 1
Vậy nghiệm của hệ là: x1 = 1; x2 = 3; x3 = 2
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Ví dụ 3.3: Giải hệ sau bằng phương phap Gauss
6x3x3x
5xxx2
4xxx
321
321
321
Giải: ???
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) Bước 1:
o Phần tử trụ a11 # 0, chia dòng 1 cho a11.
o Khử x1 ở các phương trình 2, 3 bằng cách:
Thay dòng i bởi dong i – dòng 1 * a21 (Với i=2,3)
Bước 2: phần tử trụ a(1)22 = -1
2
3-
4
B ,
220
310
111(1))1(A
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Chia dòng 2 cho a(1)22=-1 , và khử x2 ở phương trình 3, ta được
4-
3
4
B ,
400
310
111(2))2(A
Bước 3: Chia dòng 3 cho phần tử trụ a(2)33 = -4
1
3
4
B ,
100
310
111(3))3(A
2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt)
Quá trình ngược:Từ phương trình 3, ta có: x3 = 1
Từ phương trình 2, ta có: x2 = 3 – 3 * x3 = 0
Từ phương trình 1, ta có: x1 = 4 – 1*x3 – 1* x2 = 3
1
33
4
3
32
321
x
xx
xxx
Ta có hệ đã cho tương đương với:
Vậy nghiệm của hệ là: x1=3; x2=0 và x3 = 1
Sơ đồ Gauss Trong trường hợp không sử dụng máy tính để giải, để hạn
chế sai sót, ta có thể lập bảng (sơ đồ Gauss) để ghi lại quá trình tính tóan.
Để đơn giản, ta xét hệ chỉ gồm 3 phương trình, 3 ẩn:
3333232131
2323222121
1313212111
bxaxaxa
bxaxaxa
bxaxaxa
Lập bảng để tính gồm 5 cột
i ai1 ai2 aỉ3 bi
I
1 a11 a12 a13 b1 a1
2 a21 a22 a23 b2 a2
3 a31 a32 a33 b3 a3
1 a12(1) a12
(1) b2(1) a1
(1)
II
2 0 a22(1) a23
(1) b2(1) a2
(1)
3 0 a32(1) a33
(1) b3(1) a3
(1)
0 1 a23(2) b2
(2) a2(2)
III3 0 0 a33
(2) b3(2) a 3
(2)
0 0 1 b3(3) a 3
(3)
IV
1 x3
1 x2
1 x3
Cách ghi vào sơ đồ Gauss Phần I:
- Ghi các hệ số của A vào các cột ai1, ai2, ai3 và hệ số tự do B vào cột bi.
- Cột ghi tổng các phần tử bên trái cùng dòng.
- Chia dòng 1 cho a11, kết quả ghi vào dòng cuối của phần I (ứng với i=4)
Phần II:- Hệ số của các phương trình thứ 2, 3 sau khi khử x1 được
ghi vào các dòng ứng với i=2, 3.- Chia dòng ứng với i=2 cho a22(1), ghi kết quả vào dòng
cuối của phần II (ứng với i = 4)
Cách ghi vào sơ đồ Gauss (tiếp theo) Phần III:
- Hệ số của phương trình thứ 3 sau khi khử x2 được ghi vào dòng đầu tiên (ứng với i=3)
- Chia dòng 3 cho a33(2), kết quả ghi vào dòng cuối của
phần III (ứng với i=4) Phần IV: Ghi hệ số 1 vào các ô tương ứng với vị trí của x và
tính nghiệm x3, x2, x1.
Chú ý: những phép biến đổi trên các hệ số của A, B như thế nào thì cũng biến đổi như vậy đối với cột tổng nên tổng ai1+ai2+ai3+bi=ai
Nếu có sự khác biệt lớn hơn sai số do quy tròn thì phải xem lại quá trình tính tóan.
(Xem ví dụ trong slide kế)
SƠ đồ GaussVí dụ 3.4: Lập sơ đồ Gauss cho việc giải hệ:
123
22
32
321
321
321
xxx
xxx
xxx
i ai1 ai2 aỉ3 bi
I
1 2 1 -1 3 5
2 1 -1 2 2 4
3 3 -2 1 -1 1
1 1/2 -1/2 3/2 5/2
II
2 0 -3/2 5/2 1/2 3/2
3 0 -7/2 5/2 -11/2 -13/2
0 1 -5/3 -1/3 -1
SƠ đồ Gauss (tt)
III3 0 0 -10/3 -20/3 -10
0 0 1 2 3
IV
1 2 3
1 3
1 1
6x3x3x
5xxx2
4xxx
321
321
321
Ví dụ 3.5: Lập sơ đồ Gauss giải hệ:
i Ai1 ai2 aỉ3 bi
I
1 1 1 1 4 7
2 2 1 -1 5 7
3 1 3 3 6 13
1 1 1 4 7
II
2 0 -1 -3 -3 -7
3 0 2 2 2 6
0 1 3 3 7
III3 0 0 -4 -4 -8
0 0 1 1 2
IV
1 1 2
1 0 1
1 3 4
Khối lượng phép tính của PP Gauss
6
521 )n)(n(n
2
1)n(n
6
521 )n)(n(n
6
794 23 nnnSn
Phép nhân
Phép chia
Phép cộng hoặc trừ
Tổng cộng cóPhép tính
Nhận xét: Ít hơn nhiều so với phương pháp Cramer
Giải thuật của phương pháp GaussQuá trình thuận:
For (int k=1; k<=n;k++) {
m = akk;//m là phần tử trụ
If m= =0 “Chưa xét trường hợp này, dừng”
Else { //Chia dòng k cho m=akk
bk=bk/m;
for (int j=1; j<=n; j++) akj=akj/m;
for (int i=k+1; i<=n;i++){
hệsố = aik; bi=bi-heso*bk;
for (int j = k; j<=n; j++) aij=aij-akj*heso;
}
}
}
Giải thuật của phương pháp Gauss Quá trình nghịch:
For (int i=n; i>=1; i--)
{//Tính nhiệm xi.
s = 0;
for (int k=i+1; k<=n; k++)
s = s + aik*xk;
xi = bi-s;
}
3) Phương pháp Gauss với phần tử trụ lớn nhất:
Với PP Gauss được trình bày ở trên: Phương pháp Gauss là PP giải đúng. Thực tế, vẫn xảy
ra sai số do quy tròn. Hơn nữa, các tính toán trên máy tính chỉa là gần đúng. Sai số sẽ lớn khi phần tử trụ có trị tuyệt đối nhỏ.
Không thực hiện được nếu ở bước k, phần tử akk=0
Cải tiến phương pháp Gauss ở trên bằng cách: Ở bước k, ta chọn phần tử làm trụ có trị tuyệt đối lớn nhất
3) Phương pháp Gauss với phần tử trụ lớn nhất (tt)
Nội dung của phương pháp:
Giống như phương pháp Gauss đã trình bày, tuy nhiên:
Ở bước k, trước khi biến đổi:o Ta tìm dòng r sao cho:
|ark| =max{|aik| , i=k, k+1, k+2, …, n}
o Hóan vị dòng r với dòng k
Sau đó mới thực hiện:o Chia dòng k cho akk
o Khử xk trong các phương trình còn lại (k+1, k+2,…)
Giải thuật(PP Gauss với có chọn phần tử trụ max)
Quá trình thuậnFor (k=1; k<=n; k++){
r = k;
for (i=k;i<=n; i++) if |aik|>|ark| then r = i;
if (ark== 0) {Hệ không có nghiệm duy nhất, dừng}
else {
Hóan vị dòng r với dòng k
m=akk;
Chia dòng k cho m
Khử xk ở các pt thứ i=k+1, k+2, …, n bằng cách:
Thay dòng i bởi dòng i – aik*dòng k
}
}
Quá trình nghịch:
For (int i=n; i>=1; i--) {//Tính nhiệm xi.
s = 0;for (int k=i+1; k<=n; k++) s = s+ aik*xk;xi = bi-s;
}
Giải thuật(PP Gauss với có chọn phần tử trụ
max)
4. Giải hệ phương trình tuyến tính bằng phương pháp Cholesky
Giải hệ PT tuyến tính: AX = B Nội dung của phương pháp: Giả sử biến đổi được ma trận A thành tích của 2 ma trận
vuông cấp n : A = C x D
Trong đó ma trận C và D là 2 ma trận tam giác có dạng:
nnnn ccc
Cc
c
C
...
...
0...
0...0
21
2221
11
1...00
...
...10
...1
2
112
n
n
d
dd
D
Trong đó cii0 với mọi i=1,2,…,n
Phương pháp Cholesky (tiếp theo)
Sau khi xác định được 2 ma trận C và D, tính nghiệm của hệ gồm 2 bước: Bước 1: Giải hệ CY = B
y1 = b1/c11
y2 = (b2 – c21*y1)/c22
kki
k
ikikk cycby /).(
1
1
Bước 2: Giải hệ DX = Y
xn = yn; xn-1 = yn-1 – dn-1n*xn
1,...,1-nk ,.1
i
n
kikikk xdyx
Phương pháp Cholesky (tiếp theo)
Cách tìm ma trận C và D:
Ta có:
i)(j 0d
j)(i 1d
1)j(i .
ij
ij
1
1
11
j
kkjikijij
ii
dcac
ac
0c
)(1 ).(1
/
ij
1
1
1111
jidcacii
d
cadi
kkjikijij
jj
Giải thuật CholeskyThuận: Tìm 2 ma trận C và D
Cho i = 1,2,…n;Cho j=1,2,…,n{
Nếu (j<=i) {Nếu i=j thì dij=1
ngược lại (j<i): dij=0Nếu j=1 thì cij=aij
Ngược lại:{acc=0; cho k=1,2,…,j-1: acc = acc + cik*dkj; cij =aij – acc;}
}Ngược lại (nghĩa là j>i):
{ cij=0 Nếu (i=1) d1j=a1j/c11
Ngược lại { acc=0;
Cho k=1,2,…,i-1: acc = acc + cik*dkj; dij =(aij – acc)/cii
} }
}
Giải thuật CholeskyNghịch: Tìm Y sao cho CY = B Cho i = 1,..n{
acc = 0
Cho j = 1..i-1: acc = acc + cij*yj;
yi = (bi – acc)/cii}Tìm X sao cho DX = Y Cho i = n..1{
acc = 0
Cho j = n..i+1: acc = acc + dij*xj;
xi = yi – acc}
Phương pháp Cholesky (tiếp theo)
Ví dụ 3.6: Giải hệ sau bằng phương pháp Cholesky
123
22
32
321
321
321
xxx
xxx
xxx
Giải: Phân tích A = C D
100
3/510
2/12/11
,
3/102/73
02/31
002
DC
Giải hệ CY=B, được nghiệm y1=3/2, y2= -1/3, y3= 2
Giải hệ DX=Y, được nghiệm x1=1, x2= 3, x3= 2
5) Tính định thức ma trận bằng phương pháp Gauss Cho ma trận:
Cần tính det(A)=? Có thể dùng phương pháp Gauss như đã trình bày để tính (lưu ý: ở
đây không có ma trận hệ số B)
nn n21n
2n2221
1n1211
a ...a a
...
a ... a a
a ... a a
A
Tính định thức ma trận bằng phương pháp Gauss (tiếp theo)
Nội dung của phương pháp: Biến đổi ma trận A về ma trận tam giác có dạng:
1.................... 0
....
a ... a 1 0
a ...a a 1(n)2n
(n)23
(n)1n
(n)13
(n)12
)(nA
Gọi a(k)kk là phần tử trụ được chọn trong bước thứ k. Ta có:
n
k
kkk
p aA1
)(.)1()det(
Trong đó: p là số lần hóan vị các dòng để tìm phần tử trụ
Giải thuật tính định thức ma trận bằng phương pháp Gauss
detA = 1;Cho k=1,2,3,…, n Với mỗi dòng k
Chọn t sao cho Nếu atk=0 thì det(A)=0; dừng thuật tóan Nếu atk ≠ 0 thì làm các việc sau đây: Nếu t≠k thì
Đổi chỗ dòng k với dòng t và detA = detA*(-1) ; Chọn trụ là mk = akk
Chia dòng k cho mk;detA = detA*mk
Khử aik ở các dòng i (i=k+1, k+2,…) bằng cách: Tính: hệ số = aik
Dòng i = dòng I – dòng k * hệ số
}..1/{max njaa jktk
6. Tìm ma trận nghịch đảo bằng phương pháp gauss
Bài toán: Cho ma trận A:
Tìm ma trận nghịch đảo A-1 của A. Nghĩa là :
A.A-1 =I, Với I là ma trận đơn vị cấp n:
Lưu ý: Mọi ma trận không suy biến đều tồn tại ma trận nghịch đảo.
nn n21n
2n2221
1n1211
a ...a a
...
a ... a a
a ... a a
A
1 ... 0 0 0
...
0 ... 0 1 0
0 ... 0 0 1
I
Tìm ma trận nghịch đảo (tt) Kí hiệu A-1= (xij):
nn n21
2n2221
1n1211
1
...
...
...
...
xxx
xxx
xxx
A
n
Ta có:
nn n21
2n2221
1n1211
21
22221
11211
1
...
...
...
...
...
...
...
...
xxx
xxx
xxx
aaa
aaa
aaa
AA
nnnnn
n
n
n
kknnk
n
kknk
n
kknk
n
kknkkk
n
kkk
n
kknk
n
kkk
n
kkk
xaxaxa
xaxaxa
xaxaxa
112
11
1222
112
11
121
111
...
....
...
...
1...00
....
0...10
0...01
I
xij Cần phải tìm?
Tìm ma trận nghịch đảo (tt)
0...
...
1...
...
0...
0...
2211
2211
2222121
1212111
njnnjnjn
njjnjjjj
njnjj
njnjj
xaxaxa
xaxaxa
xaxaxa
xaxaxa
nj
j
j
nj
j
j
nnnn
n
n
e
e
e
x
x
x
aaa
aaa
aaa
......
...
...
...
...
2
1
2
1
21
22221
11211
Xét cột thứ j trong 2 ma trận A.A-1 và I. Ta có hệ:
Với
)( 1
)( 0
ji
jieij
Hay
Tìm ma trận nghịch đảo (tt) Nội dung của phương pháp là:
Giải hệ có dạng:
Để tìm các phần tử ở cột thứ j của ma trận A-1
nj
j
j
nj
j
j
nnnn
n
n
e
e
e
x
x
x
aaa
aaa
aaa
......
...
...
...
...
2
1
2
1
21
22221
11211
Với
)( 1
)( 0
ji
jieij
Tìm ma trận nghịch đảo (tt) Cụ thể:
Giải hệ:
0 ...
...
0...
0...
1 ...
1313212111
13313321321131
12312321221121
11311321121111
nnnnnn
nn
nn
nn
xaxaxaxa
xaxaxaxa
xaxaxaxa
xaxaxaxa
Để tìm được các phần tử ở cột 1 của ma trận A-1
Tìm ma trận nghịch đảo (tt) Giải hệ:
0 ...
...
0...
1...
0 ...
2323222121
23323322321231
22322322221221
21321322121211
nnnnnn
nn
nn
nn
xaxaxaxa
xaxaxaxa
xaxaxaxa
xaxaxaxa
Để tìm các phần trử trên cột 2 của ma trận A-1 Tổng quát:
Giải hệ AXj = Ij để tìm các phần tử trên cột j của A-1. Với Xj là cột thứ j của A-1, Ij là cột thứ j của I
Có thể giải hệ bằng phương pháp Gauss. Ở đây có chung ma trận hệ số A
Giải thuật tìm ma trận nghịch đảo bằng pp Gauss Quá trình thuận:
k=1..n{ Tìm r sao cho:
Nếu ark=0 thì: “Thông báo A suy biến, không tìm được ma trận nghịch đảo”
Ngược lại:{ Hoán vị dòng k cua A r của A; hóan vị dòng k của I với dòng r của I.
heso=akk
Chia dòng k của A và I cho heso i=k+1,..,n
{ heso=aik
Dòng i của A = Dòng i của A – heso*dong k của A. Dòng i của I = Dòng i của I – heso*dong k của I.
} } }
}../{max nkjaa jkrk
Giải thuật tìm ma trận nghịch đảo bằng pp Gauss Quá trình nghịch:
j=1..n
{ i=n..1
{ s=0
k=n..i+1: s=s+aik*xkj;
xij=Iij – s;
}
}
7. Chuẩn của ma trận và chuẩn của vector4.1 Định nghĩa: Chuẩn của ma trận A=(aij) là một số thực ||A|| thỏa các điều
kiện:a. ||A||≥0 (với ||A||=0 A = 0)b. ||.A||=||.||A||, với là một số thực c. ||A+B||≤||A||+||B||d. ||A.B|| ≤||A||.||B||Thực tế thường dùng 3 chuẩn sau:
||max .
)||( .
||max .
,
2
12
2
1
j
iji
jiij
iij
j
aAc
aAb
aAa (Chuẩn cột)
(Chuẩn Ơclit )
(Chuẩn dòng)
Chuẩn của ma trận và chuẩn của vector
Ví dụ 4.1: Cho
473
201
112
A
Tính? AAA ,,
21
Chuẩn của ma trận và chuẩn của vector Chuẩn Vector: Vector là ma trận chỉ có 1 cột nên chuẩn của Vector là:
n
iin xxxxX
1211
...
2
1
1
222
2
2
12)(...
n
iin xxxxX
ii
xX max
Ví dụ 4.2: Cho vector
3
4
2
1
XTính các chuẩn dòng, cột vàƠclitCủa X
8. Sự không ổn định của hệ phương trình đại số tuyến tính. Giả sử nghiệm của hệ AX=B tìm được là X1. Nếu thay đổi rất ít giá trị của các hệ số hoặc của vế phải, mà
nghiệm tìm được của hệ sai lệnh lớn so với X1. Ta nói hệ AX=B không ổn định, ngược lại hệ phương trình gọi là ổn định
Cách đơn giản để kiểm tra tính ổn định của hệ thống phương trình là: Giải hệ AX=B đồng thời cũng giải hệ AX=B1 với B1 khác rất ít so bới B. Nếu hai nghiệm tìm được xấp xỉ nhau, ta nói hệ ổn định, ngược lại ta nói hệ không ổn định
Cách khác: xét hệ số Cond(A)=||A||.||A-1||Với ||A|| là một chuẩn nào đó.
Cond(A) càng lớn, hệ càng không ổn địnhCon(A) càng gần với 1, hệ càng ổn định.
Sự không ổn định của hệ phương trình đại số tuyến tính (tt)Ví dụ:
3110957
3391068
235657
3278710
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
9. Giải hệ phuơng trình tuyến tính bằng phương pháp lặp đơn.
- Bắt đầu với X(0) nào đó, nếu dãy: X(n+1) = + X(n) (*)
hội tụ về X(*) khi n thì X(*) là nghiệm của hệ
Tìm nghiệm của hệ: AX=B
Nội dung của phương pháp-Biến đổi hệ về dạng tương đượng: X = + X
Trong đó:
nnn2n1
2n2221
1n1211
2
1
...
...
...
...
,...
n
Sự hội tụ bề nghiệm và sai số Định lý: Nếu ||||p<1 thì dãy lặp (a) hội tụ về nghiệm (||||
p: Là một chuẩn nào đó của )
Sai số: Gọi X* là nghiệm đúng của hệ. Ta có:
1*
1
kk
p
p
p
k XXXX
pp
k
p
p
k XXXX 01*
1
)(
Trong đó || ||p là một chuẩn nào đó.
Ví dụ về phương pháp lặp đơn Tìm nghiệm gần đúng của hệ sau bằng PP lặp đơn:
20408,004,0
915,0309,0
808,024,04
321
321
321
xxx
xxx
xxx
213
312
321
02,001,05
05,003,03
02,006,02
xxx
xxx
xxx
XX
Ví dụ về phương pháp lặp đơnVới
002,001,0
05,0003,0
02,006,00
;
5
3
2
Ta thấy ||||1 = 0,08<1. Vậy dãy
)()1( nn XX
Hội tụ về nghiệm của hệ đã cho
Bài tập: Với hệ đã cho trong ví dụ trên.
a) Hãy tính nghiệm gần đúng của hệ sau 3 lần lặp (Bắt đầu với X(0)=(0,0,0)
b) Hãy tìm nghiệm gần đúng của hệ với sai số không quá 0,05
Bài tập chương 3
543
2925
1262
321
321
321
xxx
xxx
xxx
3110957
3391068
235657
3278710
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxxa) b)
1. Giải các hệ phương trình sau bằng phương pháp Gauss với phần tử trụ max và phương pháp Cholesky
23
727
334
321
321
321
xxx
xxx
xxx
c)