Hạng (đại số tuyến tính)

Trong đại số tuyến tính, hạng (rank) của một ma trận A là số chiều của không gian vectơ được sinh (span) bởi các vectơ cột của nó. Điều này tương đương với số cột độc lập tuyến tính tối đa của A, và như vậy, cũng chính là số chiều của không gian vectơ sinh bởi các hàng của ma trận trên. Vì vậy hạng là một con số chỉ sự "không suy biến" của hệ phương trình tuyến tính và phép biến đổi tuyến tính được biểu diễn bởi A. Còn có nhiều định nghĩa tương đương khác của khái niệm hạng. Hạng của một ma trận là một trong những thuộc tính cơ bản nhất của nó.
Hạng của A thường được ký hiệu là rank(A) hay rk(A), r(A); hoặc đôi khi cũng có thể viết không có dấu ngoặc như sau, rank A.

**Định nghĩa**
Trong mục này, chúng ta đưa ra một số định nghĩa về hạng của một ma trận.
Hạng cột (column rank) của A là số chiều của không gian cột của A, trong khi đó hạng hàng (row rank) của A là số chiều của không gian hàng của A (hoặc, đó là số hàng không phải là hàng zero của ma trận bậc thang rút gọn Ar).
Một kết quả quan trọng trong đại số tuyến tính đó là, hạng cột và hạng hàng luôn luôn bằng nhau. Giá trị các hạng này đơn giản được đồng nhất gọi là hạng của A.
Một ma trận được gọi là có hạng đầy đủ nếu hạng của nó bằng số hạng lớn nhất có thể của một ma trận có cùng kích thước, và đó là cái nhỏ hơn trong hai giá trị số hàng và số cột của A. Ngược lại, một ma trận được gọi là thiếu hạng nếu nó không có hạng đầy đủ.
Hạng cũng là số chiều của không gian ảnh của biến đổi tuyến tính được cho bởi phép nhân với ma trận A.
Tổng quát hơn, nếu một toán tử tuyến tính  trên một không gian vectơ (có thể vô hạn chiều) có ảnh có số chiều hữu hạn (ví dụ một toán tử hữu hạn hạng), thì hạng của toán tử được định nghĩa là số chiều của ảnh:

trong đó  là số chiều của không gian vectơ, còn  là ảnh của ánh xạ (toán tử).

**Ví dụ**
Ma trận sau đây
 
có hạng bằng 2: bởi vì hai cột đầu tiên của nó là độc lập tuyến tính, vì thế hạng ít nhất là 2, nhưng vì cột thứ ba là một tổ hợp tuyến tính của hai cột đầu (nó là cột thứ nhất trừ đi cột thứ hai), ba cột này là phụ thuộc tuyến tính, vì thế hạng phải nhỏ hơn 3.
Ma trận
 
có hạng bằng 1: có các cột khác không, vì vậy hạng là một số dương, nhưng bất kỳ cặp cột nào cũng phụ thuộc tuyến tính. Tương tự, chuyển vị của nó
 
cũng có rank bằng 1.
Thật vậy, vì các vectơ cột của A là các vectơ hàng của chuyển vị của A,  từ mệnh đề rằng hạng cột của một ma trận bằng hạng hàng ta có mệnh đề tương đương rằng hạng của một ma trận bằng hạng của chuyển vị của nó, 1=rank(A) = rank(AT).
Một số ví dụ khác

**Tính toán hạng của ma trận**

**Đưa về dạng hàng bậc thang**
Một cách tiếp cận thông dụng để tìm hạng của một ma trận là đưa nó về một dạng đơn giản hơn, thường là dạng hàng bậc thang rút gọn, bằng các phép biến đổi hàng sơ cấp. Các phép biến đổi hàng không làm thay đổi không gian hàng (vì thế không làm thay đổi hạng hàng), và bởi tính khả nghịch, chúng ánh xạ không gian cột tới một không gian đẳng cấu (vì thế cũng không làm thay đổi hạng cột). Một khi đã đưa về dạng bậc thang rút gọn, hạng của cột và hàng rõ ràng là như nhau, và bằng số phần tử chính (pivot) hay số cột chính, cũng là số hàng khác zero.
Ví dụ, ma trận A được cho bởi

