[SciPy-User] eigsh on sparse tridiagonal matrix: 2 orders of magnitude slower than Octave??

Pauli Virtanen pav@iki...
Wed Jan 2 13:08:57 CST 2013


02.01.2013 14:28, Chong Yidong kirjoitti:
[clip]
> tic; v = eigs(H, 25, 'sm'); toc;
[clip]

In octave, 'sm' has a different meaning --- it uses shift-invert with
sigma=0 rather than Arpack's small-eigenvalue finding:

octave-3.6.2/src/DLD-FUNCTIONS/eigs.cc:
    573   // Mode 1 for SM mode seems unstable for some reason.
    574   // Use Mode 3 instead, with sigma = 0.
    575   if (!error_state && !have_sigma && typ == "SM")
    576     have_sigma = true;


In general, answers to questions to "why does octave do XX" can be found
reading its source code.



More information about the SciPy-User mailing list