This interface overloads the eigh interface from stdlib_linalg
to compute the eigenvalues and eigenvectors of a real-valued matrix
whose type is Bidiagonal.
call eig(A, lambda [, left] [, right])
A : real-valued matrix of Bidiagonal.
It is an intent(in) argument.
lambda : Rank-1 real array returning the eigenvalues of A
in increasing order. It is an intent(out) argument.
left (optional) : complex rank-2 array of the same kind as
A returning the left eigenvectors of A.
It is an intent(out) argument.
right (optional) : complex rank-2 array of the same kind as
A returning the right eigenvectors of A.
It is an intent(out) argument.
Note
No specialized eigensolvers for generic Bidiagonal matrices exist
in LAPACK. This routine thus falls back to wrapping the eig
procedure from stdlib_linalg which uses *geev under the hood.
Utility function to compute the eigenvalues and eigenvectors of a
Bidiagonal matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Bidiagonal), | intent(in) | :: | A |
Input matrix. |
||
| complex(kind=dp), | intent(out) | :: | lambda(:) |
Eigenvalues. |
||
| complex(kind=dp), | intent(out), | optional | :: | left(:,:) |
Eigenvectors. |
|
| complex(kind=dp), | intent(out), | optional | :: | right(:,:) |
Eigenvectors. |