có thể được đưa về dạng hàng bậc thang rút gọn bằng dãy các phép biến đổi sơ cấp trên hàng sau:
.
Ma trận cuối cùng đã được đưa về dạng hàng bậc thang rút gọn có hai hàng khác zero và vì vậy rank của ma trận A là 2.

**Tính toán**
Khi áp dụng cho các tính toán với dấu phẩy động trên máy tính trong thời gian thực, sử dụng phương pháp khử Gauss (phân tích LU) có thể không hiệu quả, và thay vào đó nên sử dụng một thuật toán phân tích tìm hạng. Một phương pháp thay thế hiệu quả là phép phân tích giá trị suy biến (Singular value decomposition hay SVD), nhưng cũng có các cách ít tốn kém hơn, như phân tích QR có chọn phần tử chính (vì thế được gọi là phân tích tìm hạng QR), vẫn mạnh hơn về mặt tính toán số học so với phép khử Gauss. Việc xác định hạng bằng số yêu cầu một tiêu chí để quyết định khi nào một giá trị (chẳng hạn như một giá trị suy biến từ SVD) thì nên được coi là bằng 0, một lựa chọn thực tế phụ thuộc vào cả ma trận và mục đích ứng dụng.

**Chứng minh hạng hàng bằng hạng cột**
Một kết quả cơ bản trong đại số tuyến tính đó là hạng hàng và hạng cột của một ma trận là đồng nhất với nhau. Có nhiều chứng minh đã được đưa ra. Một trong những chứng minh đơn giản nhất đã được phác trong mục trên. Sau đây là một biến thể của cách chứng minh này:
Dễ chỉ ra rằng thực hiện các phép biến đổi hàng sơ cấp không làm thay đổi cả hạng hàng và hạng cột. Bởi vì phép khử Gauss chính là thực hiện các phép biến đổi hàng sơ cấp, dạng hàng bậc thang rút gọn của ma trận có cùng hạng hàng và hạng cột với ma trận ban đầu. Tiếp tục thực hiện các biến đổi sơ cấp trên cột để đưa ma trận về dạng một ma trận đơn vị có thể với các hàng và cột toàn số 0 ở xung quanh. Một lần nữa, thao tác này không làm thay đổi hạng hàng hay hạng cột. Ta thấy ngay hạng hàng và hạng cột của ma trận kết quả này đều bằng nhau và bằng số phần tử khác 0 trong nó.
Sau đây trình bày hai chứng minh khác của kết quả này. Chứng minh thứ nhất sử dụng các tính chất cơ bản của tổ hợp tuyến tính của các vectơ, và vẫn đúng với trường bất kỳ. Chứng minh này dựa trên Wardlaw (2005). Chứng minh thứ hai sử dụng tính trực giao và vẫn đúng với ma trận trên trường số thực; dựa trên Mackiw (1995). Cả hai chứng minh có trong sách của Banerjee và Roy (2014).

**Chứng minh sử dụng tổ hợp tuyến tính**
Cho A là một ma trận m × n. Ký hiệu hạng cột của A là r, và c1, …, cr là một cơ sở bất kỳ của của không gian cột của A, đặt vào các cột của một ma trận C có kích thước m × r. Mỗi cột của A có thể được biểu diễn bằng một tổ hợp tuyến tính của r cột trong C. Điều này có nghĩa là tồn tại một ma trận R cỡ r × n sao cho 1=A = CR. R là ma trận mà cột thứ i của nó gồm các hệ số trong tổ hợp tuyến tính của r vectơ cột của C để tạo ra cột thứ i của A. Nói cách khác, R là ma trận chứa các bội của các vectơ cơ sở của không gian cột của A, còn C là ma trận gồm các vectơ cơ sở đó, hai ma trận này kết hợp để tạo ra A. Bây giờ, ta có mỗi hàng của A được cho bởi một tổ hợp tuyến tính của r hàng trong R. Vì vậy các hàng của R lập thành một hệ sinh của không gian hàng của A, và theo bổ đề trao đổi Steinitz, hạng hàng của A không thể vượt quá r. Điều này chứng tỏ rằng hạng hàng của A chỉ có thể là nhỏ hơn hoặc bằng hạng cột của A. Kết quả này có thể được áp dụng đối với ma trận bất kỳ, vì thế có thể áp dụng với chuyển vị của A. Vì hạng hàng của chuyển vị của A là hạng cột của A và hạng cột của chuyển vị của A là hạng hàng của A, chúng ta cũng có bất đẳng thức với chiều ngược lại, suy ra hạng hàng và hạng cột của A phải bằng nhau. (Xem thêm Phân tích hạng.)

