Archive

Posts Tagged ‘simultaneous diagonalization’

Đồng chéo hóa hai ma trận

March 16, 2010 4 comments

Trong bài trước tôi có nhắc đến giải thuật Jacobi cho bài toán chéo hóa. Bây giờ ta tiếp tục đề cập đến bài toán tương tự cho vấn đề đồng chéo hóa hai ma trận về góc độ lý thuyết lẫn phương pháp xấp xỉ.

Đầu tiên chúng ta cần chú ý một tính chất quan trọng của ma trận xác định dương.

Định lý 1. (Phân tích Cholesky)

Giả sử là ma trận Hermite xác định dương, khi đó tồn tại duy nhất ma trận tam giác dưới có các phần tử trên đường chéo chính đều dương sao cho A=LL^*.

Chứng minh

Ta tìm ma trận
sao cho A=LL^*.

Khi đó

Trong đó với cột đầu tiên

suy ra .

suy ra .

suy ra .

Giả sử tính được cột đầu của , ta tính cột thứ như sau

suy ra

.

suy ra

Ma trận xây dựng như vậy thỏa mãn yêu cầu bài toán.

Bây giờ giả sử tồn tại hai phân tích suy ra là một ma trận đường chéo. Ta có suy ra . Do đó D^2=L_2^{-1}L_2 L_2^* (L_2^*)^{-1}=I suy ra .  Điều này chứng tỏ phân tích Cholesky của ma trận là duy nhất.

Trong Mathematica chúng ta sử dụng lệnh CholeskyDecomposition[m] để tìm phân tích Cholesky của ma trận .

Ví dụ. Tìm phân tích Cholesky của ma trận

Ta làm như nhau

L=CholeskyDecomposition[{{1, 1/2, 1/3, 1/4, 1/5},
{1/2, 1/3, 1/4, 1/5, 1/6}, {1/3, 1/4, 1/5, 1/6, 1/7},
{1/4, 1/5, 1/6, 1/7, 1/8}, {1/5, 1/6, 1/7, 1/8, 1/9}}];
Print["L=",MatrixForm[L]];

Kết quả thu được

Theo ý tưởng chứng minh của định lý bạn cũng có thể tự viết một hàm  tìm phân tích Cholesky xem như bài tập lập trình nhỏ với Mathematica.

Về vấn đề phân tích ma trận, có thể tham khảo thêm ở đây , hay bất kì tài liệu nào về Phương pháp Tính cho Đại số Tuyến tính.

Bây giờ trở lại bài toán đồng chéo hóa.

Định lý 2. Nếu A, B là hai ma trận Hermite và A là xác định dương. Khi đó luôn tồn tại ma trận T sao cho T^* A T=I, và T^* B T có dạng đường chéo.

Chứng minh

Theo Định lý 1, ta xây dựng được phân tích Cholesky của ma trận A=LL^*, hay L^{-1}A(L^*)^{-1}=I. Để ý rằng C= (L^*)^{-1} B L^{-1} cũng Hermite, theo kết quả quen thuộc của bài toán chéo hóa là xây dựng được ma trận unita U sao cho U C U^{*} là ma trận đường chéo. Đặt T=(L^{-1})^*U^{*}, chính là ma trận cần tìm.

(còn tiếp…)

Advertisements