trevc3 Interface

public interface trevc3

TREVC3 computes some or all of the right and/or left eigenvectors of a complex upper triangular matrix T. Matrices of this type are produced by the Schur factorization of a complex general matrix: A = QTQH, as computed by CHSEQR. The right eigenvector x and the left eigenvector y of T corresponding to an eigenvalue w are defined by: Tx = wx, (yH)T = w(yH) where yH denotes the conjugate transpose of the vector y. The eigenvalues are not input to this routine, but are read directly from the diagonal of T. This routine returns the matrices X and/or Y of right and left eigenvectors of T, or the products QX and/or QY, where Q is an input matrix. If Q is the unitary factor that reduces a matrix A to Schur form T, then QX and QY are the matrices of right and left eigenvectors of A. This uses a Level 3 BLAS version of the back transformation.


Subroutines

public pure subroutine ctrevc3(side, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, lwork, rwork, lrwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: side
character(len=1), intent(in) :: howmny
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) :: vl(ldvl,*)
integer(kind=ilp), intent(in) :: ldvl
complex(kind=sp), intent(inout) :: vr(ldvr,*)
integer(kind=ilp), intent(in) :: ldvr
integer(kind=ilp), intent(in) :: mm
integer(kind=ilp), intent(out) :: m
complex(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
real(kind=sp), intent(out) :: rwork(*)
integer(kind=ilp), intent(in) :: lrwork
integer(kind=ilp), intent(out) :: info

public pure subroutine dtrevc3(side, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: side
character(len=1), intent(in) :: howmny
logical(kind=lk), intent(inout) :: select(*)
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: t(ldt,*)
integer(kind=ilp), intent(in) :: ldt
real(kind=dp), intent(inout) :: vl(ldvl,*)
integer(kind=ilp), intent(in) :: ldvl
real(kind=dp), intent(inout) :: vr(ldvr,*)
integer(kind=ilp), intent(in) :: ldvr
integer(kind=ilp), intent(in) :: mm
integer(kind=ilp), intent(out) :: m
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public pure subroutine strevc3(side, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: side
character(len=1), intent(in) :: howmny
logical(kind=lk), intent(inout) :: select(*)
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: t(ldt,*)
integer(kind=ilp), intent(in) :: ldt
real(kind=sp), intent(inout) :: vl(ldvl,*)
integer(kind=ilp), intent(in) :: ldvl
real(kind=sp), intent(inout) :: vr(ldvr,*)
integer(kind=ilp), intent(in) :: ldvr
integer(kind=ilp), intent(in) :: mm
integer(kind=ilp), intent(out) :: m
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public pure subroutine ztrevc3(side, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr, mm, m, work, lwork, rwork, lrwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: side
character(len=1), intent(in) :: howmny
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) :: vl(ldvl,*)
integer(kind=ilp), intent(in) :: ldvl
complex(kind=dp), intent(inout) :: vr(ldvr,*)
integer(kind=ilp), intent(in) :: ldvr
integer(kind=ilp), intent(in) :: mm
integer(kind=ilp), intent(out) :: m
complex(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(in) :: lwork
real(kind=dp), intent(out) :: rwork(*)
integer(kind=ilp), intent(in) :: lrwork
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_ctrevc3()

Arguments

None

public interface stdlib_dtrevc3()

Arguments

None

public interface stdlib_strevc3()

Arguments

None

public interface stdlib_ztrevc3()

Arguments

None