Một giải thuật có tính qui mô nếu mức độ song song ít nhất cũng gia tăng tuyến tính theo kích thớc bài toán. Một kiến trúc có tính qui mô nếu nó tiếp tục mang lại cùng hiệu năng cho từng bộ xử lý, mặc dù các bộ xử lý đợc dùng trong bài toán kích thớc lớn hơn, khi số lợng bộ xử lý gia tăng. Tính qui mô về thuật toán và kiến trúc là quan trọng, bởi vì từ đó mới có thể cho phép ngời sử dụng giải quyết các bài toán lớn hơn trong số lợng thời gian nh nhau bằng cách mua một máy tính song song với nhiều bộ xử lý hơn.
Việc đánh giá tính qui mô của giải thuật thờng thông qua một tiêu chuẩn phụ thuộc vào tính hiệu quả. Nếu nh giải thuật có thể duy trì hiệu quả là một hằng số hoặc ít nhất là giới hạn dới > 0 khi số bộ xử lý gia tăng do kích thớc bài toán tăng lên. Theo công thức tính hiệu quả:
Ep =
p
pT T1
Các giải thuật song song theo dữ liệu thì linh động hơn các giải thuật song song theo chức năng, bởi vì mức độ song song chức năng thờng là một hằng số, độc lập với kích thớc bài toán, trong khi mức độ song song dữ liệu là một hàm tăng theo kích thớc bài toán.
Việc tìm hiểu các cơ sở đánh giá giải thuật giúp cho ta có thể xem xét lại các thiết kế đa ra. Chọn lựa giải thuật tốt cho mô hình máy tính cụ thể là một bài toán không đơn giản. Những đánh giá trên mới chỉ mang tính lý thuyết, nhng là cơ sở quan trọng khi ta thiết kế giải thuật song song.
Chơng 5 giải hệ phơng trình tuyến tính
Sau khi trình bày lý thuyết về thiết kế giải thuật song song, chơng sau đây sẽ áp dụng cụ thể vào bài toán giải hệ phơng trình tuyến tính. Đây là bài toán quan trọng, thờng đợc áp dụng trong nhiều bài toán khoa học và kỹ thuật.
Về lý thuyết, giải hệ phơng trình tuyến tính A x= b ta có thể thực hiện nh sau:
Tìm ma trận nghịch đảo A−1 của A
Sau đó tính x= A−1b.
Tuy nhiên, trong thực tế việc tính ma trận nghịch đảo trực tiếp sẽ rất phức tạp và hơn nữa không phải ma trận nào cũng có ma trận nghịch đảo. Dựa vào các phép biến đổi hệ phơng trình nh hoán vị, nhân hàng với một hằng số. v. v. để hệ trở lên dễ giải hơn. Điển hình là dùng phép toán với hàng để đa ma trận hệ số về ma trận tam giác, khử Gauss là dựa theo phơng pháp này.
Trong luận văn này đề cập đến một phơng pháp giải hệ tuyến tính dựa vào phơng pháp khử Gauss đó là tách LU. Sau khi đã đa hệ phơng trình về ma trận tam giác sẽ dùng các giải thuật thay thế tiến ( forward substitution) và giải thuật quay lui ( backward substitution) để tính toán ra đợc kết quả.
Giải hệ phơng trình tuyến tính sau:
a11x1 + a12x2 + a13x3+. . . . + a1nxn = b1 a21x1 + a22x2 + a23x3+. . . + a2nxn = b2 a31x1 + a32x2 + a33 x3+. . . . + a 3n xn = b3 . . . a n1x1 + a n2x2 + a n3x3+. . . . + a nnxn = bn Ta có thể viết dới dạng A x = b
Trong đó A là ma trận hệ số, b là cột vế phải, x là cột ẩn số của hệ ph- ơng trình.
Các bớc tiến hành giải thuật tách LU nh sau:
1) Phân tách A = L * U dựa theo giải thuật khử Gauss.
2) Giải hệ L * y= b => tìm ra vectơ y theo thuật toán thay thế tiến
3) Giải hệ U *x = y => tìm ra nghiệm của bài toán gốc x theo thuật toán thay thế quay lui.
Nh vậy, để giải hệ phơng trình tuyến tính, ta cần giải quyết hai bài toán : tách A= L*U theo giải thuật khử Gauss và giải hệ phơng trình tuyến tính có hệ số là ma trận tam giác.