**Chứng minh sử dụng tính trực giao**
Cho A là một ma trận m × n với các phần tử là số thực với hạng hàng là r. Do đó, số chiều của không gian hàng của A là r. Gọi x1, x2, …, xr là một cơ sở của không gian hàng của A. Ta khẳng định rằng các vectơ Ax1, Ax2, …, Axr là độc lập tuyến tính. Để chứng tỏ, xét một liên hệ đồng nhất tuyến tính với các vectơ trên với các hệ số vô hướng c1, c2, …, cr:
 
trong đó 1=v = c1x1 + c2x2 + ⋯ + crxr.  Ta quan sát rằng: (a) v là một tổ hợp tuyến tính của các vectơ trong không gian hàng của A, suy ra v thuộc không gian hàng của A, và (b) vì 1=Av = 0, vectơ v trực giao với mọi vectơ hàng của A và, vì vậy, cũng trực giao với toàn bộ các vectơ trong không gian hàng của A. Từ (a) và (b) ta suy ra v trực giao với chính nó, điều này dẫn đến 1=v = 0 hay là, theo định nghĩa của v,
 
Nhưng nhớ rằng xi được chọn là các vectơ cơ sở của không gian hàng của A và vì vậy độc lập tuyến tính. Suy ra 1=c1 = c2 = ⋯ = cr = 0.  Vậy Ax1, Ax2, …, Axr cũng độc lập tuyến tính.
Đến đây, ta thấy mỗi vectơ Axi hiển nhiên là thuộc không gian cột của A. Vì thế, Ax1, Ax2, …, Axr là một tập hợp r vectơ độc lập tuyến tính trong không gian cột của A, suy ra số chiều của không gian cột của A (hay hạng cột của A) phải ít nhất bằng r. Điều này cho thấy hạng hàng của A không lớn hơn hạng cột của A. Bây giờ áp dụng kết quả này với chuyển vị của A để được bất đẳng thức chiều ngược lại và kết thúc như chứng minh trước.

**Các định nghĩa khác**
Trong tất cả các định nghĩa dưới đây, ma trận A được coi là có kích thước m × n trên một trường bất kỳ F.

**Số chiều của ảnh**
Cho ma trận A, nó là biểu diễn của một ánh xạ tuyến tính
 
được định nghĩa bởi
 .
Hạng của A được định nghĩa là số chiều của ảnh của  f.  Định nghĩa này có một ưu điểm là nó có thể áp dụng cho bất kỳ một ánh xạ tuyến tính nào mà không cần có ma trận biến đổi cụ thể.

**Hạng và số chiều của hạt nhân**
Cho biến đổi tuyến tính f như trên, hạng là n trừ đi số chiều của hạt nhân của f (số vô hiệu). Từ định lý về hạng và số vô hiệu ta suy ra định nghĩa này là tương đương với định nghĩa trên.

**Hạng cột – số chiều của không gian cột**
Hạng của ma trận A là số các cột độc lập tuyến tính c1, c2, …, ck tối đa của A; đây chính là số chiều của không gian cột của A (không gian cột là một không gian con của Fm được sinh bởi các vectơ cột của A, mà đây cũng chính là ảnh của ánh xạ tuyến tính f  liên hệ với A).

**Hạng hàng – số chiều của không gian hàng**
Hạng của ma trận A là số các hàng độc lập tuyến tính tối đa của A; đây là số chiều của không gian hàng của A.

