Dạng hàng bậc thang

Trong đại số tuyến tính, dạng bậc thang của một ma trận là hình dạng thu được của nó sau khi thực hiện phép khử Gauss.

Một ma trận ở dạng hàng bậc thang có nghĩa là phép khử Gauss đã được tiến hành trên các hàng của nó, còn dạng cột bậc thang nghĩa là phép khử Gauss đã được tiến hành trên các cột. Nói cách khác, một ma trận ở dạng cột bậc thang nếu ma trận chuyển vị của nó ở dạng hàng bậc thang. Vì thế, từ đây bài viết này chỉ xét dạng hàng bậc thang. Dạng cột bậc thang có các tính chất tương tự dạng hàng bậc thang, và có thể dễ dàng suy ra được bằng cách lấy chuyển vị của ma trận. Một cách cụ thể, một ma trận ở dạng hàng bậc thang nếu:

tất cả các hàng của ma trận mà chỉ gồm các số 0 (gọi là hàng zero) đều được đặt ở dưới cùng
hệ số chính (hay phần tử chính) của một hàng không phải zero luôn ở phía bên phải của hệ số chính của hàng ngay trên nó.

Một số tài liệu còn thêm điều kiện rằng các hệ số chính phải đều bằng 1.

Hai điều kiện trên kéo theo rằng tất cả các phần tử ở cùng cột và bên dưới hệ số chính đều là 0.

Sau đây là một ví dụ về một ma trận 3×5 ở dạng hàng bậc thang, nhưng chưa phải là ở dạng hàng bậc thang rút gọn (xem ở dưới).

:
\left[ \begin{array}{ccccc}
1 & a_0 & a_1 & a_2 & a_3 \\
0 & 0 & 2 & a_4 & a_5 \\
0 & 0 & 0 & 1 & a_6
\end{array} \right]

Từ dạng hàng bậc thang của một ma trận có thể suy ra nhiều tính chất của nó, thí dụ như hạng và hạt nhân.

Dạng hàng bậc thang rút gọn
Một ma trận ở dạng hàng bậc thang rút gọn (còn gọi là dạng chính tắc hàng) nếu nó thỏa mãn ba điều kiện sau:

Nó ở dạng hàng bậc thang
Phần tử chính của hàng khác 0 đều là 1 (gọi là số 1 chính)
Ngoài số 1 chính ra, tất cả các phần tử khác cùng cột với nó đều là 0.

Dạng hàng bậc thang rút gọn của một ma trận có thể được tính bằng phép khử Gauss–Jordan. Không giống như dạng hàng bậc thang, dạng hàng bậc thang rút gọn của một ma trận là duy nhất và không phụ thuộc vào giải thuật được sử dụng để tính nó. Với một ma trận đã cho, mặc dù dạng hàng bậc thang không phải là duy nhất, tất cả các dạng bậc thang và bậc thang rút gọn của ma trận đều có cùng số hàng zero và các phần tử chính của các dạng đều có chỉ số giống nhau. Nếu không, chuyển sang vế phải tất cả các số hạng của các phương trình trừ các số 1 chính, biểu thị các biến chính dưới dạng các hằng số hoặc hàm tuyến tính của các biến còn lại, nếu có.

Mã giả
Mã giả sau đây chuyển đổi một ma trận về dạng hàng bậc thang rút gọn:
function ToReducedRowEchelonForm(Matrix M) is
lead:= 0
rowCount:= the number of rows in M
columnCount:= the number of columns in M
for 0 ≤ r < rowCount do
if columnCount ≤ lead then
stop function
end if
i = r
while M[i, lead] = 0 do
i = i + 1
if rowCount = i then
i = r
lead = lead + 1
if columnCount = lead then
stop function
end if
end if
end while
if i ≠ r then Swap rows i and r
Divide row r by M[r, lead]
for 0 ≤ i < rowCount do
if i ≠ r do
Subtract M[i, lead] multiplied by row r from row i
end if
end for
lead = lead + 1
end for
end function
Mã giả sau đây chuyển ma trận về dạng hàng bậc thang (chưa rút gọn):
function ToRowEchelonForm(Matrix M) is
nr:= number of rows in M
nc:= number of columns in M

for 0 ≤ r < nr do
allZeros:= true
for 0 ≤ c < nc do
if M[r, c] != 0 then
allZeros:= false
exit for
end if
end for
if allZeros = true then
In M, swap row r with row nr
nr:= nr - 1
end if
end for

p:= 0
while p < nr and p < nc do
label nextPivot:
r:= 1
while M[p, p] = 0 do
if (p + r) <= nr then
p:= p + 1
goto nextPivot
end if
In M, swap row p with row (p + r)
r:= r + 1
end while
for 1 ≤ r < (nr - p) do
if M[p + r, p] != 0 then
x:= -M[p + r, p] / M[p, p]
for p ≤ c < nc do
M[p + r, c]:= M[p, c] x + M[p + r, c]
end for
end if
end for
p:= p + 1
end while
end function

Chú thích

Tham khảo

.
.

Liên kết ngoài

Interactive Row Echelon Form with rational output