1 function [v,d] = fast_eigs( A,K,options )
3 %fast eigenvector computation:
5 % opt:
'sm' = smalles EV
8 if strcmp(options,
'sm')
9 func = @(X) Q * (U \ (L \ (P * X)));
11 func = @(X) P' * (L * (U * (Q' * X)));
13 [msgstr, msgid] = lastwarn;
15 [v,d] = eigs(func, size(A, 1), K, 1, options);
16 [~, warnid] = lastwarn;
17 if strcmp(warnid,'MATLAB:eigs:NotAllEigsConverged')
18 warning('Eigenvalues did not converged -> using the eig function (more expensive)');
19 [v,d]= eig(full(A),K);
22 lastwarn(msgstr, msgid);