1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình Toán rời rạc Chương 2.4

5 612 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ma Trận
Trường học Trường Đại Học
Chuyên ngành Toán Rời Rạc
Thể loại Giáo Trình
Định dạng
Số trang 5
Dung lượng 135 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giáo trình Toán rời rạc

Trang 1

III Ma trận

1 Khái niệm ma trận

Cho K là một trường (field) Một bảng hình chữ nhật dạng

n n

trong đó các phần tử aij  K gọi là một ma trận trên K

Ma trận trên còn được kí hiệu (aij), i=1, ,m, j=1, ,n hoặc đơn giản chỉ là (aij) Có m bộ gồm n phần tử theo chiều ngang (a11, a12, ,a1n), (a21, a22, ,a2n), , (am1,am2, ,amn) gọi là các hàng của ma trận và có n bộ gồm m phần tử theo chiều dọc:

11

21

1

m

a

a

a

,

12 22

2

m

a a a

, ,

1 2

n n

mn

a a a

gọi là các cột Phần tử aij gọi là phần tử thứ ij và

xuất hiện ở hàng i, cột j Một ma trận như vậy gọi là một ma trận m hàng n cột, hay đơn giản là một ma trận mxn Bộ (m,n) gọi là kích thước của ma trận (hoặc dạng) của

ma trận.1

Ví dụ:

là một ma trận 3 hàng và 4 cột trên tập hợp các số thực

Các ma trận thường được kí hiệu bởi các chữ hoa A, B, C còn các phần tử của

K thường được kí hiệu bằng chữ thường a,b,c Hai ma trận A, B bằng nhau nếu có cùng dạng và mọi phần tử tương ứng với các hàng và cột đều bằng nhau Khi đó ta ghi

1 Việc ghi chỉ số hàng hoặc cột (cái nào ghi trước) của ma trận (a ij ) tùy thuộc vào mỗi tác giả Tuy nhiên sự khác nhau đó không làm thay đổi bản chất cúa các vấn đề sẽ được nghiên cứu sau đây.

Trong các ngôn ngữ lập trình việc khai báo một ma trận thông thường được xem như một mảng hai chiều các phần tử kiểu cơ sở Ví dụ trong Pascal:

A : array [1 m, 1 n] of K;

Trong khai báo này có thể xem như chỉ số đầu tiên để chỉ hàng còn chỉ số thứ hai để chỉ cột (điều này không phải là một qui ước có tính cách bắt buộc) Như vậy phần tử A[i,j] là một phần tử có kiểu dữ liệu K thuộc về hàng thứ i, cột thứ j.

Trang 2

A = B Điều đó cũng có nghĩa là sự bằng nhau của hai ma trận mxn tương đương với hệ thống gồm m.n đẳng thức.

Ví dụ:

1 4

x y z s

    tương đương với hệ thống

3 1

4

x y

x y

z s

z s

 

 

  

Ma trận đơn vị:

Định nghĩa: Ma trận vuông nxn In=(ij) trong đó ij=10 nếu i j nếu i j

trận đơn vị

In =

1 0 0

0 1 0

0 0 1

(Kí hiệu ij được gọi là kí hiệu Kronecker)

Ma trận chuyển vị:

Định nghĩa: Cho ma trận A kích thước mxn, ma trận chuyển vị của ma trận A

là ma trận kí hiệu At kích thước nxm có được bằng cách chuyển hàng thành cột và ngược lại

Ví dụ:

Cho A= 1 2 34 5 6

  thì At =

1 4

2 5

3 6

Ma trận đối xứng:

Định nghĩa: Một ma trận vuông nxn A=(aij) gọi là đối xứng nếu ta có aij=aji với

mọi i,j.

Ví dụ:

Trang 3

Ma trận

2 8 11 5

là một ma trận đối xứng

Nói cách khác ma trận vuông A gọi là đối xứng nếu nó không thay đổi khi chúng hoán vị các hàng và các cột cho nhau, ie: khi A = At

2 Các phép toán trên ma trận

Phép cộng:

Định nghĩa: Cho hai ma trận cùng dạng A=(aij), B=(bij) Tổng của A và B là

