1. Trang chủ
  2. » Công Nghệ Thông Tin

NHÂN MA TRẬN pot

10 1,9K 16

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 216,01 KB

Nội dung

Phép toán trên ma tr ậ n Cộng, trừ ma trận: - 2 ma trận chỉ có thể cộng hoặc trừ cho nhau nếu chúng có cùng kích thước... Thu ậ t toán Strassen Đánh giá giải thuật: - Thuật toán Strassen

Trang 1

NHÂN MA TRN

Trang 2

Phép toán trên ma trn

 Cộng, trừ ma trận:

- 2 ma trận chỉ có thể cộng hoặc trừ cho nhau nếu chúng có cùng kích thước

Nhân ma trận:

- Có thể nhân 2 ma trận với nhau nếu số cột của

ma trận có số hàng của ma trận 1 và cột ma trận 2

- Ví dụ: Nhân 2 ma trận có kích thước 3x4 và 4x7

 được ma trận có kích thước 3x7

Trang 3

Nhân ma trn

 Tính chất của nhân ma trận:

- Nhân ma trận không có tính giao hoán

A*B # B*A

Ví dụ: Cho 2 ma trận 2x3 * 3x4  Kết quả ma

trận (2x4)

Trang 4

Nhân ma trn

 Thuật toán: Nhân 2 ma trận G(n x n) và H(n x n)

 Kết quả R(n x n)

for (int i =1;i<n;i++)

for (int j=1;j<n;j++)

Ri,j = 0;

for (int k=1;k<n;k++)

Ri,j=Ri,j+Gi,k*Hk,j;

Đánh giá thuật toán:

- Số phép cộng: n3

- Số phép nhân: n3  O(n 3 )

Trang 5

Thut toán Strassen

- Thuật toán Strassen ứng dụng với ma trận vuông

- Thuật toán Strassen áp dụng giải thuật chia để trị

- Chia nhỏ ma trận A, B thành những ma trận con

A0,A1,…

A0 A1

A2 A3 ×

B0 B1

B2 B3 = A 0 ×B× 0 +A 1 ×B× 2 A 0 ×B× 1 +A 1 ×B× 3

A 2 ×B× 0 +A 3 ×B× 2 A 2 ×B× 1 +A 3 ×B× 3

Trang 6

Thut toán Strassen

P 1 = (A 11 + A 22 )(B 11 +B 22 )

P 2 = (A 21 + A 22 ) * B 11

P 3 = A 11 * (B 12 - B 22 )

P 4 = A 22 * (B 21 - B 11 )

P 5 = (A 11 + A 12 ) * B 22

P 6 = (A 21 - A 11 ) * (B 11 + B 12 )

P 7 = (A 12 - A 22 ) * (B 21 + B 22 )

Trang 7

Thut toán Strassen

 Cài đặt:

void matmul(int *A, int *B, int *R, int n)

{

if (n == 1)

else

matmul(A, B+(n/4), R+(n/4), n/4);

matmul(A+2*(n/4), B, R+2*(n/4), n/4);

matmul(A+2*(n/4), B+(n/4), R+3*(n/4), n/4);

matmul(A+(n/4), B+2*(n/4), R, n/4);

matmul(A+(n/4), B+3*(n/4), R+(n/4), n/4);

matmul(A+3*(n/4), B+2*(n/4), R+2*(n/4), n/4);

matmul(A+3*(n/4), B+3*(n/4), R+3*(n/4), n/4);

}

}

Trang 8

Thut toán Strassen

 Đánh giá giải thuật:

- Thuật toán Strassen có độ phức tạp O(nlog7 ) = O(n2,81)

Trang 9

PHƯƠNG TRÌNH

Trang 10

Phương trình tuy ế n tính

Tìm giá trị (x1,…,xn)

 Ví dụ:

Ngày đăng: 08/08/2014, 05:20

TỪ KHÓA LIÊN QUAN

w