Tôi sử dụng eigs để tính vectơ riêng của các ma trận vuông thưa thớt lớn (hàng chục nghìn). Điều tôi muốn là bộ vectơ riêng nhỏ nhất. NhưngTại sao eigs ('lm') nhanh hơn nhiều so với eigs ('sm')
eigs(A, 10, 'sm') % Note: A is the matrix
chạy rất chậm.
Tuy nhiên, sử dụng eigs (A, 10, 'lm') cho tôi câu trả lời tương đối nhanh hơn. Và như tôi đã thử, thay thế 10 bằng A_width trong eigs (A, 10, 'lm') để điều này bao gồm tất cả các vectơ riêng, không giải quyết được vấn đề này, vì điều này làm cho nó chậm như sử dụng 'sm' .
Vì vậy, tôi muốn biết lý do tại sao tính toán các vectơ nhỏ nhất (sử dụng 'sm') chậm hơn nhiều so với tính toán lớn nhất?
BTW, nếu bạn có bất kỳ ý tưởng về cách sử dụng eigs với 'sm' nhanh như với 'lm', hãy cho tôi biết điều đó.
Cảm ơn bạn đã trả lời wakjah. Tôi sẽ cố gắng đọc thông tin liên kết của bạn đôi khi. –
'lm' tính toán ít hơn nhiều so với 'sm'. Tôi đoán chỉ có cách để biết tại sao là để tìm hiểu các thuật toán được sử dụng trong eigs mà có thể được tìm thấy trong liên kết 'ở đây' được cung cấp bởi wakjah. –
'eigs' được thiết kế cho ma trận thưa thớt, lược tả nó cho một đầu vào không thưa thớt chỉ là không hữu ích. – rubenvb