✖

Ma trận

Ma trận trên trường P là một ánh xạ {1; 2; …; n} × {1; 2; …; m} → P. Ma trận thường được kí hiệu bằng chữ in hoa: A = (…). Còn bây giờ nói cho dễ hiểu.

Các khái niệm cơ bản

Nói đơn giản, ma trận là một bảng gồm n cột và m dòng; chú ý rằng cách kí hiệu số dòng và số cột không phải lúc nào cũng như vậy. Trong mỗi ô của bảng là một số hoặc một biểu thức nào đó. Ma trận không nhất thiết chỉ gồm các số, dù lúc mới học rất có thể bạn sẽ chưa gặp loại ma trận khác. Một ma trận có thể trông như sau:

A=(0158551)

Ma trận này có 2 dòng và 3 cột. Các phần tử của ma trận được kí hiệu bằng chỉ số, và thay cho chữ in hoa ta dùng chữ thường: a11 = 0 hoặc a23 = 51. Chỉ số thứ nhất chỉ dòng, chỉ số thứ hai chỉ cột.

Các loại ma trận đặc biệt

Ma trận có thể có nhiều tính chất khác nhau, và một số ma trận đặc biệt còn có tên riêng.

Ma trận vuông là ma trận có số dòng bằng số cột. Ma trận không vuông gọi là ma trận chữ nhật. Ví dụ về ma trận vuông:

A=(0158523471542)

Ma trận không là ma trận có tất cả các phần tử bằng 0: aij = 0.

A=(000000000)

Ma trận đơn vị là ma trận vuông có các phần tử trên đường chéo chính bằng 1, còn mọi phần tử khác bằng 0. Đường chéo chính là “đường chéo” đi từ góc trên bên trái xuống góc dưới bên phải, tức là gồm các phần tử ở vị trí có i = j.

A=(100010001)

Ma trận bậc thang là ma trận mà các dòng không (nếu có) nằm ở cuối, và mỗi dòng khác không có nhiều số 0 ở đầu hơn dòng trước nó. Tất cả các ma trận sau đều là ma trận bậc thang:

A1=(10001π001),A2=(100010001000000),A3=(111180005100005)

Ma trận chuyển vị của ma trận A là ma trận AT thoả mãn aij=ajiT, tức là phần tử ở dòng thứ i, cột thứ j sẽ nằm ở dòng thứ j, cột thứ i của ma trận chuyển vị. Nói gọn là ta đổi các dòng của ma trận thành các cột.

(0158523471542)T=(0847151545232)(345678)T=(364758)

Ma trận đối xứng là ma trận vuông A thoả mãn A = AT. Các phần tử đối xứng nhau qua đường chéo chính thì bằng nhau, tức là aij = aji.

A=(934370402)

Ma trận phản đối xứng gần giống ma trận đối xứng, chỉ khác là các phần tử ở hai bên đường chéo có dấu ngược nhau: A = −AT. Do đó các phần tử trên đường chéo chính phải bằng 0, vì a = −a = 0.

A=(0−3−43054−50)

Ma trận đường chéo là ma trận có mọi phần tử nằm ngoài đường chéo chính bằng 0. Chính xác hơn: mọi phần tử ngoài đường chéo chính phải bằng 0, còn các phần tử trên đường chéo chính thì tuỳ ý.

A1=(900070002),A2=(300000000)

Các phép toán cơ bản trên ma trận

Ta có thể cộng các ma trận, nhân ma trận với một số và nhân các ma trận với nhau.

Phép cộng ma trận khá trực quan. Nếu hai ma trận cùng cỡ (cùng số cột và số dòng) thì ma trận tổng có phần tử ở mỗi vị trí bằng tổng các phần tử ở vị trí tương ứng của hai ma trận ban đầu. Tức là nếu A + B = C thì aij + bij = cij.

(0158523471542)+(5431020307−54−12)=(55818255354100−10)

Rõ ràng phép cộng ma trận có tính chất giao hoán và tính chất kết hợp: A + B = B + A và A + (B + C) = (A + B) + C.

Phép nhân ma trận với một số cũng trực quan. Lấy số đó nhân với từng phần tử của ma trận, chỉ vậy thôi: k · A = k · aij.

5⋅(0158523471542)=(0525402511523577010)

Phép nhân ma trận

