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. |