There are two solutions to this:
Use Matlab's
eigs()
function instead of theeigs_new()
provided in the normalized cuts package. I guesseigs_new()
was designed to solve some compatibility issue with a previous version of Matlab, and is now itself causing an issue.Modify
eigs_new()
. Where there is a call toarpackc()
ineigs_new()
, make the call like in the tool box version ofeigs()
. So, e.g.:arpackc( aupdfun, ido, ... bmat, intconvert(n), whch, nev, tol, resid, ncv, ... v, ldv, iparam, ipntr, workd, workl, lworkl, info );
becomes
[ido, info] = arpackc( aupdfun, ido, bmat, intconvert(n), whch, ...
nev, tol, resid, ncv, v, ldv, iparam, ipntr, workd, workl, ...
lworkl, info );
There were only two places where this had to be changed to make it work (although there other calls to arpackc()
which don't actually get executed).
I am still not sure why eigs_new()
exists at all.