Phân tích LU với phép chọn trụ riêng phần là gì?
Phân tích LU tách một ma trận vuông A thành ma trận tam giác dưới L (với các phần tử trên đường chéo bằng 1) và ma trận tam giác trên U. Khi áp dụng phép chọn trụ riêng phần (theo hàng), ta còn thu được thêm vector hoán vị hàng P sao cho \(P \cdot A = L \cdot U\). Việc chọn trụ sẽ đổi chỗ hàng có phần tử trụ lớn nhất về đúng vị trí, nhờ đó tránh được việc chia cho 0 và cải thiện đáng kể độ ổn định số học. Đây là kiến thức đại số tuyến tính thuần túy, đúng như nhau ở mọi nơi.
Cách dùng máy tính
Chọn kích thước ma trận \(n\) (từ 2 đến 5), nhập các phần tử của ma trận vuông theo từng hàng, rồi chọn số chữ số có nghĩa muốn hiển thị. Nhấn tính toán để nhận về L, U, vector trụ P (đánh chỉ số từ 0) và định thức. Các ô vượt quá kích thước đã chọn sẽ được bỏ qua.
Thuật toán
Với mỗi cột \(k\), tìm hàng \(p\) (\(p \ge k\)) có \(|M[p][k]|\) lớn nhất, đổi nó về hàng \(k\), sau đó với mỗi hàng \(i\) nằm dưới \(k\), tính hệ số nhân \(\text{factor} = M[i][k] / M[k][k]\), lưu giá trị này vào phần tam giác dưới, rồi cập nhật các phần tử còn lại \(M[i][j] \mathrel{-}= \text{factor} \cdot M[k][j]\). Sau khi xử lý hết các cột, L chính là phần tam giác dưới ngặt của M với đường chéo bằng 1, còn U là phần tam giác trên bao gồm cả đường chéo. Định thức bằng dấu của hoán vị nhân với tích các phần tử trên đường chéo của U:
$$\det(A) = \operatorname{sign}(P) \prod_{i} U_{ii}$$
Ví dụ minh họa
Với \(A = [[2,1,1],[4,-6,0],[-2,7,2]]\), trụ đầu tiên là hàng 1 (vì \(|4|\) lớn nhất), nên P trở thành \((1,0,2)\). Quá trình khử cho ra \(L = [[1,0,0],[0.5,1,0],[-0.5,1,1]]\), \(U = [[4,-6,0],[0,4,1],[0,0,1]]\). Một lần đổi chỗ nghĩa là dấu \(-1\), do đó $$\det(A) = -1 \times (4 \cdot 4 \cdot 1) = -16.$$
Câu hỏi thường gặp
Vì sao \(L \cdot U\) không bằng ma trận A ban đầu của tôi? Do có phép chọn trụ, \(L \cdot U\) bằng ma trận A nhưng đã được sắp xếp lại các hàng theo P. Hãy sắp xếp lại các hàng của A theo P trước, khi đó \(L \cdot U\) sẽ khớp.
Nếu ma trận của tôi là suy biến thì sao? Khi đó sẽ xuất hiện số 0 trên đường chéo của U và định thức bằng 0; phép phân tích vẫn được hiển thị đầy đủ.
Vector trụ có đánh chỉ số từ 0 không? Có. \(P[i]\) là chỉ số của hàng gốc trong A mà cuối cùng nằm ở hàng \(i\).