stein Interface

public interface stein

STEIN computes the eigenvectors of a real symmetric tridiagonal matrix T corresponding to specified eigenvalues, using inverse iteration. The maximum number of iterations allowed for each eigenvector is specified by an internal parameter MAXITS (currently set to 5). Although the eigenvectors are real, they are stored in a complex array, which may be passed to CUNMTR or CUPMTR for back transformation to the eigenvectors of a complex Hermitian matrix which was reduced to tridiagonal form.


Subroutines

public pure subroutine cstein(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: d(*)
real(kind=sp), intent(in) :: e(*)
integer(kind=ilp), intent(in) :: m
real(kind=sp), intent(in) :: w(*)
integer(kind=ilp), intent(in) :: iblock(*)
integer(kind=ilp), intent(in) :: isplit(*)
complex(kind=sp), intent(out) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(out) :: ifail(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine dstein(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: d(*)
real(kind=dp), intent(in) :: e(*)
integer(kind=ilp), intent(in) :: m
real(kind=dp), intent(in) :: w(*)
integer(kind=ilp), intent(in) :: iblock(*)
integer(kind=ilp), intent(in) :: isplit(*)
real(kind=dp), intent(out) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(out) :: ifail(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine sstein(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: d(*)
real(kind=sp), intent(in) :: e(*)
integer(kind=ilp), intent(in) :: m
real(kind=sp), intent(in) :: w(*)
integer(kind=ilp), intent(in) :: iblock(*)
integer(kind=ilp), intent(in) :: isplit(*)
real(kind=sp), intent(out) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(out) :: ifail(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine zstein(n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: d(*)
real(kind=dp), intent(in) :: e(*)
integer(kind=ilp), intent(in) :: m
real(kind=dp), intent(in) :: w(*)
integer(kind=ilp), intent(in) :: iblock(*)
integer(kind=ilp), intent(in) :: isplit(*)
complex(kind=dp), intent(out) :: z(ldz,*)
integer(kind=ilp), intent(in) :: ldz
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(out) :: ifail(*)
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_cstein()

Arguments

None

public interface stdlib_dstein()

Arguments

None

public interface stdlib_sstein()

Arguments

None

public interface stdlib_zstein()

Arguments

None