**Phân tích hạng**
Hạng của A là số nguyên nhỏ nhất k sao cho A có thể được phân tích dưới dạng , trong đó C là một ma trận m × k và R là ma trận k × n. Thật vậy, với mọi số nguyên k, những điều sau đây là tương đương:  (xem phần trên)
# hạng cột của A nhỏ hơn hoặc bằng k,
# Tồn tại k cột c1, …, ck cỡ m sao cho mỗi cột của A là một tổ hợp tuyến tính của c1, …, ck,
# tồn tại một ma trận C cỡ m × k  và một ma trận R cỡ k × n sao cho 1=A = CR (nếu k là hạng, tích này gọi là phân tích hạng của A),
# tồn tại k hàng r1, …, rk cỡ n sao cho mỗi hàng của A là một tổ hợp tuyến tính của r1, …, rk,
# hạng hàng của A nhỏ hơn hoặc bằng k.
Để chứng minh mệnh đề (3) từ mệnh đề (2), chọn C là ma trận có các cột là c1, …, ck từ (2). Để chứng minh (2) từ (3), chọn c1, …, ck là các cột của C.
Từ sự tương đương  suy ra hạng hàng bằng hạng cột.
Tương tự trường hợp định nghĩa "số chiều của ảnh", có thể mở rộng khái niệm hạng cho một biến đổi tuyến tính bất kỳ: hạng của một biến đổi tuyến tính f : V → W là số chiều tối thiểu k của một không gian trung gian X sao cho f  có thể được biểu diễn dưới dạng ánh xạ hợp của hai ánh xạ V → X và X → W. Tuy nhiên, định nghĩa này không cho một cách hiệu quả để tính toán hạng (nên sẽ tốt hơn nếu dùng các định nghĩa thay thế). Xem thêm chi tiết tại phân tích hạng.

**Hạng theo giá trị suy biến**
Hạng của A bằng số giá trị suy biến khác 0, cũng là số phần tử khác 0 trên đường chéo của Σ trong phép phân tích giá trị riêng .

**Hạng theo định thức – kích thước của định thức con khác 0 lớn nhất**
Hạng của A là bậc lớn nhất trong bất kỳ các định thức con trong A. (Bậc của một định thức con là cỡ của ma trận vuông con mà nó là định thức.) Giống như cách định nghĩa theo phân tích hạng, định nghĩa này không cho một cách hiệu quả để thực hiện tính hạng của ma trận, nhưng lại hữu ích về mặt lý thuyết: bậc của một định thức con đơn có cận dưới chính là hạng của ma trận, điều này có thể hữu ích, ví dụ trong việc chứng minh rằng một số phép toán không làm hạng của ma trận giảm đi.
Ma trận chứa một định thức con bậc p khác 0 (của ma trận con cỡ p × p với định thức khác 0) cho thấy các hàng và cột của ma trận con đó là độc lập tuyến tính, và do đó các hàng và cột đó của ma trận đầy đủ là độc lập tuyến tính, vì vậy hạng cột và hạng hàng ít nhất là bằng hạng theo định thức. Tuy nhiên, điều ngược lại không dễ chứng tỏ. Để làm rõ sự tương đương giữa hạng theo định thức và hạng cột ta cần làm mạnh hơn mệnh đề rằng nếu span của n vectơ có số chiều p, thì chỉ cần p trong số n các vectơ ấy để sinh không gian đó (một cách tương đương, ta khẳng định rằng ta có thể chọn một hệ sinh là một tập hợp con của các vectơ): từ điều này suy ra rằng một tập hợp con của các hàng và một tập hợp con của các cột đồng thời xác định một ma trận con khả nghịch (hay có thể nói, nếu span của n vectơ có số chiều p, thì p vectơ trong số các vectơ ấy cũng có thể sinh ra không gian đó và tồn tại một tập hợp gồm p tọa độ mà chúng độc lập tuyến tính).

**Hạng tenxơ**

**Tính chất**
Giả thiết rằng A là một ma trận m × n, và ta định nghĩa ánh xạ tuyến tính f liên hệ với nó bởi 1=f(x) = Ax như trên.- Hạng của một ma trận m × n là một số nguyên không âm và không thể lớn hơn m hay n. Tức là,
: 
 Một ma trận có rank bằng min(m, n) được gọi là có hạng đầy đủ; nếu không thì gọi là thiếu hạng.
