Các ví dụ về 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
Trang 1Tính toán khoa học
Scientific Computing
Trang 2GiẢ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
Trang 3Giớ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
Trang 4Các ví dụ về tính toán khoa học
Trang 5VD1: Phương trình nhiệt
Trang 6Kết quả VD1
Trang 7VD2: Mô hình dự báo mực
nước sông, suối
Trang 8Kết quả VD2
Trang 9( 1 ,
)
( 1 ,
) 1
( , 1
)
( , 1
k j i
k j i
k j i
k j i
Trang 10Kết quả của VD3
Trang 11VD4: Mô hình dòng chảy chất lỏng
Trang 12Kết quả của VD4
Trang 13Tí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
Trang 15Vai 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)
Trang 16Sai số trong tính toán khoa học
Trang 17Cá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 ≠ 0
x
Trang 18Biể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
Trang 19Chuẩ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 (2k-1-1), 2k-1-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
Trang 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
Trang 22Tác động của sai số làm tròn đối với
Trang 23Sai 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
Trang 24Sai 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: trong đó Δa, Δb là các sai số tương đối thỏa mãn:
– Xét sai số tương đối của phép trừ gần đúng: x=a-b:
– Từ đó sai số tương đối là:
Sai số này rất lớn nếu a ~ b
), 1
( ),
) (
) 1
( )
1 ( a b b a b a a b b a
b a
x
b a
b a
b a
b b a
a x
x x
Trang 25Hiệ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
Trang 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ả
Trang 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
Trang 29Nộ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
Trang 30Tà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
Trang 31Tà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
Trang 32Michael Heath
Director of Computational Science and Eingineering at the University of Illinois at Urbana-Champaign
Trang 33Charles F Van Loan
Joseph C Ford Professor of
Engineering Department of
Computer Science, Cornell Univ
Trang 34Tài liệu tham khảo
7 Duane Hanselman, Bruce
Trang 35Tài liệu tham khảo
John Hopkins University Press 1996
10 Dammed J.W Applied Numerical Linear Algebra, 1996
11 Iserles A First Course in Numerical Analysis of Differential
Equations, Cambridge University Press, 1996
12 C Evans, Partial Differential Equations, AMS, 1998
13 G W Stewart, Introduction to Matrix Computations,
Academic Press, 1998
14 Gill, P.E., Murray, W and Wright, M H., Numerical Linear
Algebra and Optimization, Volume 1, Addison-Wesley,
Redwood City, California, 1991
15 Stephen G Nash, Ariela Sofer, Linear and Nonlinear
Programming McGraw-Hill, 1998