Cách sử dụng phương pháp Lanczos để tính toán giá trị riêng và hàm riêng


8

Tôi có một ma trận A (nxn) thưa thớt và đối xứng. Phương pháp Lanczos chuyển ma trận A thành ma trận tam giác và đối xứng T và vectơ Lanczos trong ma trận V. Từ đó làm thế nào để tôi tính k giá trị nhỏ nhất hoặc lớn nhất và các hàm riêng tương ứng?

Câu trả lời:


11
  • Đối với giá trị riêng , chỉ cần lấy giá trị riêng lớn nhất hoặc nhỏ nhất của . Chúng là các xấp xỉ tốt của , với điều kiện số lần lặp Lanczos là lớn so với .T A kkTAk

  • Mọi thứ sẽ phức tạp hơn một chút nếu chúng ta cũng muốn người bản địa .
    Cách đơn giản nhất là nhân mỗi eigenvector của với sang trái, trong đó , như bạn đã nói, tập hợp các vectơ Lanczos. Nhưng cách tiếp cận này không phù hợp với nhiều loại ma trận, vì các lỗi làm tròn khiến các vectơ Lanczos mất tính trực giao (1). Một cách tốt hơn là tái cấu trúc lại các vectơ Lanczos trong bằng cách thực hiện bước Gram-Schmidt. Đặt là vectơ Lanczos thứ đang được tính toán và đểuiTVV

    V
    ziq1,q2,,qi1là các vectơ Lanczos trước đó. Chúng tôi thay đổi để loại bỏ tất cả các thành phần của song song với bất kỳ : Hóa ra chúng ta cần phải trực giao lại hai lần để đảm bảo tính trực giao số của các vectơ Lanczos (2).zzq1,q2,,qTôi-1

    z'= =z-Σj= =1Tôi-1(zTqj)qj

Tài liệu tham khảo

  1. J. Demmel, Đại số tuyến tính số ứng dụng
  2. B. Parlett, Vấn đề Eigenvalue đối xứng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.