Phép nhân hai ma trận thì phức tạp hơn một chút, vì không trực quan như ta tưởng. Không thể chỉ nhân các phần tử tương ứng với nhau. Trước hết, hai ma trận phải thoả mãn điều kiện: số cột của ma trận thứ nhất bằng số dòng của ma trận thứ hai. Các kích thước còn lại tuỳ ý. Bây giờ có thể định nghĩa tích (n là số cột của ma trận thứ nhất):

(A⋅B)ij=∑p=1naip⋅bpj

Khó hiểu phải không? Ta sẽ giải thích cụ thể hơn :-). Lấy dòng thứ nhất của ma trận thứ nhất và cột thứ nhất của ma trận thứ hai. Nhân phần tử thứ nhất với phần tử thứ nhất, cộng với tích của phần tử thứ hai với phần tử thứ hai, cứ thế tiếp tục. Kết quả là phần tử c11 của ma trận mới C. Tốt nhất là xem ví dụ. Ta nhân hai ma trận sau:

A=(1234),B=(5678)

Chọn dòng thứ nhất của ma trận thứ nhất và cột thứ nhất của ma trận thứ hai:

A=(1234),B=(5678)

Cho dễ theo dõi, ta kí hiệu ma trận tích là C. Muốn tìm phần tử đầu tiên của ma trận này, ta tính: c11 = a11 · b11 + a12 · b21. Lưu ý rằng chỉ số thứ nhất là dòng, chỉ số thứ hai là cột. Thay số ta được: 1 · 5 + 2 · 7 = 19. Phần tử đầu tiên có giá trị 19:

C=(19???)

Phần tử tiếp theo, c12, tính theo cách tương tự, chỉ khác là lấy dòng thứ nhất và cột thứ hai. Phép tính dài dòng này luôn cho ta phần tử nằm ở chỗ giao nhau của dòng và cột đã chọn. Dòng thứ nhất và cột thứ nhất giao nhau ở vị trí c11, dòng thứ nhất và cột thứ hai giao nhau ở vị trí c12. Hình sau minh hoạ rõ điều đó:

Tích của hai ma trận

Bây giờ tính nhanh các phần tử còn lại:

c12=a11⋅b12+a12⋅b22=1⋅6+2⋅8=22.c21=a21⋅b11+a22⋅b21=3⋅5+4⋅7=43.c22=a21⋅b12+a22⋅b22=3⋅6+4⋅8=50.

Chỉ cần viết các số này vào ma trận:

C=(19224350)

Có thể kiểm tra kết quả, chẳng hạn bằng Excel hay Calc của OpenOffice, vì chúng có các hàm làm việc với ma trận.

Một vài nhận xét chung về phép nhân ma trận. Trước hết, phép nhân ma trận không có tính chất giao hoán. Nói chung đẳng thức A · B = B · A không đúng, dù tất nhiên trong một số trường hợp nó có thể xảy ra. Nhưng phép nhân ma trận có tính chất kết hợp. Hơn nữa, nó còn có tính chất phân phối đối với phép cộng: A (B + C) = AB + AC. Khi nhân hai ma trận aix · bxn, ma trận tích có cỡ i × n (số dòng bằng số dòng của ma trận thứ nhất, số cột bằng số cột của ma trận thứ hai).

Ví dụ

Cho ba ma trận sau:

A=(123456789),B=(42810124459),C=(89−5410−1).

Tính tích A · B.

(123456789)⋅(42810124459)=(3641439098106144155169)

Tính tích B · A.

Chú ý rằng phép nhân ma trận không có tính chất giao hoán, nên ta không thể khẳng định kết quả sẽ giống như ở câu trước. Phải tính lại từ đầu:

(42810124459)⋅(123456789)=(6882968611213887105123)

Tính các tích A · C và C · B.

(123456789)⋅(89−5410−1)=(2814675010686)

Tích thứ hai không tính được, vì số cột của ma trận thứ nhất khác số dòng của ma trận thứ hai.

Các phép biến đổi sơ cấp trên ma trận

Để làm việc hiệu quả với ma trận, ta cần định nghĩa một số phép biến đổi sơ cấp. Trước hết, có thể nhân một dòng/cột của ma trận với một số khác 0. Phép nhân này giống như nhân ma trận với số k, nhưng chỉ áp dụng cho dòng/cột đó.

