tgexc Interface

public interface tgexc

TGEXC reorders the generalized Schur decomposition of a complex matrix pair (A,B), using an unitary equivalence transformation (A, B) := Q * (A, B) * ZH, so that the diagonal block of (A, B) with row index IFST is moved to row ILST. (A, B) must be in generalized Schur canonical form, that is, A and B are both upper triangular. Optionally, the matrices Q and Z of generalized Schur vectors are updated. Q(in) * A(in) * Z(in)H = Q(out) * A(out) * Z(out)H Q(in) * B(in) * Z(in)H = Q(out) * B(out) * Z(out)**H


Subroutines

public pure subroutine ctgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantq
logical(kind=lk), intent(in) :: wantz
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=sp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
complex(kind=sp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
complex(kind=sp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
integer(kind=ilp), intent(in) :: ifst
integer(kind=ilp), intent(inout) :: ilst
integer(kind=ilp), intent(out) :: info

public pure subroutine dtgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantq
logical(kind=lk), intent(in) :: wantz
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
real(kind=dp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
real(kind=dp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
integer(kind=ilp), intent(inout) :: ifst
integer(kind=ilp), intent(inout) :: ilst
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public pure subroutine stgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantq
logical(kind=lk), intent(in) :: wantz
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
real(kind=sp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
real(kind=sp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
integer(kind=ilp), intent(inout) :: ifst
integer(kind=ilp), intent(inout) :: ilst
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public pure subroutine ztgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info)

Arguments

Type IntentOptional Attributes Name
logical(kind=lk), intent(in) :: wantq
logical(kind=lk), intent(in) :: wantz
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(inout) :: b(ldb,*)
integer(kind=ilp), intent(in) :: ldb
complex(kind=dp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
complex(kind=dp), intent(inout) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
integer(kind=ilp), intent(in) :: ifst
integer(kind=ilp), intent(inout) :: ilst
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_ctgexc()

Arguments

None

public interface stdlib_dtgexc()

Arguments

None

public interface stdlib_stgexc()

Arguments

None

public interface stdlib_ztgexc()

Arguments

None