stebz Interface

public interface stebz

STEBZ computes the eigenvalues of a symmetric tridiagonal matrix T. The user may ask for all eigenvalues, all eigenvalues in the half-open interval (VL, VU], or the IL-th through IU-th eigenvalues. To avoid overflow, the matrix must be scaled so that its largest element is no greater than overflow(1/2) * underflow(1/4) in absolute value, and for greatest accuracy, it should not be much smaller than that. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966.


Subroutines

public pure subroutine dstebz(range, order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, work, iwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: range
character(len=1), intent(in) :: order
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: vl
real(kind=dp), intent(in) :: vu
integer(kind=ilp), intent(in) :: il
integer(kind=ilp), intent(in) :: iu
real(kind=dp), intent(in) :: abstol
real(kind=dp), intent(in) :: d(*)
real(kind=dp), intent(in) :: e(*)
integer(kind=ilp), intent(out) :: m
integer(kind=ilp), intent(out) :: nsplit
real(kind=dp), intent(out) :: w(*)
integer(kind=ilp), intent(out) :: iblock(*)
integer(kind=ilp), intent(out) :: isplit(*)
real(kind=dp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine sstebz(range, order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, work, iwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: range
character(len=1), intent(in) :: order
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: vl
real(kind=sp), intent(in) :: vu
integer(kind=ilp), intent(in) :: il
integer(kind=ilp), intent(in) :: iu
real(kind=sp), intent(in) :: abstol
real(kind=sp), intent(in) :: d(*)
real(kind=sp), intent(in) :: e(*)
integer(kind=ilp), intent(out) :: m
integer(kind=ilp), intent(out) :: nsplit
real(kind=sp), intent(out) :: w(*)
integer(kind=ilp), intent(out) :: iblock(*)
integer(kind=ilp), intent(out) :: isplit(*)
real(kind=sp), intent(out) :: work(*)
integer(kind=ilp), intent(out) :: iwork(*)
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_dstebz()

Arguments

None

public interface stdlib_sstebz()

Arguments

None