%% Eigenvalues Using Function Handle
% Create a 1500-by-1500 random sparse matrix with a 25% approximate density of nonzero elements.

n = 1500;
A = sprand(n,n,0.25);

%
% Find the LU factorization of the matrix, returning a permutation vector p that satisfies A(p,:) = L*U.

[L,U,p] = lu(A,'vector');

%
% Create a function handle Afun that accepts a vector input x and uses the results of the LU decomposition to, in effect, return A\x.

Afun = @(x) U\(L\(x(p)));

%
% Calculate the six smallest magnitude eigenvalues using eigs with the function handle Afun. The second input is the size of A.

d = eigs(Afun,1500,6,'smallestabs')

% Copyright 2012 The MathWorks, Inc.