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

NHÂN MA TR NHÂN MA TR Ậ Ậ N N Ph Ph é é p to p to á á n trên ma tr n trên ma tr ậ ậ n 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. 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 1 = số hàng của ma trận 2  Kết quả sẽ là 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 Nhân ma tr Nhân ma tr ậ ậ n n  Tính chất của nhân ma trận: - Nhân ma trận không có tính giao hoán - Ví dụ: Cho 2 ma trận vuông A và B  Kết quả A*B # B*A Ví dụ: Cho 2 ma trận 2x3 * 3x4  Kết quả ma trận (2x4) Nhân ma tr Nhân ma tr ậ ậ n n  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++) R i,j = 0; for (int k=1;k<n;k++) R i,j =R i,j +G i,k *H k,j ; Đánh giá thuật toán: - Số phép cộng: n 3 - Số phép nhân: n 3  O(n 3 ) Thu Thu ậ ậ t to t to á á n Strassen 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 A 0 ,A 1 ,… A × ×× × B = R A 0 A 1 A 2 A 3 × ×× × B 0 B 1 B 2 B 3 = 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 Thu Thu ậ ậ t to t to á á n Strassen 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 ) C 11 = P 1 + P 4 - P 5 + P 7 C 12 = P 3 + P 5 C 21 = P 2 + P 4 C 22 = P 1 + P 3 - P 2 + P 6 Thu Thu ậ ậ t to t to á á n Strassen n Strassen  Cài đặt: void matmul(int *A, int *B, int *R, int n) { if (n == 1) { (*R) += (*A) * (*B); } else { matmul(A, B, R, n/4); 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); } } Thu Thu ậ ậ t to t to á á n Strassen n Strassen  Đánh giá giải thuật: - Thuật toán Strassen có độ phức tạp O(n log7 ) = O(n 2,81 ) PHƯƠNG TRÌNH PHƯƠNG TRÌNH TUY TUY Ế Ế N T N T Í Í NH NH Phương tr Phương tr ì ì nh tuy nh tuy ế ế n t n t í í nh nh Tìm giá trị (x 1 ,…,x n )  Ví dụ: . 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 1 = số hàng của ma trận 2  Kết quả sẽ là 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ó. thước 3x4 và 4x7  được ma trận có kích thước 3x7 Nhân ma tr Nhân ma tr ậ ậ n n  Tính chất của nhân ma trận: - Nhân ma trận không có tính giao hoán - Ví dụ: Cho 2 ma trận vuông A và B  Kết. NHÂN MA TR NHÂN MA TR Ậ Ậ N N Ph Ph é é p to p to á á n trên ma tr n trên ma tr ậ ậ n 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. Nhân

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

TỪ KHÓA LIÊN QUAN

w