Hạng của ma trận
Hạng của ma trận là số cho biết số dòng hoặc số cột độc lập của ma trận.
Định nghĩa
Hạng của ma trận là số lớn nhất các dòng/cột độc lập tuyến tính của ma trận. Ma trận không có hạng bằng 0, mọi ma trận khác có hạng ít nhất bằng 1. Ma trận cỡ m × n có hạng không vượt quá min(m, n). Tức là nếu ma trận có ít dòng hơn cột thì hạng của nó không vượt quá số dòng. Với cột cũng tương tự.
Hạng của ma trận thường được kí hiệu bằng từ tiếng Anh “rank”. Ta viết rank(A) = x.
Cách tính hạng
Bây giờ ta xem cách tính hạng của ma trận. Việc này khá đơn giản. Cần biến đổi ma trận về dạng mà từ đó thấy rõ những dòng nào độc lập tuyến tính. Thông thường ta đưa ma trận về dạng bậc thang (dưới đường chéo toàn số 0), khi đó nhìn vào là thấy ngay. Vào ví dụ luôn — cho ma trận:
Cần tìm hạng của nó. Trước hết cần nhận ra một điều nhỏ. Hai dòng gồm toàn các số khác 0 về lí thuyết có thể phụ thuộc tuyến tính; muốn biết thì phải tính. Nhưng nếu một dòng có số 0 ở một vị trí nào đó, còn dòng kia ở cùng vị trí lại khác 0, thì chắc chắn hai dòng không phụ thuộc. Thật vậy, không có số nào nhân với số 0 đó (và cả dòng) mà được đúng số nằm ở dòng kia. Vì thế ta luôn cố biến đổi ma trận về dạng bậc thang để có được những số 0 như vậy.
Có thể viết đoạn trên như sau. Nếu α1, α2 ≠ 0 thì:
Vì vậy ta cố đưa ma trận về dạng tương tự để dễ thấy sự phụ thuộc. Xem ví dụ:
Đây là ma trận dạng bậc thang, không có dòng nào phụ thuộc tuyến tính. Không thể biểu diễn dòng thứ ba qua hai dòng đầu, vì nếu các hệ số alpha khác 0 thì ở các vị trí đầu luôn còn lại một số khác 0.
Cách làm thường như sau: trước hết đưa các số 0 vào cột thứ nhất (trừ dòng thứ nhất). Sau đó biến đổi tiếp để được các số 0 ở cột thứ hai, rồi cột thứ ba, v.v., cho đến khi được dạng bậc thang. Đếm số dòng khác 0 – thế là có hạng của ma trận. Ta được phép dùng các phép biến đổi sau mà không làm thay đổi hạng của ma trận:
- Đổi chỗ hai dòng bất kì.
- Nhân một dòng với một biểu thức bất kì khác 0.
- Cộng một dòng vào một dòng khác.
- Tất cả các phép biến đổi trên cũng áp dụng được cho cột.
Ví dụ
Với ma trận ở trên, ta biến đổi như sau. Xét quan hệ giữa hai phần tử a11 và a21. Chúng bằng nhau, nên muốn có số 0 ở vị trí a21, ta cộng vào dòng thứ hai −1 lần dòng thứ nhất (tức là lấy dòng thứ hai trừ đi dòng thứ nhất):
Đã có số 0 ở vị trí mong muốn. Tiếp theo cần có số 0 ở vị trí a31. Ở đó cũng là số 1, nên chỉ cần trừ đi dòng thứ nhất:
Cột thứ nhất đã có các số 0, giờ chuyển sang cột thứ hai. Hai số a22 và a32 là hai số đối nhau, nên chỉ cần cộng hai dòng:
Ta được một dòng không. Các phép biến đổi đã xong, ma trận đã ở dạng bậc thang. Chỉ cần đếm số dòng khác 0 là có hạng: rank A = 2. Ma trận này có hạng bằng 2.
Ví dụ thứ hai
Bây giờ thử tính hạng của một ma trận lớn hơn một chút:
Hạng của ma trận là số lớn nhất các dòng độc lập tuyến tính, nên ta có thể tuỳ ý đổi chỗ các dòng của ma trận. Ở đây nên đưa dòng có số 1 ở đầu lên trên cùng cho dễ tính. Vậy ta đổi chỗ dòng thứ nhất và dòng thứ hai:
Tiếp tục làm như ví dụ trước. Cột thứ nhất phải toàn số 0 (tất nhiên trừ dòng thứ nhất), nên ta cộng vào dòng thứ hai −7 lần dòng thứ nhất, vào dòng thứ ba −4 lần và vào dòng cuối −2 lần dòng thứ nhất. Dòng thứ nhất giữ nguyên:
Lại đổi chỗ các dòng, lần này nên đưa dòng cuối lên vị trí dòng thứ hai, vì số 2 ở vị trí thứ hai của nó. Đổi chỗ dòng thứ hai và dòng thứ tư:
Nhưng dưới số 2 là các số −17 và −19. Không số nào chia hết cho 2, khá bất tiện. Vì vậy ta nhân dòng thứ ba và dòng thứ tư với 2:
Giờ có thể tiếp tục khử cột thứ hai. Cộng vào dòng thứ ba 17 lần dòng thứ hai và vào dòng thứ tư 19 lần dòng thứ hai:
Ta được những số khá bất tiện cho bước tiếp theo, nhưng vẫn xử lí được. Chia dòng thứ ba cho −38:
Rồi nhân dòng thứ ba với 60 và cộng vào dòng thứ tư:
Kết quả là một số không đẹp, nhưng khác 0. Vậy ma trận có hạng bằng 4, không có dòng nào phụ thuộc tuyến tính.
Ví dụ với tham số
Tìm hạng của ma trận A theo tham số q.
Bài này phức tạp hơn một chút vì có tham số q. Cần xác định với giá trị nào của q thì ma trận có hạng lớn nhất (nếu có), và với giá trị nào thì hạng nhỏ hơn. Ta làm như thường lệ, chỉ đôi khi thay cho giá trị cụ thể ta tính với q. Bước đầu tiên, chuyển tham số q đến một vị trí thuận lợi hơn, cụ thể là góc dưới bên phải. Đổi chỗ dòng thứ hai với dòng thứ ba, rồi đổi chỗ cột thứ nhất với cột cuối:
Tham số đã ở vị trí thích hợp, không gây trở ngại. Nhưng cột thứ nhất có những số khá bất tiện, trong khi chính giữa ma trận lại có số 1: ta chuyển nó lên góc trên bên trái, tức là đổi chỗ dòng thứ nhất với dòng thứ hai và cột thứ nhất với cột thứ hai:
Bây giờ ma trận đã đẹp. Nhân dòng thứ nhất với −8 rồi cộng vào dòng thứ hai:
Nhân dòng thứ nhất với −5 rồi cộng vào dòng thứ ba:
Tốt, cột thứ nhất đã đúng như mong muốn. Bây giờ cộng vào dòng thứ ba −1 lần dòng thứ hai:
Các phép biến đổi đã xong. Ta thấy dòng thứ nhất và dòng thứ hai chắc chắn độc lập tuyến tính. Nhưng dòng thứ ba có thể phụ thuộc tuyến tính. Dòng này phụ thuộc tuyến tính nếu nó là dòng không, tức là nếu chọn tham số q sao cho biểu thức q + 11 bằng 0. Rõ ràng với q = −11 thì dòng thứ ba là dòng không, nên phụ thuộc tuyến tính.
Kết luận: với q = −11, ma trận có hạng bằng 2, còn trong mọi trường hợp khác thì có hạng bằng 3.