eig Interface

public interface eig

This interface overloads the eigh interface from stdlib_linalg to compute the eigenvalues and eigenvectors of a real-valued matrix whose type is Bidiagonal.

Syntax

   call eig(A, lambda [, left] [, right])

Arguments

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


Subroutines

private module subroutine eig_rdp(A, lambda, left, right)

Utility function to compute the eigenvalues and eigenvectors of a Bidiagonal matrix.

Arguments

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