help-octave
[Top][All Lists]
Advanced

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

which is faster? svd vs. eig


From: Pascal A. Dupuis
Subject: which is faster? svd vs. eig
Date: Wed, 30 Mar 2005 02:39:34 -0600
User-agent: Mutt/1.5.6+20040907i

Hello,

Some numerical computation involves to iterate over data of length n
to fit a model of order p:
1) construct of first order real matrix T1 of size (n x p)
2) construct a second order real correction T2 of size (n-p x p)
3) construct a (p x p) iteration matrix as T = T1' * T1 - T2' * T2
4a) the solution is the eigenvector of T associated with the
eigenvalue of smallest magnitude
4b) the solution is the right singular eigenvector of T associated
with the last singular eigenvalue, i.e. the smallest in magnitude
5) from there, construct a new T1, T2, and continue iteration until
convergence of the solution. This implies that the associated
eigenvalue from T converges towards zero.

So, given the way T is constructed, we have
[Us, Ss, Vs]= svd(T) => Us == Vs' (symmetry)
[Vd, Sd] = eig(T) => Sd and the columns of Vd are re-ordered version
of Ss and Vs

As both methods are theoretically equivalent, either can give a new
estimate of the solution. So:
1) which one is faster ? Is there a special version of svd() and eig()
algorithm taking into account the symmetry ?
2) which one is most accurate, i.e. with respect to numerical
precision and rounding error ?

TIA

Pascal Dupuis 
 
-- 
Dr. ir. Pascal Dupuis
K. U. Leuven, ESAT/ELECTA (formerly ELEN):  http://www.esat.kuleuven.ac.be/
Kasteelpark Arenberg, 10; B-3001 Leuven-Heverlee, Belgium
Tel. +32-16-32 10 21 -- Fax +32-16-32 19 85



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

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