octave-maintainers
[Top][All Lists]
Advanced

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

eig function project


From: Rafael Gonzalez
Subject: eig function project
Date: Thu, 18 Apr 2013 15:46:14 -0300

I did some research about the way Matlab does the eig function and I got this table:

Case
Routine
Real symmetric A
DSYEV
Real nonsymmetric A:

  • With preliminary balance step
DGEEV (with SCLFAC = 2 instead of 8 in DGEBAL)
  • d = eig(A,'nobalance')
DGEHRDDHSEQR
  • [V,D] = eig(A,'nobalance')
DGEHRDDORGHRDHSEQRDTREVC
Hermitian A
ZHEEV
Non-Hermitian A:

  • With preliminary balance step
ZGEEV (with SCLFAC = 2 instead of 8 in ZGEBAL)
  • d = eig(A,'nobalance')
ZGEHRDZHSEQR
  • [V,D] = eig(A,'nobalance')
ZGEHRDZUNGHRZHSEQRZTREVC 
Real symmetric A
symmetric positive definite B.
DSYGV
    Special case:
    eig(A,B,'qz') for real A
    (same as real nonsymmetric A, real
    general B)

DGGEV

Real nonsymmetric A, real general B
DGGEV
Complex Hermitian A,
Hermitian positive definite B.
ZHEGV
    Special case: 
    eig(A,B,'qz') for complex A or B
    (same as complex non-Hermitian A,
    complex B)

ZGGEV

Complex non-Hermitian A, complex B
ZGGEV


It seems to me that matching this logic with the proper LAPACK subroutine call in the init function of the EIG and FloatEIG classes a Matlab-complaint eig function can be achieved. Any comments on this?

reply via email to

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