Chuong03

9,454 views

Published on

nội suy lagrange,newton,spline,tổng hợp

Published in: Education
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
9,454
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
256
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

Chuong03

  1. 1. Bài giảng PHƯƠNG PHÁP SỐ Chương 3: PHƯƠNG PHÁP SỐ TRONG ĐẠI SỐ TUYẾN TÍNH
  2. 2. 1. Đặt vấn đề <ul><li>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,… </li></ul><ul><li>Giả sử cần giải hệ phương trình tuyến tính: </li></ul><ul><li>AX = B </li></ul>
  3. 3. Đặt vấn đề ( tiếp theo ) <ul><li>Nếu det(A)  0 thì hệ có nghiệm duy nhất </li></ul><ul><li>Phương pháp giải thuộc 2 hai nhóm: </li></ul><ul><ul><li>Trực tiếp (giải đúng): Cramer, Gauss,… </li></ul></ul><ul><ul><li>Lặp (gần đúng) </li></ul></ul><ul><li>Phương pháp Cramer </li></ul>Trong đó: A: Ma trận các hệ số A i : Ma trận có được từ A bằng cách thay cột i bởi B
  4. 4. Đặt vấn đề ( tiếp theo ) Thay cột thứ i trong A bởi B để có A i
  5. 5. Phương pháp Cramer <ul><li>Ví dụ 3.1: Giải hệ sau bằng phương pháp Cramer: </li></ul><ul><li>Giải: Ta có: </li></ul>
  6. 6. Phương pháp Cramer
  7. 7. Phương pháp Cramer Ví dụ 3.2 : Tìm nghiệm của hệ phương trình sau bằng phương pháp Cramer:
  8. 8. Phương pháp Cramer Vậy nghiệm của hệ là: x 1 =3; x 2 = 0; x 3 = 1
  9. 9. Phương pháp Cramer <ul><li> Nhận xét: </li></ul><ul><li>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. </li></ul><ul><li>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ế. </li></ul>
  10. 10. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (phương pháp khử) <ul><li>Nội dung của phương pháp : Gồm 2 quá trình: </li></ul><ul><ul><li>Quá trình thuận : </li></ul></ul><ul><ul><ul><li>Biến đổi ma trận A về ma trận tam giác trên: </li></ul></ul></ul>Trong đó: 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.
  11. 11. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Hệ phương trình đã cho tương đương với: </li></ul>
  12. 12. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Quá trình nghịch : Lần lượt tính nghiệm x n , x n-1 , … x 1 theo cách: </li></ul>
  13. 13. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Các bước thực hiện : Để minh họa, ta sử dụng phương pháp Gauss để giải hệ sau: </li></ul>
  14. 14. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Bước 1 : - Giả sử a 11 ≠ 0, chia dòng 1 cho a 11 . (a 11 là phần tử trụ). Hệ đã cho tương đượng với: </li></ul>Với <ul><li>Quá trình thuận </li></ul>
  15. 15. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Khử x 1 trong phương trình thứ i=2,3,4,…, n bằng cách: </li></ul><ul><li>Thay dòng i bởi dòng i – dòng 1 * a i1 . Nghĩa là: </li></ul><ul><li>a (1) ij = a ij - a (1) 1j *a i1 với j=1,n </li></ul><ul><li>và: b (1) i =b i - b (1) 1* a i1 </li></ul><ul><ul><li>Hệ đã cho tương đương với: </li></ul></ul>
  16. 16. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Bước 2 : Giả sử a (1) 22  0, c hia dòng 2 cho a (1) 22 . Hệ đã cho tương đượng với: </li></ul>Với
  17. 17. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Khử x 2 ở phương trình thứ i=3,4,5,…,n bằng cách: </li></ul><ul><li>D òng i = dòng i – dòng 2 * a i2 (1) </li></ul><ul><li>Nghĩa là : a (2) ij = a (1) ij -a (2) 2j *a i2 , với j=1,2,…,n </li></ul><ul><li>và : b (2) i =b (1) i - b (2) 2 *a i2 </li></ul><ul><ul><li>Hệ đã cho tương đương với: </li></ul></ul>
  18. 18. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>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: </li></ul>
  19. 19. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Quá trình nghịch: </li></ul>Từ phương trình thứ 3, ta có: x 3 = 2 Từ phương trình thứ 2, ta có: x 2 =-1/3+5/3x 3 = 3 Từ phương trình thứ 1, ta có: x 1 =3/2-1/2x 2 +1/2x 3 = 1 Vậy nghiệm của hệ là: x 1 = 1; x 2 = 3; x 3 = 2
  20. 20. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Ví dụ 3.3 : Giải hệ sau bằng phương phap Gauss </li></ul>Giải: ???
  21. 21. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Bước 1: </li></ul><ul><ul><li>Phần tử trụ a 11 # 0, chia dòng 1 cho a 11 . </li></ul></ul><ul><ul><li>Khử x 1 ở các phương trình 2, 3 bằng cách: </li></ul></ul><ul><ul><ul><li>Thay dòng i bởi dong i – dòng 1 * a 21 (Với i=2,3) </li></ul></ul></ul><ul><li>Bước 2 : phần tử trụ a (1) 22 = -1 </li></ul>
  22. 22. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Chia dòng 2 cho a (1) 22 =-1 , và khử x 2 ở phương trình 3, ta được </li></ul><ul><li>Bước 3 : Chia dòng 3 cho phần tử trụ a (2) 33 = -4 </li></ul>
  23. 23. 2) Giải hệ phương trình tuyến tính bằng phương pháp Gauss (tt) <ul><li>Quá trình ngược: </li></ul><ul><ul><li>Từ phương trình 3, ta có: x 3 = 1 </li></ul></ul><ul><ul><li>Từ phương trình 2, ta có: x 2 = 3 – 3 * x3 = 0 </li></ul></ul><ul><ul><li>Từ phương trình 1, ta có: x1 = 4 – 1*x 3 – 1* x 2 = 3 </li></ul></ul>Ta có hệ đã cho tương đương với: Vậy nghiệm của hệ là: x1=3; x2=0 và x3 = 1
  24. 24. Sơ đồ Gauss <ul><li>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. </li></ul><ul><li>Để đơn giản, ta xét hệ chỉ gồm 3 phương trình, 3 ẩn: </li></ul><ul><li>Lập bảng để tính gồm 5 cột </li></ul>
  25. 25. x 3 1 x 2 1 x 3 1 IV a 3 (3) b 3 (3) 1 0 0 a 3 (2) b 3 (2) a 33 (2) 0 0 3 III a 2 (2) b 2 (2) a 23 (2) 1 0 a 3 (1) b 3 (1) a 33 (1) a 32 (1) 0 3 a 2 (1) b 2 (1) a 23 (1) a 22 (1) 0 2 II b 2 (1) b 3 b 2 b 1 b i a 1 (1) a 12 (1) a 12 (1) 1 a 3 a 33 a 32 a 31 3 a 2 a 23 a 22 a 21 2 a 1 a 13 a 12 a 11 1 I  a ỉ3 a i2 a i1 i
  26. 26. Cách ghi vào sơ đồ Gauss <ul><li>Phần I: </li></ul><ul><ul><li>- Ghi các hệ số của A vào các cột a i1 , a i2 , a i3 và hệ số tự do B vào cột b i . </li></ul></ul><ul><ul><li>- Cột  ghi tổng các phần tử bên trái cùng dòng. </li></ul></ul><ul><ul><li>- Chia dòng 1 cho a 11 , kết quả ghi vào dòng cuối của phần I (ứng với i=4) </li></ul></ul><ul><li>Phần II: </li></ul><ul><ul><li>Hệ số của các phương trình thứ 2, 3 sau khi khử x 1 được ghi vào các dòng ứng với i=2, 3. </li></ul></ul><ul><ul><li>Chia dòng ứng với i=2 cho a 22 (1), ghi kết quả vào dòng cuối của phần II (ứng với i = 4) </li></ul></ul>
  27. 27. Cách ghi vào sơ đồ Gauss (tiếp theo) <ul><li>Phần III: </li></ul><ul><ul><li>Hệ số của phương trình thứ 3 sau khi khử x 2 được ghi vào dòng đầu tiên (ứng với i=3) </li></ul></ul><ul><ul><li>Chia dòng 3 cho a 33 (2) , kết quả ghi vào dòng cuối của phần III (ứng với i=4) </li></ul></ul><ul><li>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 x 3 , x 2 , x 1 . </li></ul>  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 a i1 +a i2 +a i3 +b i =a i 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ế)
  28. 28. SƠ đồ Gauss <ul><li>Ví dụ 3.4: Lập sơ đồ Gauss cho việc giải hệ: </li></ul>-1 -1/3 -5/3 1 0 -13/2 -11/2 5/2 -7/2 0 3 3/2 1/2 5/2 -3/2 0 2 II 3/2 -1 2 3 b i 5/2 -1/2 1/2 1 1 1 -2 3 3 4 2 -1 1 2 5 -1 1 2 1 I  a ỉ3 a i2 a i1 i
  29. 29. SƠ đồ Gauss (tt) Ví dụ 3.5: Lập sơ đồ Gauss giải hệ: 1 1 3 1 3 2 1 IV 3 2 1 0 0 -10 -20/3 -10/3 0 0 3 III
  30. 30. 4 3 1 1 0 1 2 1 1 IV 2 1 1 0 0 -8 -4 -4 0 0 3 III 7 3 3 1 0 6 2 2 2 0 3 -7 -3 -3 -1 0 2 II 4 6 5 4 b i 7 1 1 1 13 3 3 1 3 7 -1 1 2 2 7 1 1 1 1 I  a ỉ3 a i2 A i1 i
  31. 31. Khối lượng phép tính của PP Gauss 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
  32. 32. Giải thuật của phương pháp Gauss <ul><li>Quá trình thuận : </li></ul><ul><ul><li>For (int k=1; k<=n;k++) { </li></ul></ul><ul><ul><ul><li> m = a kk ;//m là phần tử trụ </li></ul></ul></ul><ul><ul><ul><li> If m = =0 “Chưa xét trường hợp này, dừng” </li></ul></ul></ul><ul><ul><ul><ul><li>Else { //Chia dòng k cho m=a kk </li></ul></ul></ul></ul><ul><ul><ul><ul><li>b k =b k /m; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>for (int j=1; j<=n; j++) a kj =a kj /m; </li></ul></ul></ul></ul><ul><ul><ul><ul><li> for (int i=k+1; i<=n;i++){ </li></ul></ul></ul></ul><ul><ul><ul><ul><li> hệsố = a ik ; b i =b i -heso*b k ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li> for (int j = k; j<=n; j++) a ij =a ij -a kj *heso; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>} </li></ul></ul></ul></ul><ul><ul><ul><ul><li>} </li></ul></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul>
  33. 33. Giải thuật của p hương pháp Gauss <ul><li>Quá trình nghịch : </li></ul><ul><ul><li>For (int i=n; i>=1; i--) </li></ul></ul><ul><ul><li>{//Tính nhiệm x i . </li></ul></ul><ul><ul><li> s = 0; </li></ul></ul><ul><ul><li> for (int k=i+1; k<=n; k++) </li></ul></ul><ul><ul><li> s = s + a ik *x k ; </li></ul></ul><ul><ul><li> x i = b i -s; </li></ul></ul><ul><ul><li>} </li></ul></ul>
  34. 34. 3) Phương pháp Gauss với phần tử trụ lớn nhất: <ul><li>Với PP Gauss được trình bày ở trên : </li></ul><ul><ul><li>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ỏ. </li></ul></ul><ul><ul><li>Không thực hiện được nếu ở bước k, phần tử a kk =0 </li></ul></ul><ul><ul><li>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 </li></ul></ul>
  35. 35. 3) Phương pháp Gauss với phần tử trụ lớn nhất (tt) <ul><li>Nội dung của phương pháp: </li></ul><ul><ul><li>Giống như phương pháp Gauss đã trình bày, tuy nhiên: </li></ul></ul><ul><ul><li>Ở bước k, trước khi biến đổi: </li></ul></ul><ul><ul><li>Ta tìm dòng r sao cho: </li></ul></ul><ul><ul><li>|a rk | =max{|a ik | , i=k, k+1, k+2, …, n} </li></ul></ul><ul><ul><li>Hóan vị dòng r với dòng k </li></ul></ul><ul><ul><li>Sau đó mới thực hiện: </li></ul></ul><ul><ul><li>Chia dòng k cho a kk </li></ul></ul><ul><ul><li>Khử x k trong các phương trình còn lại (k+1, k+2,…) </li></ul></ul>
  36. 36. Giải thuật (PP Gauss với có chọn phần tử trụ max) <ul><li>Quá trình thuận </li></ul><ul><li>For (k=1; k<=n; k++){ </li></ul><ul><li>r = k; </li></ul><ul><li>for (i=k;i<=n; i++) if |a ik |>|a rk | then r = i; </li></ul><ul><li>if (a rk == 0) {Hệ không có nghiệm duy nhất, dừng} </li></ul><ul><li>else { </li></ul><ul><li> Hóan vị dòng r với dòng k </li></ul><ul><li> m=a kk ; </li></ul><ul><li> Chia dòng k cho m </li></ul><ul><li> Khử x k ở các pt thứ i=k+1, k+2, …, n bằng cách: </li></ul><ul><li> Thay dòng i bởi dòng i – a ik *dòng k </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  37. 37. <ul><li>Quá trình nghịch : </li></ul>Giải thuật (PP Gauss với có chọn phần tử trụ max) <ul><ul><li>For (int i=n; i>=1; i--) </li></ul></ul><ul><ul><li>{//Tính nhiệm xi. </li></ul></ul><ul><ul><li>s = 0; </li></ul></ul><ul><ul><li>for (int k=i+1; k<=n; k++) s = s+ a ik *x k ; </li></ul></ul><ul><ul><li>x i = b i -s; </li></ul></ul><ul><li>} </li></ul>
  38. 38. 4. Giải hệ phương trình tuyến tính bằng phương pháp Cholesky <ul><li>Giải hệ PT tuyến tính: AX = B </li></ul><ul><li>Nội dung của phương pháp : </li></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>Trong đó ma trận C và D là 2 ma trận tam giác có dạng: </li></ul></ul>Trong đó c ii  0 với mọi i=1,2,…,n
  39. 39. Phương pháp Cholesky (tiếp theo) <ul><li>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: </li></ul><ul><ul><li>Bước 1 : Giải hệ CY = B </li></ul></ul><ul><ul><ul><ul><li>y 1 = b 1 /c 11 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>y 2 = (b 2 – c 21 *y 1 )/c 22 </li></ul></ul></ul></ul><ul><ul><li>Bước 2 : Giải hệ DX = Y </li></ul></ul><ul><ul><ul><ul><li>x n = y n ; x n-1 = y n-1 – d n-1n *x n </li></ul></ul></ul></ul>
  40. 40. Phương pháp Cholesky (tiếp theo) <ul><li>Cách tìm ma trận C và D: </li></ul><ul><li>Ta có: </li></ul>
  41. 41. Giải thuật Cholesky <ul><li>Thuận: Tìm 2 ma trận C và D </li></ul><ul><li>Cho i = 1,2,…n; </li></ul><ul><li>Cho j=1,2,…,n{ </li></ul><ul><li>Nếu (j<=i) { </li></ul><ul><ul><ul><li>Nếu i=j thì d ij =1 </li></ul></ul></ul><ul><ul><ul><li>ngược lại (j<i): d ij =0 </li></ul></ul></ul><ul><ul><ul><li>Nếu j=1 thì c ij =a ij </li></ul></ul></ul><ul><ul><ul><li>Ngược lại:{acc=0; </li></ul></ul></ul><ul><ul><ul><ul><li> cho k=1,2,…,j-1: acc = acc + c ik *d kj ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li> c ij =a ij – acc;} </li></ul></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul><ul><ul><ul><li>Ngược lại (nghĩa là j>i): </li></ul></ul></ul><ul><ul><ul><li> { c ij =0 </li></ul></ul></ul><ul><ul><ul><li> Nếu (i=1) d 1j =a 1j /c 11 </li></ul></ul></ul><ul><ul><ul><li> Ngược lại { </li></ul></ul></ul><ul><ul><ul><li> acc=0; </li></ul></ul></ul><ul><ul><ul><ul><li> Cho k=1,2,…,i-1: acc = acc + c ik *d kj ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li> d ij =(a ij – acc)/c ii </li></ul></ul></ul></ul><ul><ul><ul><ul><li> } </li></ul></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul><ul><ul><li>} </li></ul></ul>
  42. 42. Giải thuật Cholesky <ul><li>Nghịch: </li></ul><ul><li>Tìm Y sao cho CY = B </li></ul><ul><ul><li>Cho i = 1,..n{ </li></ul></ul><ul><ul><li>acc = 0 </li></ul></ul><ul><ul><li>Cho j = 1..i-1: acc = acc + c ij *y j ; </li></ul></ul><ul><ul><li>y i = (b i – acc)/c ii } </li></ul></ul><ul><li>Tìm X sao cho DX = Y </li></ul><ul><ul><li>Cho i = n..1{ </li></ul></ul><ul><ul><li>acc = 0 </li></ul></ul><ul><ul><li>Cho j = n..i+1: acc = acc + d ij *x j ; </li></ul></ul><ul><ul><li>x i = y i – acc} </li></ul></ul>
  43. 43. Phương pháp Cholesky (tiếp theo) <ul><li>Ví dụ 3.6 : Giải hệ sau bằng phương pháp Cholesky </li></ul>Giải: Phân tích A = C  D Giải hệ CY=B, được nghiệm y 1 =3/2, y 2 = -1/3, y 3 = 2 Giải hệ DX=Y, được nghiệm x 1 =1, x 2 = 3, x 3 = 2
  44. 44. 5) Tính định thức ma trận bằng phương pháp Gauss <ul><li>Cho ma trận: </li></ul><ul><li>Cần tính det(A)=? </li></ul><ul><li>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) </li></ul>
  45. 45. Tính định thức ma trận bằng phương pháp Gauss (tiếp theo) <ul><li>Nội dung của phương pháp: </li></ul><ul><ul><li>Biến đổi ma trận A về ma trận tam giác có dạng: </li></ul></ul><ul><ul><li>Gọi a (k) kk là phần tử trụ được chọn trong bước thứ k. Ta có: </li></ul></ul><ul><ul><li>Trong đó: p là số lần hóan vị các dòng để tìm phần tử trụ </li></ul></ul>
  46. 46. Giải thuật tính định thức ma trận bằng phương pháp Gauss <ul><li>detA = 1; </li></ul><ul><li>Cho k=1,2,3,…, n </li></ul><ul><ul><li>Với mỗi dòng k </li></ul></ul><ul><ul><ul><li>Chọn t sao cho </li></ul></ul></ul><ul><ul><ul><li>Nếu a tk =0 thì det(A)=0; dừng thuật tóan </li></ul></ul></ul><ul><ul><ul><li>Nếu a tk ≠ 0 thì làm các việc sau đây: </li></ul></ul></ul><ul><ul><ul><ul><li>Nếu t≠k thì </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Đổi chỗ dòng k với dòng t và detA = detA*(-1) ; </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Chọn trụ là m k = a kk </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Chia dòng k cho m k ;detA = detA*m k </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Khử a ik ở các dòng i (i=k+1, k+2,…) bằng cách: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Tính: hệ số = a ik </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Dòng i = dòng I – dòng k * hệ số </li></ul></ul></ul></ul></ul>
  47. 47. 6. Tìm ma trận nghịch đảo bằng phương pháp gauss <ul><li>Bài toán: </li></ul><ul><ul><li>Cho ma trận A: </li></ul></ul><ul><ul><li>Tìm ma trận nghịch đảo A -1 của A. Nghĩa là : </li></ul></ul><ul><ul><li>A.A -1 =I, Với I là ma trận đơn vị cấp n: </li></ul></ul><ul><ul><li>Lưu ý : Mọi ma trận không suy biến đều tồn tại ma trận nghịch đảo. </li></ul></ul>
  48. 48. Tìm ma trận nghịch đảo (tt) <ul><li>Kí hiệu A -1 = (x ij ): </li></ul><ul><li>Ta có: </li></ul>x ij Cần phải tìm?
  49. 49. Tìm ma trận nghịch đảo (tt) Xét cột thứ j trong 2 ma trận A.A -1 và I. Ta có hệ: Với Hay
  50. 50. Tìm ma trận nghịch đảo (tt) <ul><li>Nội dung của phương pháp là: </li></ul><ul><ul><li>Giải hệ có dạng: </li></ul></ul><ul><ul><li>Để tìm các phần tử ở cột thứ j của ma trận A -1 </li></ul></ul>Với
  51. 51. Tìm ma trận nghịch đảo (tt) <ul><li>Cụ thể: </li></ul><ul><ul><li>Giải hệ: </li></ul></ul><ul><ul><li>Để tìm được các phần tử ở cột 1 của ma trận A -1 </li></ul></ul>
  52. 52. Tìm ma trận nghịch đảo (tt) <ul><li>Giải hệ : </li></ul><ul><ul><li>Để tìm các phần trử trên cột 2 của ma trận A -1 </li></ul></ul><ul><li>Tổng quát : </li></ul><ul><ul><li>Giải hệ AX j = I j để tìm các phần tử trên cột j của A -1 . Với X j là cột thứ j của A -1 , I j là cột thứ j của I </li></ul></ul><ul><ul><li>Có thể giải hệ bằng phương pháp Gauss. Ở đây có chung ma trận hệ số A </li></ul></ul>
  53. 53. Giải thuật tìm ma trận nghịch đảo bằng pp Gauss <ul><li>Quá trình thuận : </li></ul><ul><ul><li>k=1..n </li></ul></ul><ul><ul><li>{ Tìm r sao cho: </li></ul></ul><ul><ul><li>Nếu a rk =0 thì: “ Thông báo A suy biến, không tìm được ma trận nghịch đảo” </li></ul></ul><ul><ul><li>Ngược lại: </li></ul></ul><ul><ul><li>{ 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. </li></ul></ul><ul><ul><li>heso=a kk </li></ul></ul><ul><ul><li>Chia dòng k của A và I cho heso </li></ul></ul><ul><ul><li>i=k+1,..,n </li></ul></ul><ul><ul><li>{ heso=a ik </li></ul></ul><ul><ul><li>Dòng i của A = Dòng i của A – heso*dong k của A. </li></ul></ul><ul><ul><li> Dòng i của I = Dòng i của I – heso*dong k của I. </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>} </li></ul></ul>
  54. 54. Giải thuật tìm ma trận nghịch đảo bằng pp Gauss <ul><li>Quá trình nghịch: </li></ul><ul><li>j=1..n </li></ul><ul><li>{ i=n..1 </li></ul><ul><li>{ s=0 </li></ul><ul><li>k=n..i+1: s=s+a ik *x kj ; </li></ul><ul><li>x ij =I ij – s; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  55. 55. 7. Chuẩn của ma trận và chuẩn của vector <ul><li>4.1 Định nghĩa : Chuẩn của ma trận A=(a ij ) là một số thực ||A|| thỏa các điều kiện: </li></ul><ul><li>||A|| ≥0 (với ||A||=0  A = 0) </li></ul><ul><li>||  .A||=|  |.||A||, với  là một số thực </li></ul><ul><li>||A+B||≤||A||+||B|| </li></ul><ul><li>||A.B|| ≤||A||.||B|| </li></ul><ul><li>Thực tế thường dùng 3 chuẩn sau: </li></ul>(Chuẩn cột) (Chuẩn Ơclit ) (Chuẩn dòng)
  56. 56. Chuẩn của ma trận và chuẩn của vector <ul><li>Ví dụ 4.1: Cho </li></ul>Tính?
  57. 57. Chuẩn của ma trận và chuẩn của vector <ul><li>Chuẩn Vector: Vector là ma trận chỉ có 1 cột nên chuẩn của Vector là: </li></ul>Ví dụ 4.2: Cho vector Tính các chuẩn dòng, cột vàƠclit Của X
  58. 58. 8. Sự không ổn định của hệ phương trình đại số tuyến tính. <ul><li>Giả sử nghiệm của hệ AX=B tìm được là X 1 . </li></ul><ul><li>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 X 1 . Ta nói hệ AX=B không ổn định, ngược lại hệ phương trình gọi là ổn định </li></ul><ul><li>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=B 1 với B 1 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 </li></ul><ul><li>Cách khác: xét hệ số Cond(A)=||A||.||A -1 || </li></ul><ul><li>Với ||A|| là một chuẩn nào đó. </li></ul><ul><li>Cond(A) càng lớn, hệ càng không ổn định </li></ul><ul><li>Con(A) càng gần với 1, hệ càng ổn định. </li></ul>
  59. 59. Sự không ổn định của hệ phương trình đại số tuyến tính (tt) <ul><li>Ví dụ: </li></ul>
  60. 60. 9. Giải hệ phuơng trình tuyến tính bằng phương pháp lặp đơn. <ul><li>- Bắt đầu với X (0) nào đó, nếu dãy: X (n+1) =  +  X (n) (*) </li></ul><ul><li> hội tụ về X (*) khi n   thì X (*) là nghiệm của hệ </li></ul><ul><li>Tìm nghiệm của hệ: AX=B </li></ul><ul><li>Nội dung của phương pháp </li></ul><ul><li>Biến đổi hệ về dạng tương đượng: X =  +  X </li></ul><ul><li>Trong đó: </li></ul>
  61. 61. Sự hội tụ bề nghiệm và sai số <ul><li>Đị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  ) </li></ul><ul><li>Sai số : Gọi X* là nghiệm đúng của hệ. Ta có: </li></ul>Trong đó || ||p là một chuẩn nào đó.
  62. 62. Ví dụ về phương pháp lặp đơn <ul><li>Tìm nghiệm gần đúng của hệ sau bằng PP lặp đơn: </li></ul>
  63. 63. Ví dụ về phương pháp lặp đơn <ul><li>Với </li></ul>Ta thấy ||  || 1 = 0,08<1. Vậy dãy Hội tụ về nghiệm của hệ đã cho <ul><li>Bài tập: Với hệ đã cho trong ví dụ trên. </li></ul><ul><li>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) </li></ul><ul><li>Hãy tìm nghiệm gần đúng của hệ với sai số không quá 0,05 </li></ul>
  64. 64. Bài tập chương 3 a) 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 c)
  65. 65. Bài tập chương 3 <ul><li>2. Tính định thức của các ma trận sau bằng phương pháp Gauss </li></ul>a) b) 3. Tìm ma trận nghịch đảo của các ma trận cho ở câu 2 bằng phương pháp Gauss

×