Your SlideShare is downloading. ×
Tính toán khoa học - Chương 0: Introduction
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Tính toán khoa học - Chương 0: Introduction

510
views

Published on


1 Comment
0 Likes
Statistics
Notes
  • Sach hay
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
510
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tính toán khoa học Scientific Computing
  • 2. GiẢNG VIÊN: TS. VŨ VĂN THIỆU Bộ m«n Khoa häc M¸y tÝnh Viện Công nghệ thông tin và truyền thông §¹i häc B¸ch khoa Hµ néi Office: P.602, B1 Email: thieuvv@soict.hut.edu.vn
  • 3. Giới thiệu môn học • Đối tượng: Sinh viên đại học ngành công nghệ thông tin • Khối lượng: – 60 tiết (45 tiết lý thuyết + 15 tiết bài tập và đồ án môn học) – 90 tiết tự học • Nhiệm vụ của sinh viên: – Dự lớp: đầy đủ theo quy chế – Bài tập: hoàn thành các bài tập của học phần • Đánh giá kết quả:TN/BT/KT(0,3)- T(0,7) – Điểm quá trình: trọng số 0.3 • Bài tập làm đầy đủ (chấm điểm các bài tập) • Hoàn thành bài tập lớn (các bài tập) • Kiểm tra giữa kỳ – Thi cuối kỳ (trắc nghiệm và tự luận): trọng số 0.7
  • 4. Các ví dụ về tính toán khoa học
  • 5. VD1: Phương trình nhiệt
  • 6. Kết quả VD1
  • 7. VD2: Mô hình dự báo mực nước sông, suối
  • 8. Kết quả VD2
  • 9. VD3: Mô hình phát triển của vi khuẩn c 2  D c t ( k 1) i, j c  (k ) ( k 1) (k ) ( k 1) (k )  ci 1, j  ci 1, j  ci , j 1  ci , j 1   1   ci , j 4
  • 10. Kết quả của VD3
  • 11. VD4: Mô hình dòng chảy chất lỏng
  • 12. Kết quả của VD4
  • 13. Tính toán khoa học? • TTKH liên quan đến việc sử dụng máy tính và các phương pháp số một cách hiệu quả, tận dụng cấu hình của các máy tính tiên tiến để giải quyết các bài toán kích thước lớn trong khoa học và kỹ thuật • TTKH là tập hợp tất cả các công cụ, kỹ thuật và lý thuyết cần thiết để phát triển và giải quyết các mô hình toán học trong khoa học và kỹ thuật trên máy tính
  • 14. Tính toán khoa học? Tính toán Khoa học Khoa học ứng dụng Mô hình toán học Toán học Tin học Bài toán thực tế Thuật toán Kết quả Ứng dụng
  • 15. Vai trò của tính toán khoa học • Together with theory and experimentation, computational science now constitutes the third pillar of scientific inquiry, enabling researchers to build and test models of complex phenomena (Report to the President, Computational Science: Ensuring America's Competitiveness, USA, June 2005).
  • 16. Sai số trong tính toán khoa học • Sai số mô hình • Sai số trong quá trình tính toán – Sai số rút gọn – Sai số làm tròn • Sai số dữ liệu đầu vào • Ví dụ: – Diện tích bề mặt trái đất = 4πR2 – Sai số: • Trái đất không phải hình cầu tuyệt đối • R = 6370,….km • Π = 3,14….
  • 17. Cách tính sai số • Giả sử x* là xấp xỉ của số thực x: – Sai số tuyệt đối: | x* - x| – Sai số tương đối: |x* x| , x ≠ 0 | x|
  • 18. Biểu diễn số dưới dạng dấu phẩy động – VD: 2012 => 0.2012x104; 0.012 => 0.12x10-1 – Số dấu phẩy động trong hệ đếm cơ số 10 X = ±(.d1d2…dn)10 x 10e = ±(d1x 10-1 +d2x 10-2 + …dnx 10-n) x 10e – Số dấu phẩy động trong hệ đếm cơ số 2 X = ±(.d1d2…dn)2 x2e = ±(d1x 2-1 +d2x 2-2 + …dnx 2-n) x 2e – Số dấu phẩy động trong hệ đếm cơ số β X = ±(.d1d2…dn)β xβe = ±(d1x β -1 +d2x β -2 + …dnx β -n) x βe
  • 19. Chuẩn IEEE đối với phép tính số học nhị phân • Số V được biểu diễn dưới dạng dấu phảy động như sau: V = (-1)s x M x 2e – Một bit dấu S: s=0 - số dương; s=1 – số âm – K bit cho trường mũ, để xác định số mũ E trong phạm vi [1(2k-1-1), 2k-1-1 ] – N bit dành cho trường định trị M, để xác định phần định trị M trong khoảng [0,2) • Chuẩn IEEE độ chính xác đơn (single precision): N=24; emin =-125; emax =128 • Chuẩn IEEE độ chính xác kép (double precision): N=53; emin =-1021; emax =1024
  • 20. Độ chính xác của máy tính (1) • Giả sử biểu diễn số thực X = ±(.d1d2…dndn+1dn+2…)β xβe sử dụng n chữ số. Có hai cách • Cắt đuôi: Loại bỏ các chữ số: dn+1dn+2… • Làm tròn: Cộng 1 vào chữ số dn nếu dn+1 ≥ β/2
  • 21. Độ chính xác của máy tính (2) • Gọi fl(x) là biểu diễn số thực dấu phảy động của x = ±(.d1d2…dndn+1dn+2…)β xβe =fl x βe • Khi đó sai số tuyệt đối lớn nhất sẽ là: – β-n x βe : đối với sai số cắt đuôi – ½ β-n x βe : đối với sai số làm tròn • Sai số tương đối: – Ɛm = β1-n : đối với sai số cắt đuôi – Ɛm = ½ β1-n : đối với sai số làm tròn • Ɛm gọi là độ chính xác của máy tính, hay đơn vị làm tròn, hay số epsilon của máy tính; n-1 gọi là chữ số có nghĩa
  • 22. Tác động của sai số làm tròn đối với các phép toán số học • Gọi fl(x) và fl(y) là biểu dưới dạng dấu phảy động tương ứng của x và y, khi đó ta có: fl(fl(x) ± fl(y)) = (fl(x) ± fl(y)) * (1+ Ɛ1) fl(fl(x) * fl(y)) = (fl(x) * fl(y)) * (1+ Ɛ2) fl(fl(x) : fl(y)) = (fl(x) : fl(y)) * (1+ Ɛ3) trong đó: i   m • => sai số tương đối vẫn nhỏ
  • 23. Sai số làm tròn tích lũy (1) • Nguồn gốc: – Khi một thuật toán phải thực hiện nhiều phép toán, sai số của mỗi phép toán nhỏ nhưng sai số của thuật toán có thể lớn. Ta phải quan tâm xem sai số của từng phép toán tích lũy trong thuật toán như thế nào.
  • 24. Sai số làm tròn tích lũy (2) • Sai số đột biến của phép trừ: – Giả sử giá trị gần đúng của a, b được biểu diễn như sau:   a  a (1  a ), b  b(1  b), trong đó Δa, Δb là các sai số tương đối thỏa mãn: a   , b   – Xét sai số tương đối của phép trừ gần đúng: x=a-b:    x  a  b  a(1  a )  b(1  b)  (a  b)  (aa  bb) – Từ đó sai số tương đối là:  x x x  aa  bb a  b  a b a  b Sai số này rất lớn nếu a ~ b.
  • 25. Hiện tượng tràn số • Hiện tượng tràn số lớn: xảy ra khi số thu được lớn hơn số lớn nhất mà hệ dấu phảy động có thể biểu diễn được: e > emax • Hiện tượng tràn số nhỏ: xảy ra khi số thu được nhỏ hơn số nhỏ nhất mà hệ dấu phảy động có thể biểu diễn được: e < emin
  • 26. Sự ổn định số • Khái niệm ổn định số liên quan đến độ chính xác của thuật toán khi có sai số làm tròn. • Một thuật toán được gọi là không ổn định nếu sai số làm tròn có thể dẫn tới sai số lớn trong kết quả.
  • 27. Ảnh hưởng của sai số đến kết quả của bài toán • Bài toán có điều kiện tồi • Bài toán có điều kiện tốt
  • 28. Nội dung • Nhập môn Matlab (8T) • Hệ phương trình tuyến tính (4T) • Đường cong khớp (4T) • Giải phương trình phi tuyến (4T) • Tính gần đúng đạo hàm và tích phân (4T) • Phương trình vi phân (4) • Các phương pháp cực tiểu hóa không ràng buộc (4) • Quy hoạch tuyến tính (8T) • Bài tập
  • 29. Nội dung giảng dạy có sử dụng tài liệu/slide của PGS Nguyễn Đức Nghĩa và TS Trịnh Anh Phúc
  • 30. Tài liệu tham khảo 1. T¹ V¨n §Ünh. Ph-¬ng ph¸p tÝnh. NXB Gi¸o dôc, 1995. 2. Ph¹m Kú Anh. Gi¶i tÝch sè. NXB §¹i häc Quèc gia Hµ néi, 1996. 3. Lª Träng Vinh. Gi¶i tÝch sè. NXB Khoa häc Kü thuËt, Hµ néi, 2000. 4. NguyÔn §øc NghÜa. Tèi -u ho¸ (Quy ho¹ch tuyÕn tÝnh vµ rêi r¹c). NXB Gi¸o dôc, 1996.
  • 31. Tài liệu tham khảo 5. Michael Heath. Scientific Computing: An introductory survey. McGraw-Hill Inc. 2001. 6. Charles F. Van Loan, Introduction to Scientific Computing. A Matrix-Vector Approach Using Matlab. 2nd Edition. Prentice Hall, 2000.
  • 32. Michael Heath Director of Computational Science and Eingineering at the University of Illinois at Urbana-Champaign
  • 33. Charles F. Van Loan Joseph C. Ford Professor of Engineering Department of Computer Science, Cornell Univ.
  • 34. Tài liệu tham khảo 7. Duane Hanselman, Bruce Littlefield. Mastering MATLAB 7. Pearson/Prentice Hall, 2005, 852 Pages. 8. K. Sigmon. MATLAB Primer. Univ. Florida, 1996.
  • 35. Tài liệu tham khảo 9. 10. 11. 12. 13. 14. 15. Gene Golub and Charles Van Loan. Matrix computations. John Hopkins University Press 1996. Dammed J.W. Applied Numerical Linear Algebra, 1996. Iserles. A First Course in Numerical Analysis of Differential Equations, Cambridge University Press, 1996. C. Evans, Partial Differential Equations, AMS, 1998. G. W. Stewart, Introduction to Matrix Computations, Academic Press, 1998 Gill, P.E., Murray, W. and Wright, M. H., Numerical Linear Algebra and Optimization, Volume 1, Addison-Wesley, Redwood City, California, 1991. Stephen G. Nash, Ariela Sofer, Linear and Nonlinear Programming. McGraw-Hill, 1998.