octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Working on eigs


From: Marco Caliari
Subject: Working on eigs
Date: Mon, 10 Apr 2017 14:21:59 +0200 (CEST)
User-agent: Alpine 2.10 (DEB 1266 2009-07-14)

Dear maintainers,

I started to work on eigs. I closed bugs #39573 and #50546 (changesets already in stable). I have also a patch for #45153 and #47236 which you can find on my Bitbucket repository

https://bitbucket.org/caliari/octave/

(eigs bookmark). I introduced the [L,U,P,Q,R] = lu (A) factorization for the sparse case and [L,U,P] = lu(A) for the full case. I used this test

clear all
n = 50;
A = toeplitz ((n + 1) ^ 2 * [2, -1, zeros(1, n - 2)]);
%A = toeplitz (sparse ((n + 1) ^ 2 * [2, -1, zeros(1, n - 2)]));
A = kron (A, eye (n)) + kron (eye (n), A);
opts.v0 = (1:length (A))';
opts.disp = 2;
tic
eigs (A, 10, 'sm', opts)
% new: 4.2 seconds
% old: 6.4 seconds
toc
b = ones (length(A), 1);
tic
[L, U, P] = lu (A);
toc
tic
U \ (L \ (P * b));
toc

to show the effectiveness of [L,U,P] factorization. Matlab in this case is much faster, but I think it depends on the underlying optimized linear algebra (MKL), since the factorization itself and the solution of triangular systems is faster in Matlab. I was working on #49523 but do not know how to continue. Another thing surely missing is the 'single' version of eigs. I think the main problems are fixed now, but please review my patches and feel free to contact me for additional issues with eigs.

Marco




reply via email to

[Prev in Thread] Current Thread [Next in Thread]