Phép biến đổi thứ hai là cộng vào dòng thứ i tích của dòng thứ j với số k. Với cột cũng vậy. Nghe thì đáng sợ, nhưng thực ra rất đơn giản. Ta minh hoạ với k = 1. Cho ma trận:

(123456789)

Cộng dòng thứ hai vào dòng thứ nhất. Tức là lấy dòng thứ hai và cộng từng số của nó vào số ở vị trí tương ứng trong dòng thứ nhất. Các số ở dòng thứ hai không thay đổi, chỉ có dòng thứ nhất thay đổi:

(579456789)

Bây giờ có thể biến đổi tiếp. Ta thử cộng 2 lần dòng thứ nhất vào dòng thứ ba. Lấy dòng thứ nhất của ma trận vừa thu được, nhân với 2, được dòng (10; 14; 18), rồi cộng các số này vào dòng thứ ba. Một lần nữa — dòng thứ nhất không thay đổi, chỉ có dòng thứ ba thay đổi:

(579456172227)

Tiếp theo, ta cộng vào dòng thứ ba tổng của dòng thứ nhất và dòng thứ hai. Thực chất không có gì mới, vì cộng vào dòng thứ ba trước hết dòng thứ hai rồi đến dòng thứ nhất thì cũng được kết quả như vậy. Tổng của dòng thứ nhất và dòng thứ hai bằng: (5; 7; 9) + (4; 5; 6) = (9; 12; 15). Cộng dòng này với dòng thứ ba ta được: (9; 12; 15) + (17; 22; 27) = (26; 34; 42).

(579456263442)

Thêm một phép biến đổi trên cột (những phép này thường ít được dùng hơn vì không dễ theo dõi bằng). Cộng cột thứ nhất vào cột thứ hai:

(5129496266042)

Và cuối cùng, nhân dòng thứ hai với 2:

(512981812266042)

Phụ thuộc tuyến tính

Bây giờ ta giải thích thế nào là các dòng/cột phụ thuộc. Một dòng là phụ thuộc tuyến tính nếu có thể biểu diễn nó thành tổ hợp tuyến tính của các dòng còn lại của ma trận. Nói đơn giản, nếu bằng cách cộng các dòng (nhân với các hệ số) theo nhiều cách khác nhau mà cuối cùng thu được dòng đang xét thì dòng đó phụ thuộc tuyến tính. Ví dụ:

(1234566912)

Lấy 2 lần dòng thứ nhất cộng với dòng thứ hai, ta được dòng thứ ba. Nếu lấy dòng thứ ba trừ đi tổ hợp này, ta được dòng không (dòng toàn số 0). Dòng này là phụ thuộc. Ta thực hiện các phép biến đổi như sau (nhân dòng thứ nhất với 2, cộng vào dòng thứ hai, rồi lấy dòng thứ ba trừ đi):

(1234566912)∼(2464566912)∼(24669126912)∼(2466912000)

Cho ma trận A có n dòng, Ai là dòng thứ i. Ta nói ma trận không chứa dòng phụ thuộc tuyến tính nếu:

α1A1+α2A2+…+αnAn=0

khi và chỉ khi α1, α2, …, αn = 0. Số 0 ở vế phải là dòng không. Tức là phương trình này chỉ có nghiệm duy nhất là nghiệm tầm thường. Nếu tìm được một nghiệm khác thì ma trận chứa dòng phụ thuộc tuyến tính. Với cột cũng tương tự. Với ma trận ở trên ta có:

2(123)+1(456)−1(6912)==(6912)−(6912)=(000)

Như vậy các giá trị alpha là α1 = 2, α2 = 1, α3 = −1.

Số dòng hoặc số cột độc lập tuyến tính cho biết hạng của ma trận.

Ma trận khả nghịch và ma trận suy biến

Ma trận được gọi là khả nghịch nếu nó là ma trận vuông và có hạng lớn nhất có thể (tức là không có dòng nào phụ thuộc tuyến tính). Ma trận vuông được gọi là suy biến nếu nó không khả nghịch (tức là có ít nhất một dòng phụ thuộc tuyến tính). Hai khái niệm này khá quan trọng, vì nhiều định nghĩa dựa trên chúng. Rất nhiều thứ chỉ được định nghĩa khi ma trận khả nghịch.

Bài viết liên quan