laqr4 Interface

public interface laqr4

LAQR4 implements one level of recursion for CLAQR0. It is a complete implementation of the small bulge multi-shift QR algorithm. It may be called by CLAQR0 and, for large enough deflation window size, it may be called by CLAQR3. This subroutine is identical to CLAQR0 except that it calls CLAQR2 instead of CLAQR3. LAQR4 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)H(QZ)**H.


Subroutines

public pure subroutine claqr4(wantt, wantz, n, ilo, ihi, h, ldh, w, iloz, ihiz, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantt
logical(kind=lk), intent(in) :: wantz
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(*)
integer(kind=ilp), intent(in) :: iloz
integer(kind=ilp), intent(in) :: ihiz
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 dlaqr4(wantt, wantz, n, ilo, ihi, h, ldh, wr, wi, iloz, ihiz, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantt
logical(kind=lk), intent(in) :: wantz
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(*)
integer(kind=ilp), intent(in) :: iloz
integer(kind=ilp), intent(in) :: ihiz
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 slaqr4(wantt, wantz, n, ilo, ihi, h, ldh, wr, wi, iloz, ihiz, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantt
logical(kind=lk), intent(in) :: wantz
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(*)
integer(kind=ilp), intent(in) :: iloz
integer(kind=ilp), intent(in) :: ihiz
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 zlaqr4(wantt, wantz, n, ilo, ihi, h, ldh, w, iloz, ihiz, z, ldz, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantt
logical(kind=lk), intent(in) :: wantz
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(*)
integer(kind=ilp), intent(in) :: iloz
integer(kind=ilp), intent(in) :: ihiz
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_claqr4()

Arguments

None

public interface stdlib_dlaqr4()

Arguments

None

public interface stdlib_slaqr4()

Arguments

None

public interface stdlib_zlaqr4()

Arguments

None