Từ điển học thuật Khoa học tự nhiên

Phương pháp Arnoldi là gì? Định nghĩa và ứng dụng số trị

Tiếng AnhArnoldi iteration

Tên gọi khácthuật toán Arnoldiquá trình Arnoldiphương pháp lặp Arnoldi

Phương pháp Arnoldi là một giải thuật lặp trong đại số tuyến tính số trị nhằm xây dựng cơ sở trực chuẩn cho không gian con Krylov và thu gọn ma trận vuông về dạng Hessenberg bậc trên.

Cập nhật 5/9/2026

Phương pháp Arnoldi là một giải thuật lặp trong đại số tuyến tính số trị nhằm xây dựng cơ sở trực chuẩn cho không gian con Krylov và rút gọn ma trận vuông kích thước lớn về dạng ma trận Hessenberg bậc trên. Thuật toán này cho phép tính xấp xỉ hiệu quả một số giá trị riêng và vector riêng chọn lọc của các ma trận lớn, thưa và không đối xứng mà không đòi hỏi biến đổi toàn bộ ma trận gốc. Trong tính toán khoa học hiện đại, phương pháp Arnoldi đóng vai trò là nền tảng toán học cốt lõi cho các bộ giải hệ phương trình tuyến tính lớn và các phần mềm phân tích phổ ma trận.

Bản chất toán học và không gian con Krylov

Trong nhiều bài toán mô phỏng vật lý, động học chất lưu và phân tích dao động kết cấu, các ma trận xuất hiện thường có kích thước rất lớn với hàng triệu bậc tự do nhưng lại có cấu trúc thưa, nghĩa là đại đa số phần tử bằng 0. Việc áp dụng các thuật toán giải đầy đủ trên ma trận dày như giải thuật lặp QR hoặc thuật toán Jacobi đòi hỏi chi phí tính toán tỷ lệ với luỹ thừa bậc ba của kích thước ma trận và làm mất cấu trúc thưa, dẫn đến tràn bộ nhớ máy tính. Để khắc phục trở ngại này, các phương pháp chiếu lên không gian con Krylov trở thành công cụ chủ đạo.

Xét ma trận vuông thực AA có kích thước n×nn \times n và một vector xuất phát khác không v1v_1 đã được chuẩn hoá sao cho chuẩn Euclid bằng 1. Đối với trường hợp ma trận phức, các phép chuyển vị đại số được thay thế tương ứng bằng liên hợp Hermite. Không gian con Krylov thứ mm sinh bởi ma trận AA và vector v1v_1, ký hiệu là Km(A,v1)\mathcal{K}_m(A, v_1), được định nghĩa là không gian sinh bởi hệ vector gồm các luỹ thừa liên tiếp của AA tác động lên v1v_1:

Km(A,v1)=span{v1,Av1,A2v1,,Am1v1}\mathcal{K}_m(A, v_1) = \operatorname{span}\{v_1, A v_1, A^2 v_1, \dots, A^{m-1} v_1\}

Trong công thức trên, AA là toán tử ma trận, v1v_1 là vector khởi tạo và mm là số bước lặp với điều kiện mnm \ll n. Khi số bước tăng lên, hệ vector cơ sở luỹ thừa tự nhiên này sẽ nhanh chóng có xu hướng hội tụ về hướng của vector riêng tương ứng với giá trị riêng có độ lớn tuyệt đối trội nhất. Do đó, các vector này gần như phụ thuộc tuyến tính trong biểu diễn số học thực tế, khiến cơ sở tự nhiên bị suy biến nghiêm trọng. Phương pháp Arnoldi khắc phục sự suy biến này trong tính toán lý thuyết bằng cách áp dụng quy trình trực giao hoá Gram-Schmidt cải tiến để liên tục xây dựng một hệ cơ sở trực chuẩn cho không gian con.

Hệ thức ma trận Arnoldi

Tại mỗi bước lặp thứ jj, thuật toán tính tích ma trận vector w=Avjw = A v_j, sau đó tiến hành trực giao hoá vector ww với tất cả các vector cơ sở đã xây dựng trước đó từ v1v_1 đến vjv_j. Sau mm bước lặp thành công, thuật toán sinh ra một tập hợp gồm mm vector trực chuẩn ghép lại thành các cột của ma trận Vm=[v1,v2,,vm]V_m = [v_1, v_2, \dots, v_m] kích thước n×mn \times m, cùng với một ma trận Hessenberg bậc trên HmH_m kích thước m×mm \times m.

Mối quan hệ toán học cơ bản giữa các đại lượng này được thể hiện thông qua hệ thức thu gọn Arnoldi:

AVm=VmHm+hm+1,mvm+1emTA V_m = V_m H_m + h_{m+1, m} v_{m+1} e_m^T

Trong đó, AA là ma trận ban đầu kích thước n×nn \times n, VmV_m là ma trận chứa mm vector cột trực chuẩn, HmH_m là ma trận Hessenberg bậc trên chứa các hệ số chiếu hình học, hm+1,mh_{m+1, m} là phần tử dưới đường chéo phụ thứ mm, vm+1v_{m+1} là vector trực chuẩn tiếp theo trực giao với toàn bộ không gian con hiện tại và eme_m là vector đơn vị chuẩn thứ mm trong không gian số chiều nhỏ. Nếu biểu diễn bằng ma trận mở rộng Vm+1=[Vm,vm+1]V_{m+1} = [V_m, v_{m+1}] và ma trận Hessenberg mở rộng H~m\tilde{H}_m kích thước (m+1)×m(m+1) \times m, hệ thức trên có dạng thu gọn:

AVm=Vm+1H~mA V_m = V_{m+1} \tilde{H}_m

Vì các cột của ma trận VmV_m đôi một trực giao và có chuẩn bằng 1, ta có tính chất trực giao VmTVm=ImV_m^T V_m = I_m, với ImI_m là ma trận đơn vị cấp mm. Nhân cả hai vế của hệ thức Arnoldi từ phía bên trái với ma trận chuyển vị VmTV_m^T, ta thu được:

Hm=VmTAVmH_m = V_m^T A V_m

Đẳng thức này khẳng định ma trận Hessenberg HmH_m chính là hình chiếu trực giao Rayleigh-Ritz của toán tử ma trận kích thước lớn AA lên không gian con Krylov Km(A,v1)\mathcal{K}_m(A, v_1).

Quy trình thực hiện thuật toán Arnoldi

Thuật toán Arnoldi tiêu chuẩn sử dụng quy trình Gram-Schmidt cải tiến để đảm bảo độ ổn định số học. Quy trình được thực hiện tuần tự qua các bước sau:

  1. Khởi tạo: Chọn một vector xuất phát vv tuỳ ý, tính chuẩn Euclid của vector này và chuẩn hoá để được vector cơ sở đầu tiên v1=v/v2v_1 = v / \|v\|_2.
  2. Vòng lặp chính: Với mỗi chỉ số bước lặp jj chạy từ 1 đến mm, thực hiện các thao tác:
    • Tính vector trung gian thông qua tích ma trận vector: w=Avjw = A v_j.
    • Với mỗi chỉ số ii chạy từ 1 đến jj, tính hệ số hình chiếu hi,j=viTwh_{i, j} = v_i^T w và cập nhật khử thành phần trực giao: w=whi,jviw = w - h_{i, j} v_i.
    • Tính chuẩn của vector dư còn lại: hj+1,j=w2h_{j+1, j} = \|w\|_2.
    • Nếu phần tử hj+1,jh_{j+1, j} triệt tiêu hoặc nhỏ hơn ngưỡng sai số máy tính, không gian con Krylov trở thành không gian bất biến và thuật toán dừng sớm.
    • Nếu phần tử khác không, xác định vector trực chuẩn tiếp theo: vj+1=w/hj+1,jv_{j+1} = w / h_{j+1, j}.
  3. Đầu ra: Thu được ma trận cơ sở trực chuẩn VmV_m và ma trận Hessenberg bậc trên HmH_m.

Xấp xỉ trị riêng và vector riêng qua cặp Ritz

Mục đích nguyên bản của Walter Edwin Arnoldi khi công bố phương pháp vào năm 1951 là giải quyết bài toán trị riêng cho ma trận không đối xứng. Với ma trận ban đầu AA có kích thước rất lớn, việc tìm trực tiếp các giá trị riêng thoả mãn phương trình đặc trưng là bất khả thi. Thay vào đó, phương pháp Arnoldi giải bài toán trị riêng trên ma trận chiếu Hessenberg HmH_m có kích thước m×mm \times m nhỏ hơn rất nhiều:

Hmy=θyH_m y = \theta y

Trong phương trình này, giá trị vô hướng θ\theta là giá trị riêng của ma trận Hessenberg HmH_m, được gọi là giá trị Ritz của ma trận AA đối với không gian con Km(A,v1)\mathcal{K}_m(A, v_1). Vector yy là vector riêng tương ứng của ma trận nhỏ HmH_m. Khi đó, vector xấp xỉ trong không gian ban đầu được phục hồi theo công thức:

u=Vmyu = V_m y

Vector uu được gọi là vector Ritz tương ứng với giá trị Ritz θ\theta. Giả sử vector riêng yy của ma trận HmH_m được chuẩn hoá thoả mãn y2=1\|y\|_2 = 1, khi đó vector Ritz u=Vmyu = V_m y cũng có chuẩn Euclid bằng 1. Độ chính xác của cặp xấp xỉ Ritz (θ,u)(\theta, u) đối với bài toán trị riêng ban đầu AuθuA u \approx \theta u được định lượng thông qua chuẩn của vector phần dư:

Auθu2=(AVmVmHm)y2=hm+1,memTy\|A u - \theta u\|_2 = \|(A V_m - V_m H_m) y\|_2 = h_{m+1, m} |e_m^T y|

Công thức sai số tinh tế này chỉ ra một đặc tính quan trọng: chất lượng xấp xỉ của cặp Ritz có thể được đánh giá tức thời từ phần tử dưới đường chéo phụ hm+1,mh_{m+1, m} và thành phần cuối cùng của vector riêng nhỏ yy, mà hoàn toàn không cần thực hiện thêm phép nhân ma trận vector kích thước lớn nào với AA.

So sánh phương pháp Arnoldi và thuật toán Lanczos

Phương pháp Arnoldi và thuật toán Lanczos do Cornelius Lanczos đề xuất năm 1950 là hai nhánh phát triển chặt chẽ của các giải thuật không gian con Krylov. Sự khác biệt căn bản xuất phát từ tính chất đối xứng của toán tử ma trận.

Tiêu chí so sánh Phương pháp Arnoldi Thuật toán Lanczos
Loại ma trận áp dụng Ma trận vuông tổng quát, không đối xứng hoặc phức Ma trận đối xứng thực hoặc ma trận tự liên hợp Hermite
Cấu trúc ma trận thu gọn Ma trận Hessenberg bậc trên đầy đủ phía trên đường chéo Ma trận ba đường chéo đối xứng thực
Hệ thức hồi quy trực giao Hồi quy đầy đủ với tất cả các vector cơ sở quá khứ Hồi quy ngắn ba số hạng giữa các bước liên tiếp
Yêu cầu lưu trữ bộ nhớ Tăng tuyến tính theo số bước lặp do phải lưu toàn bộ vector Cố định, chỉ cần lưu ba vector lặp gần nhất
Độ phức tạp tính toán mỗi bước Tăng dần theo số bước lặp tỷ lệ thuận với số chiều không gian con Hằng số ở mỗi bước lặp đối với phép trực giao hoá

Như được trình bày trong bảng so sánh, khi ma trận AA đối xứng thực, ma trận chiếu Hm=VmTAVmH_m = V_m^T A V_m cũng đối xứng. Do HmH_m có dạng Hessenberg bậc trên, toàn bộ các phần tử nằm ngoài đường chéo chính và hai đường chéo phụ kề nó đều triệt tiêu. Khi đó, ma trận Hessenberg suy biến thành ma trận ba đường chéo đối xứng, và thuật toán Arnoldi tự động thoái biến thành thuật toán Lanczos với công thức hồi quy ba số hạng tiết kiệm chi phí.

Ứng dụng trong thuật toán giải hệ phương trình GMRES

Ngoài bài toán tìm giá trị riêng, ứng dụng nổi bật và phổ biến nhất của quá trình trực chuẩn hoá Arnoldi là thuật toán GMRES do Yousef Saad và Martin H. Schultz công bố năm 1986. Thuật toán này dùng để giải hệ phương trình đại số tuyến tính kích thước lớn dạng:

Ax=bA x = b

Với vector nghiệm ban đầu x0x_0, thuật toán xác định vector phần dư ban đầu r0=bAx0r_0 = b - A x_0 và đặt vector trực chuẩn đầu tiên là v1=r0/r02v_1 = r_0 / \|r_0\|_2. Nghiệm xấp xỉ thứ mm được tìm kiếm trong không gian affine xmx0+Km(A,r0)x_m \in x_0 + \mathcal{K}_m(A, r_0) sao cho chuẩn Euclid của phần dư mới đạt giá trị cực tiểu:

minxmbAxm2\min_{x_m} \|b - A x_m\|_2

Bằng cách biểu diễn nghiệm hiệu chỉnh dưới dạng xm=x0+Vmyx_m = x_0 + V_m y, bài toán tối ưu hoá kích thước nn ban đầu được biến đổi tương đương thành bài toán bình phương tối thiểu số chiều nhỏ với ma trận Hessenberg mở rộng:

minyr02e1H~my2\min_y \| \|r_0\|_2 e_1 - \tilde{H}_m y \|_2

Bài toán bình phương tối thiểu này có kích thước chỉ là (m+1)×m(m+1) \times m và được giải quyết nhanh chóng bằng phép biến đổi quay Givens liên tiếp trên ma trận Hessenberg mà không cần giải hệ phương trình gốc.

Hạn chế số học và kỹ thuật khởi động lại

Mặc dù sở hữu nhiều ưu thế lý thuyết, phương pháp Arnoldi gặp phải hai hạn chế kỹ thuật đáng kể trong thực hành tính toán số:

  • Gia tăng bộ nhớ và chi phí trực giao: Tại bước lặp thứ mm, thuật toán bắt buộc phải lưu trữ toàn bộ mm vector cơ sở có kích thước nn trong bộ nhớ RAM, đồng thời thực hiện phép chiếu trực giao với toàn bộ các vector này. Khi số bước mm tăng cao, chi phí lưu trữ và số phép tính dấu phẩy động tăng nhanh, làm giảm hiệu năng của hệ thống tính toán.
  • Mất tính trực giao do sai số làm tròn: Trong môi trường số học máy tính với độ chính xác hữu hạn, quá trình Gram-Schmidt cải tiến dần dần làm mất tính trực giao giữa các vector cột của ma trận VmV_m. Hiện tượng này dẫn đến việc xuất hiện các giá trị riêng giả mạo hoặc làm chậm tốc độ hội tụ của thuật toán. Để giải quyết, người ta thường áp dụng kỹ thuật trực giao hoá lặp lại hai lần hoặc kỹ thuật trực giao hoá chọn lọc.

Để khắc phục sự bùng nổ bộ nhớ khi số bước lặp lớn, Dan C. Sorensen đã đề xuất phương pháp Arnoldi khởi động lại ngầm định vào năm 1992. Thay vì khởi động lại một cách tường minh làm mất thông tin phổ đã tích luỹ, phương pháp này áp dụng các phép dịch chuyển phổ đa thức thông qua thuật toán QR ngầm định trên ma trận Hessenberg HmH_m. Kỹ thuật này nén không gian con từ số chiều lớn về số chiều nhỏ hơn trong khi vẫn giữ nguyên các vector riêng mong muốn và duy trì hệ thức Arnoldi chuẩn xác. Đây chính là thuật toán lõi của gói phần mềm ARPACK, làm nền tảng cho các hàm tính trị riêng thưa trong nhiều môi trường tính toán khoa học hiện đại.

Câu hỏi thường gặp

Phương pháp Arnoldi được sử dụng chủ yếu để làm gì?

Phương pháp Arnoldi được sử dụng chủ yếu để xấp xỉ một số giá trị riêng và vector riêng chọn lọc của các ma trận vuông lớn, thưa và không đối xứng, cũng như làm thuật toán nền tảng cho bộ giải GMRES.

Điểm khác biệt căn bản giữa phương pháp Arnoldi và thuật toán Lanczos là gì?

Phương pháp Arnoldi áp dụng cho ma trận không đối xứng tổng quát và thu gọn ma trận về dạng Hessenberg, trong khi thuật toán Lanczos chỉ áp dụng cho ma trận đối xứng thực hoặc Hermite và thu gọn về dạng ba đường chéo.

Tại sao cần kỹ thuật khởi động lại ngầm định IRAM trong phương pháp Arnoldi?

Kỹ thuật khởi động lại ngầm định IRAM giúp kiểm soát sự bùng nổ dung lượng bộ nhớ và chi phí trực giao hoá khi số bước lặp tăng cao, bằng cách nén không gian con thông qua thuật toán dịch chuyển QR.

Tài liệu tham khảo

  1. Arnoldi, W. E. (1951). The principle of minimized iterations in the solution of the matrix eigenvalue problem. Quarterly of Applied Mathematics, 9(1), 17–29. DOI: 10.1090/qam/42792
  2. Saad, Y., & Schultz, M. H. (1986). GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM Journal on Scientific and Statistical Computing, 7(3), 856–869. DOI: 10.1137/0907058
  3. Sorensen, D. C. (1992). Implicit application of polynomial filters in a k-step Arnoldi method. SIAM Journal on Matrix Analysis and Applications, 13(1), 357–385. DOI: 10.1137/0613025
  4. Saad, Y. (2011). Numerical Methods for Large Eigenvalue Problems. Society for Industrial and Applied Mathematics. DOI: 10.1137/1.9781611970739