*Chỉ có ma trận không là có hạng bằng 0.
*, trong đó A là ma trận thực.- Nếu hai ma trận A và B là tương đương thì .- f là đơn ánh (hay "một-tới-một") khi và chỉ khi ma trận A có hạng bằng n (trong trường hợp này ta nói A có hạng cột đầy đủ).- f là toàn ánh khi và chỉ khi A có hạng bằng m (trong trường hợp này ta nói A có hạng hàng đầy đủ).- Nếu A là một ma trận vuông (tức là 1=m = n), thì A khả nghịch khi và chỉ khi A có hạng bằng n (tức là A có hạng đầy đủ).- Nếu B là một ma trận cỡ n × k bất kỳ thì ta có bất đẳng thức
: - Cho B là một ma trận n × k có hạng bằng n, ta có
: - Cho C là một ma trận l × m có hạng bằng m
: - Hạng của A bằng r khi và chỉ khi tồn tại một ma trận khả đảo X cỡ m × m và một ma trận khả đảo Y cỡ n × n sao cho
: 
 trong đó Ir là ma trận đơn vị r × r.- Bất đẳng thức hạng Sylvester: nếu A là một ma trận m × n và B là ma trận n × k, ta có
: 
 Đây là trường hợp đặc biệt của bất đẳng thức tiếp theo.- Bất đẳng thức của Frobenius: nếu các tích AB, ABC và BC được xác định thì ta có
: - Tính cộng dưới:
: 
 trong đó A và B có cùng kích thước. Ta có hệ quả rằng một ma trận có hạng bằng k có thể được viết dưới dạng tổng của nhiều nhất k ma trận có hạng bằng 1.- Hạng cộng với số chiều của hạt nhân của một ma trận bằng số cột của ma trận đó. (Đây là định lý về hạng và số vô hiệu.)- Nếu A là một ma trận trên trường số thực thì rank của A và rank của ma trận Gram tương ứng là bằng nhau. Do đó, đối với ma trận thực
: 
 Có thể thấy điều này bằng cách chứng minh rằng các không gian hạt nhân của chúng là như nhau, dẫn đến số chiều như nhau. Hạt nhân của ma trận Gram được cho bởi các vectơ x sao cho  Nếu điều kiện này được thỏa mãn, chúng ta cũng sẽ có - Nếu A là một ma trận trên trường số phức và  ký hiệu cho ma trận liên hợp phức của A và A∗ là chuyển vị liên hợp của A (tức là liên hợp Hermite của A), thì
: 

**Ứng dụng**
Một ứng dụng hữu ích, điển hình của việc tính hạng của ma trận là xét số nghiệm của một hệ phương trình tuyến tính. Theo định lý Rouché–Capelli, hệ phương trình không nhất quán nếu hạng của ma trận bổ sung lớn hơn hạng của ma trận hệ số. Ngược lại, nếu hạng của hai ma trận này bằng nhau thì hệ phải có ít nhất một nghiệm. Nghiệm là duy nhất khi và chỉ khi hạng này bằng số biến. Nếu không, nghiệm tổng quát có k tham số (biến) tự do trong đó k là hiệu giữa số biến và hạng. Trong trường hợp này (và giả sử hệ phương trình số thực hoặc phức) thì hệ phương trình có vô số nghiệm.
Trong lý thuyết điều khiển, hạng của ma trận có thể được sử dụng để xác định xem một hệ thống tuyến tính là có thể điều khiển được hay có thể quan sát được.
Trong lĩnh vực về độ phức tạp truyền thông, hạng của ma trận truyền thông của một chức năng đưa ra giới hạn về lượng truyền thông cần thiết để hai bên tính toán chức năng.

**Tổng quát hóa**
Có những cách khái quát khác nhau về khái niệm hạng cho ma trận trên các vành tùy ý, trong đó các khái niệm hạng cột, hạng hàng, số chiều của không gian cột và số chiều của không gian hàng của ma trận có thể không tương đồng với nhau hoặc có thể không tồn tại.
Coi ma trận là tenxơ, hạng tenxơ là khái niệm tổng quát cho các tenxơ tùy ý; đối với tenxơ với bậc lớn hơn 2 (ma trận là tenxơ bậc 2), hạng rất khó tính toán, không giống như đối với ma trận.
Có khái niệm về hạng cho các ánh xạ trơn giữa các đa tạp trơn. Nó bằng với hạng tuyến tính của đạo hàm.

**Xem thêm**
 Độc lập tuyến tính

**Chú thích**

**Tham khảo**

**Đọc thêm**
 isbn=978-0-521-38632-6- Kaw, Autar K. Two Chapters from the book Introduction to Matrix Algebra: 1. Vectors  and System of Equations - Mike Brookes: Matrix Reference Manual. 
Thể loại:Đại số tuyến tính