public interface heevd
HEEVD computes all eigenvalues and, optionally, eigenvectors of a
complex Hermitian matrix A. If eigenvectors are desired, it uses a
divide and conquer algorithm.
The divide and conquer algorithm makes very mild assumptions about
floating point arithmetic. It will work on machines with a guard
digit in add/subtract, or on those binary machines without guard
digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or
Cray-2. It could conceivably fail on hexadecimal or decimal machines
without guard digits, but we know of none.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
jobz |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
uplo |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
w(*) |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
rwork(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lrwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
liwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
jobz |
|
|
character(len=1),
|
intent(in) |
|
|
:: |
uplo |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
a(lda,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lda |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
w(*) |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
rwork(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lrwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
liwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures