EDIT: Tôi đang thử nghiệm nếu bất kỳ giá trị riêng nào có độ lớn bằng một hoặc lớn hơn.
Tôi cần tìm giá trị riêng tuyệt đối lớn nhất của một ma trận lớn không đối xứng thưa thớt.
Tôi đã sử dụng eigen()
chức năng của R , sử dụng thuật toán QR từ EISPACK hoặc LAPACK để tìm tất cả các giá trị riêng và sau đó tôi sử dụng abs()
để có được các giá trị tuyệt đối. Tuy nhiên, tôi cần phải làm nó nhanh hơn.
Tôi cũng đã thử sử dụng giao diện ARPACK trong igraph
gói R. Tuy nhiên, nó đã báo lỗi cho một trong các ma trận của tôi.
Việc thực hiện cuối cùng phải được truy cập từ R.
Có lẽ sẽ có nhiều giá trị riêng có cùng độ lớn.
Bạn có đề nghị nào không?
EDIT:
Độ chính xác chỉ cần là 1e-11
. Một ma trận "điển hình" cho đến nay đã là . Tôi đã có thể thực hiện một yếu tố QR trên đó. Tuy nhiên, nó cũng có thể có những cái lớn hơn nhiều. Tôi hiện đang bắt đầu đọc về thuật toán Arnoldi. Tôi hiểu rằng nó có liên quan đến Lanczsos.
EDIT2: Nếu tôi có nhiều ma trận mà tôi đang "thử nghiệm" và tôi biết rằng có một hàm con lớn không thay đổi. Có thể bỏ qua / loại bỏ nó?