trsen Interface

public interface trsen

TRSEN reorders the Schur factorization of a complex matrix A = QTQ**H, so that a selected cluster of eigenvalues appears in the leading positions on the diagonal of the upper triangular matrix T, and the leading columns of Q form an orthonormal basis of the corresponding right invariant subspace. Optionally the routine computes the reciprocal condition numbers of the cluster of eigenvalues and/or the invariant subspace.


Subroutines

public subroutine ctrsen(job, compq, select, n, t, ldt, q, ldq, w, m, s, sep, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compq
logical(kind=lk), intent(in) :: select(*)
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(inout) :: t(ldt,*)
integer(kind=ilp), intent(in) :: ldt
complex(kind=sp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
complex(kind=sp), intent(out) :: w(*)
integer(kind=ilp), intent(out) :: m
real(kind=sp), intent(out) :: s
real(kind=sp), intent(out) :: sep
complex(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public subroutine dtrsen(job, compq, select, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compq
logical(kind=lk), intent(in) :: select(*)
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(inout) :: t(ldt,*)
integer(kind=ilp), intent(in) :: ldt
real(kind=dp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
real(kind=dp), intent(out) :: wr(*)
real(kind=dp), intent(out) :: wi(*)
integer(kind=ilp), intent(out) :: m
real(kind=dp), intent(out) :: s
real(kind=dp), intent(out) :: sep
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(in) :: liwork
integer(kind=ilp), intent(out) :: info

public subroutine strsen(job, compq, select, n, t, ldt, q, ldq, wr, wi, m, s, sep, work, lwork, iwork, liwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compq
logical(kind=lk), intent(in) :: select(*)
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: t(ldt,*)
integer(kind=ilp), intent(in) :: ldt
real(kind=sp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
real(kind=sp), intent(out) :: wr(*)
real(kind=sp), intent(out) :: wi(*)
integer(kind=ilp), intent(out) :: m
real(kind=sp), intent(out) :: s
real(kind=sp), intent(out) :: sep
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(in) :: liwork
integer(kind=ilp), intent(out) :: info

public subroutine ztrsen(job, compq, select, n, t, ldt, q, ldq, w, m, s, sep, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: job
character(len=1), intent(in) :: compq
logical(kind=lk), intent(in) :: select(*)
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(inout) :: t(ldt,*)
integer(kind=ilp), intent(in) :: ldt
complex(kind=dp), intent(inout) :: q(ldq,*)
integer(kind=ilp), intent(in) :: ldq
complex(kind=dp), intent(out) :: w(*)
integer(kind=ilp), intent(out) :: m
real(kind=dp), intent(out) :: s
real(kind=dp), intent(out) :: sep
complex(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_ctrsen()

Arguments

None

public interface stdlib_dtrsen()

Arguments

None

public interface stdlib_strsen()

Arguments

None

public interface stdlib_ztrsen()

Arguments

None