public subroutine eigen(A, eigenvalues, eigenvectors)
eigen
Description
Calculate the eigenvalues and eigenvectors of a real symmetric matrix
A
using LAPACK’s dsyev
. The eigenvectors are stored in the columns
of eigenvectors
. The eigenvalues are stored in eigenvalues
.
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=pr),
|
intent(inout) |
|
|
:: |
A(:,:) |
|
real(kind=pr),
|
intent(out) |
|
|
:: |
eigenvalues(:) |
|
real(kind=pr),
|
intent(out), |
optional |
|
:: |
eigenvectors(:,:) |
|
Variables
Type |
Visibility | Attributes |
|
Name |
| Initial | |
real(kind=pr),
|
public |
|
:: |
Ain(size(A,1),size(A,1)) |
|
|
|
integer,
|
public |
|
:: |
istat |
|
|
|
integer,
|
public |
|
:: |
n |
|
|
|
real(kind=pr),
|
public |
|
:: |
work(size(A,1)*10) |
|
|
|
Interfaces
-
subroutine dsyev(JOBZ, UPLO, N, A, lda, W, WORK, LWORK, INFO)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
character(len=1)
|
|
|
|
:: |
JOBZ |
|
character(len=1)
|
|
|
|
:: |
UPLO |
|
integer
|
|
|
|
:: |
N |
|
double precision
|
|
|
|
:: |
A(lda,*) |
|
integer
|
|
|
|
:: |
lda |
|
double precision
|
|
|
|
:: |
W(*) |
|
double precision
|
|
|
|
:: |
WORK(*) |
|
integer
|
|
|
|
:: |
LWORK |
|
integer
|
|
|
|
:: |
INFO |
|