Một lớp bài toán quan trọng trong đại số tuyến tính là tìm những vector chỉ thay đổi độ dài chứ không thay đổi phương và hướng khi đưa qua một ánh xạ tuyến tính. Nói cách khác, xét \(T: V\rightarrow V\), tìm các vector \(x\) sao cho \(T(x) = \lambda x\) trong đó \(\lambda\) là một số thực.

Vì \(T\) là một toán tử tuyến tính nên có thể biểu diễn bằng một ma trận \(A\). Số \(\lambda\) được gọi là trị riêng (eigenvalue) của \(A\) (hoặc của \(T\)) nếu phương trình \(Ax=\lambda x\) có nghiệm \(x\neq 0\). Các nghiệm \(x\) tìm được được gọi là vector riêng (eigenvector) của \(A\) (hoặc của \(T\)) ứng với trị riêng \(\lambda\).

Nếu \(x\) là một vector riêng của \(A\) thì \(cx\) (\(c\in \mathbb{R}\)) cũng là vector riêng của \(A\). Ứng với một trị riêng có nhiều vector riêng, chúng tạo thành một không gian vector, gọi là không gian riêng (eigenspace).

This post is being reviewed. Please help me improve it by reporting mistakes and suggesting changes to my email.

Phương trình đặc trưng

Để tìm các eigenvalue trong \(Ax = \lambda x\), ta viết lại thành \(Ax = \lambda Ix\), tức là:

\[(A-\lambda I)x = 0\]

Đây là hệ thuần nhất, điều kiện có nghiệm không tầm thường là \(\mathrm{det}(A-\lambda I) = 0\). Phương trình này được gọi là phương trình đặc trưng của \(A\) (characteristic equation). Vế trái của phương trình gọi là đa thức đặc trưng (characteristic polynomial). Tập các eigenvector ứng với \(\lambda\) chính là eigenspace \(\mathrm{Ker}(A-\lambda I)\). Số chiều của hạt nhân này được gọi là số bội hình học (geometric multiplicity) của \(\lambda\).

Phương trình đặc trưng là phương trình ẩn \(\lambda\), bậc \(n\), có \(n\) nghiệm, thực hoặc phức, bội hoặc đơn. Đây là phát biểu của định lý đại số cơ bản (Fundamental Theorem of Algebra). Số bội của nghiệm \(\lambda\) nào đó trong phương trình đặc trưng gọi là số bội đại số (algebraic multiplicity) của \(\lambda\). Nếu \(A\) là ma trận đối xứng cấp \(n\) thì nó có \(n\) eigenvalue thực, \(n\) eigenvector trực chuẩn tương ứng.

Hai ma trận đồng dạng thì có cùng phương trình đặc trưng.

Bài toán chéo hóa ma trận

Cho phép tự đồng cấu \(T: V\rightarrow V\) và \(A\) là ma trận của ánh xạ dưới cơ sở \(B=\{s_1, s_2, \dots, s_n\}\). Giả sử ma trận \(A\) vuông bậc \(n\) có \(n\) eigenvector độc lập tuyến tính. Ta biết rằng ma trận \(A\) sẽ thay đổi phụ thuộc vào cách chọn cơ sở trong \(V\). Ta quan tâm đến một ma trận \(\Lambda\) cũng đại diện cho ánh xạ \(T\) nhưng trong một cơ sở khác (\(B'\)), sao cho \(\Lambda\) là ma trận chéo. Gọi

\[p_1, p_2, \dots, p_n\]

là các eigenvector của \(A\). Hình thành ma trận vuông \(P\) bằng cách dựng các eigenvector thành cột và ghép lại. Ta có:

\[\begin{aligned} AP &= A\begin{bmatrix}p_1 & p_2 & \dots & p_n\end{bmatrix}\\ &= \begin{bmatrix}Ap_1 & Ap_2 & \dots & Ap_n\end{bmatrix}\\ &= \begin{bmatrix}\lambda_1p_1 & \lambda_2p_2 & \dots & \lambda_np_n\end{bmatrix}\\ &= \begin{bmatrix}p_1 & p_2 & \dots & p_n\end{bmatrix} \begin{bmatrix} \lambda_1 & 0 & \dots & 0\\ 0 & \lambda_2 & \dots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \dots & \lambda_n \end{bmatrix}\\ &:= P\Lambda\\ \Rightarrow P^{-1}AP &= P^{-1}P\Lambda\\ &= \Lambda \end{aligned}\]

Như vậy \(\Lambda\) là ma trận chéo, đồng dạng với \(A\), là biểu diễn của \(T\) ở cơ sở \(B'\). Còn \(P\) là ma trận chuyển cơ sở từ \(B'\) sang \(B\) (theo nghĩa \(P[x]_{B'} = [x]_B\)).

Chúng ta không thực sự quan tâm đến giá trị cụ thể của \(B\) và \(B'\). Tuy nhiên, ta vẫn có thể tìm \(B'\) dựa vào ý tưởng rằng vì \(P\) chuyển từ \(B'\) sang \(B\) nên các cột của \(P\) là các vector \(B'\) biểu diễn ở cơ sở \(B\). Do đó các vector:

\[p_{1j}s_1 + p_{2j}s_2 + \dots + p_{nj}s_n\]

(với \(j\) chạy từ \(1\) đến \(n\) và \(s_i\) là các vector thuộc cơ sở \(B\))

hợp thành cơ sở \(B'\).

Nhận xét: Như đã nói, các cột của \(P\) là các vector \(B'\) biểu diễn ở cơ sở \(B\). Điều này cũng cho thấy sự thống nhất với cách xây dựng \(P\) – dùng các eigenvector của \(A\), vốn đang được biểu diễn dưới cơ sở \(B\).


Trong trường hợp \(A\) có \(n\) eigenvector trực chuẩn \(p_1, p_2, \dots, p_n\) thì việc xây dựng \(P\) qua cách mô tả ở trên cho thấy \(P\) là ma trận trực giao (tức là \(P^TP=I\)). Quá trình chéo hóa vẫn được thực thi bình thường.

Dấu hiệu chéo hóa được

“Chéo hóa được” (diagonalizable) có nghĩa là tìm được ma trận \(P\) sao cho \(P^{-1}AP\) là ma trận chéo. Một số định lý:

  1. Điều kiện cần và đủ để \(A\) chéo hóa được là \(A\) có \(n\) eigenvector độc lập tuyến tính
  2. Nếu \(A\) có \(n\) eigenvalue đôi một khác nhau thì nó cũng có \(n\) eigenvector độc lập tuyến tính và \(A\) chéo hóa được

“Chéo hóa trực giao được” (orthogonally diagonalizable) có nghĩa là tìm được ma trận trực giao \(P\) sao cho \(P^{-1}AP\) là ma trận chéo. Các điều sau là tương đương với nhau:

  1.  \(A\) chéo hóa trực giao được
  2.  \(A\) có \(n\) eigenvector trực chuẩn
  3.  \(A\) là ma trận thực đối xứng

Một số tính chất ở ma trận đối xứng

  • Hai eigenvector thuộc hai eigenspace khác nhau sẽ trực giao với nhau.
  • Số bội đại số, số bội hình học, và số chiều của eigenspace của một eigenvalue bằng nhau. Nói cách khác, nếu eigenvalue có số bội nghiệm trong phương trình đặc trưng là \(m\) thì có \(m\) eigenvector độc lập tuyến tính tương ứng với nó.

▶ Chứng minh

▶ \(A\) chéo hóa được \(\Leftrightarrow\) \(A\) có \(n\) eigenvector độc lập tuyến tính

Chiều thuận: \(A\) chéo hóa được \(\Rightarrow\) \(A\) có \(n\) eigenvector độc lập tuyến tính

Vì \(A\) chéo hóa được nên tồn tại ma trận \(P\) khả đảo sao cho \(P^{-1}AP\) là ma trận chéo \(\Lambda\). Ta có:

\[\begin{aligned} P^{-1}AP &= \Lambda\\ \Rightarrow AP &= P\Lambda\\ \Rightarrow \begin{bmatrix}Ap_1 & Ap_2 & \dots & Ap_n\end{bmatrix} &= \begin{bmatrix} \lambda_1p_1 & \lambda_2p_2 & \dots & \lambda_np_n \end{bmatrix}\\ \Rightarrow Ap_j &= \lambda_jp_j \end{aligned}\]

Nên \(p_j\) là các eigenvector ứng với \(\lambda_j\) là các eigenvalue của \(A\). Mặt khác vì \(P\) khả đảo nên các cột của \(P\) là độc lập tuyến tính. Vậy \(A\) có các eigenvector độc lập tuyến tính

Chiều nghịch: \(A\) có \(n\) eigenvector độc lập tuyến tính \(\Rightarrow\) \(A\) chéo hóa được

Điều này đã được chứng minh qua việc phân tích bài toán chéo hóa ở trên. Chúng ta xây dựng mảng \(P\) từ các eigenvector này và chứng minh \(P^{-1}AP\) là ma trận chéo.

▶ \(A\) có \(n\) eigenvalue khác nhau thì \(A\) chéo hóa được

Giả sử \(A\) không chéo hóa được, tức là có \(n\) eigenvector phụ thuộc tuyến tính. Ta có thể sắp xếp thứ tự các eigenvector sao cho \(r < n\) vector đầu tiên là độc lập tuyến tính. Suy ra:

\[p_{r+1} = c_1p_1 + c_2p_2 + \dots + c_rp_r\\ Ap_{r+1} = c_1Ap_1 + c_2Ap_2 + \dots + c_rAp_r\\ \lambda_{r+1}p_{r+1} = c_1\lambda_1p_1 + c_2\lambda_2p_2 + \dots + c_r\lambda_rp_r\\ \lambda_{r+1}(c_1p_1 + c_2p_2 + \dots + c_rp_r) = c_1\lambda_1p_1 + c_2\lambda_2p_2 + \dots + c_r\lambda_rp_r\\ c_1(\lambda_{r+1}-\lambda_1)p_1 + c_2(\lambda_{r+1}-\lambda_2)p_2 + \dots + c_r(\lambda_{r+1}-\lambda_r)p_r = 0\]

Vì \(p_1, p_2, \dots, p_r\) độc lập tuyến tính nên:

\[c_i(\lambda_{r+1} - \lambda_i) = 0\]

với mọi \(i\) chạy từ 1 đến \(r\). Do \(p_{r+1}\) là một eigenvector nên \(p_{r+1}\neq 0\) và các \(c_i\) không đồng thời bằng 0, tức là có ít nhất một giá trị \(c_i\) nào đó khác 0, dẫn đến \(\lambda_{r+1} - \lambda_i = 0\). Chứng tỏ \(A\) có \(n\) eigenvalue không hoàn toàn đôi một khác nhau.

Vậy ta đã chứng minh được \(A\) không chéo hóa được \(\Rightarrow\) \(A\) có \(n\) eigenvalue không đôi một khác nhau.

Điều này tương đương với \(A\) có \(n\) eigenvalue đôi một khác nhau \(\Rightarrow\) \(A\) chéo hóa được.

▶ \(A\) chéo hóa trực giao được \(\Leftrightarrow\) \(A\) có \(n\) eigenvector trực chuẩn

Chiều thuận: \(A\) chéo hóa trực giao được nên theo định nghĩa \(P\) là ma trận trực giao. Chứng minh tương tự như ở phần trên, ta cũng có được các cột của \(P\) là các eigenvector của \(A\). Mặt khác do \(P\) trực giao nên các eigenvector này cũng trực chuẩn.

Chiều nghịch: Do \(A\) có \(n\) eigenvector trực chuẩn nên chúng cũng độc lập tuyến tính, dẫn đến \(A\) chéo hóa được. Mặt khác với cách xây dựng ma trận \(P\) từ các eigenvector nên \(P\) trực giao. Vậy \(A\) chéo hóa trực giao được.

▶ \(A\) chéo hóa trực giao được \(\Leftrightarrow\) \(A\) là ma trận đối xứng

Chiều thuận: Vì \(A\) chéo hóa trực giao được nên \(\Lambda = P^{-1}AP\) là ma trận chéo, tức là \(A = P\Lambda P^T\).

Ta có:

\[\begin{aligned} A^T &= (P\Lambda P^T)^T\\ &= (P^T)^T\Lambda^T P^T\\ &= P\Lambda P^T = A\\ \end{aligned}\]

Vậy \(A\) là ma trận đối xứng.

Chiều nghịch: Vì \(A\) đối xứng nên \(A\) có \(n\) eigenvalue thực và \(n\) eigenvector trực chuẩn tương ứng. Suy ra \(A\) chéo hóa trực giao được.

Eigenvector tổng quát

Đôi lúc chúng ta không thể tìm được đủ \(n\) eigenvector độc lập tuyến tính để chéo hóa ma trận. Tuy nhiên nếu ta có thể tìm được một vector

Giả sử \(\lambda\) có bội số đại số là \(m\) và bội số hình học là \(\mu_i\ (1\leq \mu\leq m)\), ta đã biết phương trình:

\[(A-\lambda I)x = 0\]

cho ra \(\mu\) eigenvector độc lập tuyến tính. Ta cần phải sinh thêm \(m-\mu\) vector nữa để tạo thành họ \(m\) vector độc lập tuyến tính. Với mỗi \(x_i\) trong \(q\) eigenvector tìm được, xét phương trình ẩn \(x^*\):

\[(A-\lambda I)x^{*} = x_i\]

Nhân tiền hai vế với \((A-\lambda I)\) ta có:

\[(A-\lambda I)^2x^{*} = 0\]

Nghiệm \(x^{*}\) tìm được gọi là eigenvector tổng quát bậc 2 (vì số lũy thừa của \((A-\lambda I)\) là 2), ta cần tìm các eigenvector tổng quát nào độc lập tuyến tính với các eigenvector (không kể số bậc) đã tìm được.

Dạng Jordan của ma trận

Mọi ma trận \(A\) đều đồng dạng với một ma trận \(J\) có dạng sau:

\[J = \begin{bmatrix} J_1 & O & \dots & O\\ O & J_2 & \dots & O\\ \vdots & \vdots & \ddots & \vdots\\ O & O & \dots & J_k\\ \end{bmatrix}\]

Trong đó \(O\) là khối ma trận vuông với tất cả các phần tử bằng 0, và \(J_i\) là một khối Jordan.

Mỗi khối Jordan ứng với \(\lambda\), ký hiệu \(J(\lambda)\) là một ma trận vuông mà đường chéo chính chỉ bao gồm \(\lambda\) và đường chéo ngay trên đường chéo chính chỉ bao gồm các số 1:

\[J(\lambda) = \begin{bmatrix} \lambda & 1 & \ & \ & \ & \ \\ \ & \lambda & 1 & \ & \ & \ \\ \ & \ & \lambda & \ddots & \ & \ \\ \ & \ & \ & \ddots & \ddots & \\ \ & \ & \ & \ & \lambda & 1\\ \ & \ & \ & \ & \ & \lambda\\ \end{bmatrix}\]

Số khối Jordan trong dạng Jordan (\(k\)) bằng số chiều của eigenspace bậc 1. Tức là:

\[k = \mu_1 + \mu_2 + \dots + \mu_s\]

với \(\mu_i\) là bội số hình học của \(\lambda_i\), \(s\) là số nghiệm phân biệt của phương trình đặc trưng.

Một eigenvalue có thể ứng với nhiều khối Jordan. Số khối Jordan ứng với eigenvalue \(\lambda_i\) bằng \(\mu_i\). Tổng kích thước các khối Jordan ứng với eigenvalue \(\lambda_i\) bằng \(m_i\) (bội số đại số). Tuy nhiên kích thước của từng khối Jordan lại phụ thuộc vào cách mà các eigenvector tổng quát được sinh ra.

Ví dụ

Giả sử \(A\) là ma trận \(7\times 7\) với 3 eigenvalue phân biệt: \(\lambda_1 = 1\) (alg mult = 1, geom mult = 1), \(\lambda_2 = 2\) (alg mult = 2, geom mult = 1), và \(\lambda_3 = 3\) (alg mult = 4, geom mult = 2).

Xét từng eigenvalue:

  1. \(\lambda_1 = 1\). Có 1 Jordan block, với tổng kích thước là 1. Vậy:

\[J_{1,1} = [\lambda_1]\]

  2. \(\lambda_2 = 2\). Có 1 Jordan block, với tổng kích thước là 2. Vậy:

\[J_{2,1} = \begin{bmatrix} \lambda_2 & 1\\ 0 & \lambda_2 \end{bmatrix}\]

  3. \(\lambda_3 = 3\). Có 2 Jordan block, với tổng kích thước là 4. Vậy có các trường hợp:

  •  \(J_{3,1} = \begin{bmatrix} 3 \end{bmatrix}\quad J_{3,2} = \begin{bmatrix} 3 & 1 & \ \\ \ & 3 & 1\\ \ & \ & 3 \end{bmatrix}\), xảy ra khi bạn dùng một eigenvector để sinh ra hai eigenvector tổng quát

  •  \(J_{3,1} = \begin{bmatrix} 3 & 1\\ 0 & 3 \end{bmatrix}\quad J_{3,2} = \begin{bmatrix} 3 & 1\\ 0 & 3 \end{bmatrix}\), xảy ra khi bạn dùng mỗi eigenvector để sinh ra thêm một eigenvector tổng quát

Như vậy dạng Jordan của ma trận trên có thể là:

\[\left[\begin{array}{c|cc|ccc|c} 1 & \ & \ & \ & \ & \ & \ \\ \hline \ & 2 & 1 & \ & \ & \ & \ \\ \ & 0 & 2 & \ & \ & \ & \ \\ \hline \ & \ & \ & 3 & 1 & 0 & \ \\ \ & \ & \ & 0 & 3 & 1 & \ \\ \ & \ & \ & 0 & 0 & 3 & \ \\ \hline \ & \ & \ & \ & \ & \ & 3 \\ \end{array}\right]\]

hoặc là

\[\left[\begin{array}{c|cc|cc|cc} 1 & \ & \ & \ & \ & \ & \ \\ \hline \ & 2 & 1 & \ & \ & \ & \ \\ \ & 0 & 2 & \ & \ & \ & \ \\ \hline \ & \ & \ & 3 & 1 & \ & \ \\ \ & \ & \ & 0 & 3 & \ & \ \\ \hline \ & \ & \ & \ & \ & 3 & 1 \\ \ & \ & \ & \ & \ & 0 & 3 \\ \end{array}\right]\]

Tùy vào giá trị cụ thể của ma trận sẽ dẫn đến cách sinh eigenvector tổng quát khác nhau, kéo theo dạng Jordan khác nhau. Tất cả dạng Jordan của một ma trận đều là hoán vị của nhau, nếu bỏ qua các hoán vị này thì dạng Jordan là duy nhất.

Trong những phần tiếp theo chúng ta sẽ nghiên cứu một số tính chất liên quan đến dạng Jordan và thuật toán.

Ý nghĩa của \(\mathrm{Nullity(A-\lambda I)}\)

Gọi \(J\) là dạng Jordan của \(A\). Ta có:

\[A = P^{-1}JP\\ \Leftrightarrow A - \lambda I = P^{-1}\begin{bmatrix} J_1-\lambda I_{n_1} & O & \dots & O\\ O & J_2-\lambda I_{n_2} & \dots & O\\ \vdots & \vdots & \ddots & \vdots\\ O & O & \dots & J_k-\lambda I_{n_k}\\ \end{bmatrix}P\]

(tức là mỗi phần tử trên đường chéo của \(J\) bị trừ đi \(\lambda\))

Để ý thấy rằng nếu một khối Jordan \(J_i\) nào đó tương ứng với \(\lambda\), thì \(J_i - \lambda I_{n_i}\) có đường chéo chính bằng 0 và đường chéo ngay trên chéo chính bằng 1:  \(\begin{bmatrix} 0 & 1\\ 0 & 0 \end{bmatrix}\), hoặc \(\begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ 0 & 0 & 0 \end{bmatrix}\), hoặc \(\begin{bmatrix} 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix}\), ……

Còn nếu khối \(J_i\) không tương ứng với \(\lambda\) thì các đường chéo của nó đều khác 0.

Ta thừa nhận điều sau: Số chiều của hạt nhân của hai ma trận đồng dạng thì bằng nhau. Số chiều của \(J-\lambda I\) (lưu ý là \(J\) – dạng Jordan của \(A\), không phải khối Jordan \(J_i\)) bằng số dòng 0 của nó. Như vậy chỉ có các khối Jordan ứng với \(\lambda\) đóng vai trò trong số chiều của hạt nhân \(J-\lambda I\). Mỗi khối Jordan như vậy có một hàng 0, vậy các đại lượng sau là bằng nhau:

  • Số khối Jordan ứng với \(\lambda\)
  • Nullity của \(J-\lambda I\)
  • Nullity của \(A-\lambda I\)
  • Số chiều của eigenspace bậc 1
  • Số eigenvector độc lập tuyến tính của \(A\) tìm được qua phương trình \((A-\lambda I)x = 0\)

Ý nghĩa của \(\mathrm{Nullity}(A-\lambda I)^j - \mathrm{Nullity}(A-\lambda I)^{j-1}\)

Không khó để nhận ra: Lũy thừa của một ma trận đường chéo bằng ma trận mới với mỗi phần tử trên đường chéo được nâng lên với lũy thừa đó. Nếu đường chéo được cấu thành từ những khối ma trận vuông thì cũng áp dụng tương tự.

\[(A-\lambda I)^j = (P^{-1}JP)(P^{-1}JP)...(P^{-1}JP) = P^{-1}J^jP\\ \Leftrightarrow (A-\lambda I)^j = P^{-1}\begin{bmatrix} (J_1-\lambda I_{n_1})^j & O & \dots & O\\ O & (J_2-\lambda I_{n_2})^j & \dots & O\\ \vdots & \vdots & \ddots & \vdots\\ O & O & \dots & (J_k-\lambda I_{n_k})^j\\ \end{bmatrix}P\]

Giả sử ta viết gọn: \(H_i = J_i - \lambda I_{n_i}\).

Tương tự ta cũng thấy được nullity của \((A-\lambda I)^j\) cũng được quyết định bởi những khối Jordan ứng với \(\lambda\). Như đã bàn ở trên, \(H_i\), giả sử \(n_i = 4\), có dạng:

\[H_i = \begin{bmatrix} 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix}\]

Khi nâng lũy thừa của \(J_i - \lambda I_{n_i}\) lên bậc 2, bậc 3, …, một dấu hiệu hiện ra:

\[H_i^2 = \begin{bmatrix} 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\\ H_i^3 = \begin{bmatrix} 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\\ H_i^4 = \begin{bmatrix} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\\ \vdots\\ \vdots\\ H_i^j = \begin{bmatrix} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\\\]

Vậy:

\[\mathrm{Nullity}(H_i^j) = \begin{cases}j, & j \leq n_i\\ n_i, & j > n_i\end{cases}\\ \Rightarrow \mathrm{Nullity}(H_i^j) - \mathrm{Nullity}(H_i^{j-1}) = \begin{cases}1, & j \leq n_i\\ 0, & j > n_i\end{cases}\]

Ngoài ra, vì:

\[\mathrm{Nullity}(A-\lambda I)^j = \sum_i \mathrm{Nullity}(H_i^j)\]

(với mọi \(i\) sao cho \(J_i\) tương ứng với \(\lambda\)), nên:

\[\mathrm{Nullity}(A-\lambda I)^j - \mathrm{Nullity}(A-\lambda I)^{j-1} = \sum_i (\mathrm{Nullity}(H_i^j) - \mathrm{Nullity}(H_i^{j-1}))\]

Nhắc lại rằng \(\mathrm{Nullity}(H_i^j)\) \(- \mathrm{Nullity}(H_i^{j-1})\) bằng 0 nếu \(j > n_i\), ngược lại bằng 1. Vậy \(\mathrm{Nullity}(A-\lambda I)^j\) \(- \mathrm{Nullity}(A-\lambda I)^{j-1}\) bằng số khối Jordan ứng với \(\lambda\) và có kích thước ít nhất là \(j\).

Đặt:

\[d_1 = \mathrm{Nullity}(A-\lambda I)\] \[d_j = \mathrm{Nullity}(A-\lambda I)^j - \mathrm{Nullity}(A-\lambda I)^{j-1},\quad (j > 1)\]

Ta thấy rằng \(\{d_j\}\) là một dãy giảm dần về 0 khi \(j\) đạt đến kích thước của khối Jordan lớn nhất ứng với \(\lambda\).

Thuật toán tìm dạng Jordan

  1. Tìm các eigenvalue phân biệt \(\lambda_1, \lambda_2, \dots, \lambda_n\) và các alg mult và geom mult đi kèm với nó.
  2. Với mỗi eigenvalue \(\lambda\) với alg mult = \(m\) và geom mult = \(\mu\) (số eigenvector độc lập tuyến tính tìm được), không gian riêng tổng quát (generalized eigenspace) \(E^j_{\lambda}\) được định nghĩa:
\[E^j_{\lambda} = \{x: (A-\lambda I)^jx = 0\}\\ \Rightarrow \mathrm{dim}E^j_{\lambda} = \mathrm{Nullity}(A-\lambda I)^j\]

Ta sẽ lần lượt tính \(E^1_{\lambda}\), \(E^2_{\lambda}\), … và dừng lại tại \(E^j_{\lambda}\) khi số chiều của không gian riêng tổng quát này đạt \(m\).

  1. Tính các giá trị \(d_1, d_2, \dots, d_j\)
  2. Ta lập một sơ đồ gồm \(k\) hàng như sau. Hàng \(i\) có \(d_i\) vector. Ví dụ ta có các giá trị \(d\) lần lượt là 5, 3, 3, 2. Điều đó có nghĩa là có 5 khối Jordan có kích thước ít nhất 1x1, 3 khối Jordan có kích thước ít nhất 2x2, 3 khối Jordan có kích thước ít nhất 3x3, và 2 khối Jordan có kích thước ít nhất 4x4.
     \(\Box \Box \Box \Box \Box\)
     \(\Box \Box \Box\)
     \(\Box \Box \Box\)
     \(\Box \Box\)

  3. Xem số ô trên từng cột của sơ đồ: 4, 4, 3, 1, 1. Đây là các kích thước cụ thể của 5 khối Jordan ứng với \(\lambda\).
  4. Lặp lại bước 2 với eigenvalue tiếp theo cho đến khi hết danh sách eigenvalue.

Thuật toán tìm ma trận chuyển cơ sở

Trong bài toán chéo hóa được, ma trận chuyển cơ sở \(P\) giữa \(A\) và ma trận chéo được hình thành từ những eigenvector của \(A\) dựng thành cột. Ý tưởng cho ma trận chuyển cơ sở \(P\) giữa \(A\) và dạng Jordan cũng tương tự, với việc sử dụng các eigenvector tổng quát.

Với mỗi eigenvalue \(\lambda\), xét sơ đồ ô vuông miêu tả ở trên. Ta lần lượt điền từ hàng dưới cùng đến hàng trên cùng. Tại hàng \(i\) ta điền các eigenvector chỉ thuộc \(E^i_{\lambda}\) mà không thuộc \(E^{i-1}_{\lambda}\) và nó phải độc lập tuyến tính với các eigenvector đã điền trong cùng hàng đó. Nói cách khác, eigenvector được điền vào phải độc lập tuyến tính với các eigenvector đã điền. Ngoài ra thì nếu tại một ô ta điền eigenvector \(p\) thì ô ngay phía trên đó ta điền \((A-\lambda I)p\)

Lần lượt liệt kê ra các eigenvector đã điền trong sơ đồ theo thứ tự từ trái sang phải, từ trên xuống dưới. Tiếp nối danh sách này với các eigenvector ứng với các eigenvalue khác. Dựng tọa độ của tất cả các eigenvector (biểu diễn qua cơ sở hiện tại của \(A\)) thành cột và ghép chúng lại theo thứ tự đó để ra được \(P\).

Dạng Jordan ứng với \(P\) xây dựng theo cách này cũng phải được xây dựng tương tự. Lần lượt liệt kê ra số ô trên các cột từ trái sang phải (e.g. 4, 4, 3, 1, 1). Tiếp nối danh sách này với các eigenvalue khác. Dạng Jordan tương ứng với \(P\) sẽ có kích thước các khối Jordan lần lượt theo danh sách này.

Read more