một ma trận cùng dạng C=(cij) được định nghĩa bởi:

cij=aij+bij với mọi i, j

Ta không định nghĩa tổng của hai ma trận khác dạng

Phép nhân vô hướng:

Định nghĩa: Cho phần tử k  K và ma trận A Tích của k với A, kí hiệu k.A

hoặc kA là ma trận cùng dạng (k.aij)

Ta cũng định nghĩa:

- A = (-1) A và A - B = A + (-B)

Ví dụ:

Cho A = 14 52 36

  và B =  3 0 27 1 8

  thì:

A + B =  43 6 22 5

  và 3A = 12 153 6 918

3A - B = 19 140 6 726

Nhân hai ma trận:

Định nghĩa: Cho A là ma trận mxp và B là ma trận pxn (số cột của A bằng số

hàng của B) Tích của hai ma trận A và B, kí hiệu AB là ma trận C

kích thước mxn định nghĩa bởi:

c ij = 1

p

ik kj k

a b

 , i,j

Ta cũng dịnh nghĩa Ar=AAA A (thực hiện r lần phép nhân) với mọi ma trận A

Trang 4

Ví dụ 1:

r s

t u

ra sb ra sb ra sb

ta ub ta ub ta ub

Ví dụ 2:

Lưu ý là phép nhân ma trận không có tính giao hoán, ie: không chắc AB bằng

BA (hơn nữa cũng không chắc BA có nghĩa hay không!)

Tính chất: AIn = ImA = A với mọi ma trận A kích thước mxn

Thông thường ta qui ước: Ao = In

Thuật toán nhân ma trận:

Procedure Nhân ma trận (A,B,C: các ma trận)

For i:=1 to m do {Duyệt trên mỗi hàng của A}

Begin For j:=1 to n do {với mỗi hàng đó duyệt trên các cột của B}

begin cij := 0 For k:=1 to p do cij:=cij+aik*bkj end

End Return C=(cij)

Ví dụ: Có bao nhiêu phép cộng và phép nhân các số nguyên được thuật toán

nói trên sử dụng để nhân hai ma trận vuông nxn có các phần tử là số nguyên?

Giải: Có n2 phần tử trong tích của A và B Để tìm mỗi phần tử cần tất cả n phép nhân và (n -1) phép cộng Vậy có tất cả n3 phép nhân và n2(n-1) phép cộng đã được dùng Điều này chứng tỏ giải thuật trên cần đến O(n3) phép nhân và phép cộng (độ phức tạp giải thuật là O(n3) 2

2 Dùng một số thuật toán khác có thể đạt độ phức tạp thuật toán chỉ cóO n( 7) Tuy nhiên không tiện trình bày các thuật toán đó ở đây.

Trang 5

3 Ma trận Boole.

Các ma trận mà các phần tử chỉ nhận một trong hai giá trị 0 và 1 (hoặc chỉ nhận hai giá trị TRUE, FALSE) gọi là ma trận Boole Khi đó ta có thể sử dụng các phép toán logich  (and) và  (or) cho các phần tử của các ma trận này Khi đó nếu

Ví dụ:

A= 1 0 10 1 0

  và B = 0 0 10 1 1

A  B=0 0 10 1 0

  và A  B =1 0 10 1 1

Tương tự ta có thể định nghĩa tích Boole của hai ma trận Boole A và B kích

A  B = (c ij) = ((ai1 b1j) (ai2  b2j)   (aik  bkj)) Định nghĩa này hoàn toàn tương tự với định nghĩa tích hai ma trận trong đó ta đã thay trong biểu thức của cij phép nhân bởi  và phép cộng bởi 

Ví dụ:

A=

1 0

0 1

1 0

và B= 1 1 00 1 1

  thì AB=

1 1 0

0 1 1

1 1 0

(Việc kiểm tra kết quả một cách chi tiết xin dành cho người đọc)3

  

3 Cũng đề nghị người đọc tự xác định một thuật toán tương tự cho việc tính tích Boole của hai

ma trận.

Ngày đăng: 13/11/2012, 16:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w