hseqr Interface

public interface hseqr

HSEQR computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T ZH, where T is an upper triangular matrix (the Schur form), and Z is the unitary matrix of Schur vectors. Optionally Z may be postmultiplied into an input unitary matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the unitary matrix Q: A = QHQH = (QZ)T(QZ)**H.


Subroutines

public pure subroutine chseqr(job, compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compz
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: ilo
integer(kind=ilp), intent(in) :: ihi
complex(kind=sp), intent(inout) :: h(ldh,*)
integer(kind=ilp), intent(in) :: ldh
complex(kind=sp), intent(out) :: w(*)
complex(kind=sp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
complex(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public subroutine dhseqr(job, compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compz
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: ilo
integer(kind=ilp), intent(in) :: ihi
real(kind=dp), intent(inout) :: h(ldh,*)
integer(kind=ilp), intent(in) :: ldh
real(kind=dp), intent(out) :: wr(*)
real(kind=dp), intent(out) :: wi(*)
real(kind=dp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public subroutine shseqr(job, compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compz
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: ilo
integer(kind=ilp), intent(in) :: ihi
real(kind=sp), intent(inout) :: h(ldh,*)
integer(kind=ilp), intent(in) :: ldh
real(kind=sp), intent(out) :: wr(*)
real(kind=sp), intent(out) :: wi(*)
real(kind=sp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public pure subroutine zhseqr(job, compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compz
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: ilo
integer(kind=ilp), intent(in) :: ihi
complex(kind=dp), intent(inout) :: h(ldh,*)
integer(kind=ilp), intent(in) :: ldh
complex(kind=dp), intent(out) :: w(*)
complex(kind=dp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
complex(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_chseqr()

Arguments

None

public interface stdlib_dhseqr()

Arguments

None

public interface stdlib_shseqr()

Arguments

None

public interface stdlib_zhseqr()

Arguments

None