Man page - stegr(3)
Packages contains this manual
- hptrd(3)
- potri(3)
- xerbla_array(3)
- ggsvd_driver_grp(3)
- hfrk(3)
- getsqr_comp_grp(3)
- laed6(3)
- gtrfs(3)
- lasdq(3)
- gglse(3)
- la_xisnan_la_isnan(3)
- unmr2(3)
- hetrs_aa(3)
- tpttr(3)
- gerz_comp_grp(3)
- potrf(3)
- hegv_driver(3)
- laqps(3)
- ggqr_comp_grp(3)
- ilalc(3)
- ung2r(3)
- heevd(3)
- pstf2(3)
- lacn2(3)
- ptrfs(3)
- ungrq(3)
- gelqf(3)
- ppsv_comp(3)
- blas2_full(3)
- gemlqt(3)
- unml2(3)
- tplqt(3)
- tpcon(3)
- getf2(3)
- ggbak(3)
- bdsvd_driver(3)
- lamch(3)
- gelq(3)
- gebal(3)
- laqr1(3)
- ptsvx(3)
- lahr2(3)
- larscl2(3)
- geqrt(3)
- larfb(3)
- gtsv_comp(3)
- gesvd_aux(3)
- hbevx_2stage(3)
- hbgvx(3)
- tprfs(3)
- params_grp(3)
- lahef(3)
- laqr_group(3)
- unmqr(3)
- tgsy2(3)
- tfsv_comp(3)
- ggls_driver_grp(3)
- geev(3)
- latrd(3)
- unbdb4(3)
- bbcsd(3)
- lange(3)
- gelq_comp3(3)
- gttrs(3)
- lasy2(3)
- hetf2_rook(3)
- gtsv(3)
- lalsd(3)
- lanhb(3)
- laqhb(3)
- hgeqz(3)
- gesvj(3)
- gsvj0(3)
- ungtsqr_row(3)
- gelq_comp1(3)
- gemmtr(3)
- pbequ(3)
- heev_driver(3)
- unhr_col(3)
- syconvf_rook(3)
- getc2(3)
- syconv(3)
- norm_grp(3)
- larrc(3)
- laqr4(3)
- posv_comp(3)
- geev_driver_grp(3)
- heev_comp(3)
- pfsv(3)
- trevc3(3)
- gesv_driver_grp(3)
- reflector_aux_grp(3)
- langt(3)
- lacrt(3)
- latdf(3)
- hetrs_aa_2stage(3)
- lamc1(3)
- hpev_driver(3)
- hegvd(3)
- pptri(3)
- geqrt3(3)
- gelqt3(3)
- lasd5(3)
- laeda(3)
- geqr(3)
- lamtsqr(3)
- heev(3)
- hpev_comp(3)
- larfg(3)
- blas2_grp(3)
- hesv_rook(3)
- laexc(3)
- hetrd(3)
- geesx(3)
- ppsvx(3)
- blas_top(3)
- gtts2(3)
- la_herpvgrw(3)
- hpevx(3)
- ggevx(3)
- lahqr(3)
- gelq_comp_grp(3)
- hesv_comp_v3(3)
- tplqt2(3)
- hpev(3)
- hbtrd(3)
- getrs(3)
- hecon_3(3)
- lasrt(3)
- lanhe(3)
- gesv_comp(3)
- gbequ(3)
- hetrf_rk(3)
- laqr3(3)
- heev_comp_grp(3)
- ungtsqr(3)
- ppcon(3)
- ggrq_comp_grp(3)
- larmm(3)
- ieeeck(3)
- geqrf(3)
- solve_aux_grp(3)
- herfs(3)
- posvx(3)
- posvxx(3)
- gges3(3)
- hbgvd(3)
- lantb(3)
- lasd_comp_grp(3)
- hpgvx(3)
- lapy2(3)
- lauu2(3)
- copy(3)
- getsqrhrt(3)
- stev_comp_grp(3)
- laev2(3)
- larfb_gett(3)
- trti2(3)
- laqz4(3)
- hegv_driver_grp(3)
- la_porfsx_extended(3)
- laruv(3)
- ggsvd_comp_grp(3)
- dot(3)
- gehd2(3)
- lanhf(3)
- hetri_rook(3)
- pfsv_comp(3)
- gbtrf(3)
- hpgst(3)
- getri(3)
- trevc(3)
- unmrz(3)
- hsein(3)
- lsamen(3)
- lasd6(3)
- trtri(3)
- ggglm(3)
- las2(3)
- latrs(3)
- lapll(3)
- gemlq(3)
- geqpf_comp_grp(3)
- stemr(3)
- rotm(3)
- disna(3)
- ggrqf(3)
- pptrf(3)
- lasd0(3)
- lals0(3)
- laqz2(3)
- hbev_driver2(3)
- geswlq_comp_grp(3)
- laqr0(3)
- trttp(3)
- stedc(3)
- lasq4(3)
- geev_comp_grp(3)
- ungbr(3)
- lanv2(3)
- hpsv(3)
- pprfs(3)
- gehrd(3)
- ppsv(3)
- lagtm(3)
- hpgv(3)
- trsv_comp(3)
- larfx(3)
- gesv_driver(3)
- gerfsx(3)
- la_geamv(3)
- laed9(3)
- tpqrt2(3)
- uncsd(3)
- gecs_comp_grp(3)
- bdsqr(3)
- hegv_comp_grp(3)
- labad(3)
- geqp3(3)
- gesvdq(3)
- tfttp(3)
- laln2(3)
- uncsd2by1(3)
- blas2_like_grp(3)
- latbs(3)
- hbgst(3)
- larrv(3)
- ilaenv2stage(3)
- bdsvdx(3)
- hegs2(3)
- lasq_comp_grp(3)
- hpr2(3)
- laqhe(3)
- larra(3)
- gemqrt(3)
- hbmv(3)
- hpsv_driver(3)
- lacp2(3)
- lapmt(3)
- gecon(3)
- unbdb5(3)
- la_gerpvgrw(3)
- tgex2(3)
- laqhp(3)
- tftri(3)
- getrf2(3)
- porfs(3)
- lartg(3)
- lagts(3)
- ggev_comp_grp(3)
- lasd3(3)
- geqr_comp2(3)
- laqz_group(3)
- pftri(3)
- hetri2x(3)
- lahef_aa(3)
- svd_driver_grp(3)
- gbsv_driver(3)
- hesv_comp_aasen2(3)
- laqtr(3)
- lag2(3)
- la_porcond(3)
- hbev(3)
- pbtrf(3)
- lascl(3)
- larr_comp_grp(3)
- hecon(3)
- pttrs(3)
- lasd8(3)
- lsame(3)
- unm2l(3)
- potrs(3)
- tptrs(3)
- lartv(3)
- trtrs(3)
- gsvj1(3)
- sum1(3)
- larrj(3)
- gbmv(3)
- posv(3)
- gghd3(3)
- geev_top(3)
- geqr_comp_grp(3)
- laset(3)
- hesvxx(3)
- posv_comp_grp(3)
- lahef_rk(3)
- lasd1(3)
- tprfb(3)
- potf2(3)
- laein(3)
- lamc4(3)
- stevd(3)
- gtsv_driver(3)
- gesvd_comp_grp(3)
- la_constants(3)
- gesvx(3)
- hseqr(3)
- launhr_col_getrfnp2(3)
- trcon(3)
- larre(3)
- gelsy(3)
- ptsv(3)
- lacon(3)
- laed_comp_grp(3)
- hpsvx(3)
- gemm(3)
- poequ(3)
- laesy(3)
- lagtf(3)
- trrfs(3)
- ggev3(3)
- pbstf(3)
- poequb(3)
- heevr(3)
- lanhp(3)
- unbdb3(3)
- tgsyl(3)
- lamc5(3)
- geqr2p(3)
- ungqr(3)
- laqz3(3)
- imax1(3)
- gels_top(3)
- hesv(3)
- gelqt(3)
- pfsv_driver(3)
- stegr(3)
- gerqf(3)
- laisnan(3)
- ilatrans(3)
- gbsv_comp(3)
- pbrfs(3)
- lascl2(3)
- larz(3)
- la_hercond(3)
- tgexc(3)
- ggesx(3)
- unbdb6(3)
- ungl2(3)
- laed_comp2(3)
- rscl(3)
- hegv(3)
- gelst(3)
- gbtrs(3)
- pftrf(3)
- langb(3)
- lantr(3)
- laqgb(3)
- ggsvp3(3)
- bdsdc(3)
- ladiv(3)
- laqge(3)
- iparmq(3)
- ggbal(3)
- hb2st_kernels(3)
- lartgs(3)
- lartgp(3)
- rot(3)
- ppequ(3)
- laed3(3)
- her(3)
- hptri(3)
- stevx(3)
- upgtr(3)
- lar2v(3)
- hbev_2stage(3)
- gejsv(3)
- ppsv_driver(3)
- unm22(3)
- gesvxx(3)
- laqz0(3)
- unmtr(3)
- laed5(3)
- tptri(3)
- laed0(3)
- heev_driver2(3)
- hpcon(3)
- lasd4(3)
- hetrf_aa(3)
- geqr_comp3(3)
- rot_aux_grp(3)
- aux_grp(3)
- laebz(3)
- trsyl3(3)
- gges(3)
- gesdd(3)
- trexc(3)
- ung2l(3)
- gesv(3)
- laed4(3)
- md__r_e_a_d_m_e(3)
- blas3_like_grp(3)
- laed1(3)
- larcm(3)
- hbevx(3)
- hesv_driver_grp(3)
- hetrs(3)
- hbevd_2stage(3)
- blas1_grp(3)
- laic1(3)
- geql_comp_grp(3)
- heev_2stage(3)
- hpmv(3)
- pbtf2(3)
- hetrf_aa_2stage(3)
- hbgv(3)
- pptrs(3)
- lapmr(3)
- tpqr_comp_grp(3)
- larfy(3)
- gedmd(3)
- lasr(3)
- hetrd_2stage(3)
- gerfs(3)
- ungtr(3)
- porfsx(3)
- tpmv(3)
- lasd_comp2(3)
- unmbr(3)
- tbtrs(3)
- hetd2(3)
- trsv_comp_grp(3)
- lapy3(3)
- ptts2(3)
- unmhr(3)
- hbev_driver(3)
- lalsa(3)
- tbsv_comp(3)
- hesv_comp_v1(3)
- geql2(3)
- sterf(3)
- larrd(3)
- larft(3)
- lagv2(3)
- gttrf(3)
- tpqrt(3)
- la_lin_berr(3)
- rotg(3)
- solve_top(3)
- lacgv(3)
- larrf(3)
- tbmv(3)
- trsyl(3)
- geequ(3)
- upmtr(3)
- hpgv_driver(3)
- tbsv(3)
- hesvx(3)
- latrz(3)
- tfttr(3)
- gesv_comp_grp(3)
- xerbla_grp(3)
- tpsv(3)
- blas3_grp(3)
- gesvd_driver(3)
- geqr_comp1(3)
- ggev_driver_grp(3)
- la_gbamv(3)
- tpmlqt(3)
- trttf(3)
- larzb(3)
- unmr3(3)
- hecon_rook(3)
- stebz(3)
- lantp(3)
- laqz1(3)
- hesv_rk(3)
- tbcon(3)
- xerbla(3)
- posv_mixed(3)
- latps(3)
- hesv_aa_driver(3)
- gemqr(3)
- larrr(3)
- gebrd(3)
- tgsna(3)
- la_gercond(3)
- gbsv(3)
- hesv_comp_grp(3)
- gesv_mixed(3)
- gghrd(3)
- gbrfs(3)
- tpmqrt(3)
- lasq3(3)
- tpsv_comp(3)
- largv(3)
- gelsd(3)
- pftrs(3)
- asum(3)
- launhr_col_getrfnp(3)
- hptrf(3)
- lacpy(3)
- gesc2(3)
- lasda(3)
- second(3)
- hprfs(3)
- hpsv_comp(3)
- lamrg(3)
- pbsv_comp(3)
- hegv_2stage(3)
- gerq2(3)
- lasdt(3)
- abs1(3)
- hbevd(3)
- hbev_comp(3)
- trsv(3)
- la_porpvgrw(3)
- la_gbrpvgrw(3)
- hbgv_driver(3)
- tgsja(3)
- gebd2(3)
- geqr2(3)
- unm2r(3)
- unmql(3)
- la_gbrfsx_extended(3)
- gelq_comp2(3)
- iparam2stage(3)
- ger(3)
- larf(3)
- ilaprec(3)
- labrd(3)
- unbdb1(3)
- unmlq(3)
- geequb(3)
- la_herfsx_extended(3)
- unbdb2(3)
- lapack_top(3)
- ptsv_driver(3)
- hetrs2(3)
- geqr_comp4(3)
- pbsv(3)
- posv_driver(3)
- steqr(3)
- gels(3)
- lar1v(3)
- hemv(3)
- la_transtype(3)
- hesv_aa(3)
- lacrm(3)
- stevr(3)
- hetf2_rk(3)
- blas2_banded(3)
- stein(3)
- unmrq(3)
- larrk(3)
- hetri2(3)
- hesv_aa_2stage(3)
- pttrf(3)
- gelss(3)
- pbsv_driver(3)
- lasq5(3)
- heevx_2stage(3)
- hetri(3)
- lasd2(3)
- laed2(3)
- pbcon(3)
- ptcon(3)
- laed7(3)
- gels_aux_grp(3)
- hpgvd(3)
- hetf2(3)
- tzrzf(3)
- hpr(3)
- unitary_top(3)
- latsqr(3)
- ungql(3)
- her2(3)
- hetri_3x(3)
- hetrd_hb2st(3)
- tgsen(3)
- ggsvd3(3)
- lasq6(3)
- set_grp(3)
- larfgp(3)
- gels_driver_grp(3)
- pbtrs(3)
- lamswlq(3)
- lanht(3)
- gbsvxx(3)
- tgevc(3)
- ilaenv(3)
- swap(3)
- lae2(3)
- iladiag(3)
- lasq2(3)
- la_heamv(3)
- blas_like_top(3)
- la_gerfsx_extended(3)
- hegst(3)
- tfsm(3)
- gesvd(3)
- ungr2(3)
- ggev(3)
- aux_top(3)
- blas2_packed(3)
- geqlf(3)
- hetrs_rook(3)
- gelq2(3)
- geqrfp(3)
- gbequb(3)
- stev(3)
- lauum(3)
- potrf2(3)
- lamc3(3)
- gbrfsx(3)
- gerq_comp_grp(3)
- pocon(3)
- tbrfs(3)
- heswapr(3)
- lamc2(3)
- hpevd(3)
- hesv_comp_aasen(3)
- scalar_grp(3)
- gemv(3)
- lasv2(3)
- lanhs(3)
- svd_top(3)
- gbsvx(3)
- gesvdx(3)
- tplq_comp_grp(3)
- hesv_driver(3)
- hesv_comp_v2(3)
- trsen(3)
- syconvf(3)
- lasd7(3)
- gbcon(3)
- unbdb(3)
- heev_driver_grp(3)
- ggqrf(3)
- heevx(3)
- gtsvx(3)
- lahef_rook(3)
- hetrf_rook(3)
- hetrf(3)
- trsna(3)
- gebak(3)
- larnv(3)
- ptsv_comp(3)
- laswlq(3)
- lags2(3)
- laed8(3)
- laswp(3)
- hptrs(3)
- unglq(3)
- la_wwaddw(3)
- getrf(3)
- gees(3)
- gbtf2(3)
- hegvx(3)
- latrs3(3)
- roundup_lwork(3)
- unghr(3)
- iamax(3)
- larzt(3)
- pteqr(3)
- ilaver(3)
- trmv(3)
- la_gbrcond(3)
- blas0_like_grp(3)
- nrm2(3)
- heev_top(3)
- gtcon(3)
- heevr_2stage(3)
- pstrf(3)
- rot_comp(3)
- laqr5(3)
- heevd_2stage(3)
- getsls(3)
- hetrd_he2hb(3)
- heequb(3)
- laqp2(3)
- axpy(3)
- blast_aux(3)
- rotmg(3)
- pbsvx(3)
- ilauplo(3)
- herfsx(3)
- laqr2(3)
- blas1_like_grp(3)
- lassq(3)
- larrb(3)
- stev_driver(3)
- geevx(3)
- tpttf(3)
- scal(3)
- laneg(3)
- posv_driver_grp(3)
- lasq1(3)
- hetrs_3(3)
- geqrt2(3)
- gbbrd(3)
- ilalr(3)
- hetri_3(3)
apt-get install liblapack-doc
Manual
stegr
NAMESYNOPSIS
Functions
Detailed Description
Function Documentation
subroutine cstegr (character jobz, character range, integer n, real,dimension( * ) d, real, dimension( * ) e, real vl, real vu, integer il,integer iu, real abstol, integer m, real, dimension( * ) w, complex,dimension( ldz, * ) z, integer ldz, integer, dimension( * ) isuppz,real, dimension( * ) work, integer lwork, integer, dimension( * )iwork, integer liwork, integer info)
subroutine dstegr (character jobz, character range, integer n, doubleprecision, dimension( * ) d, double precision, dimension( * ) e, doubleprecision vl, double precision vu, integer il, integer iu, doubleprecision abstol, integer m, double precision, dimension( * ) w, doubleprecision, dimension( ldz, * ) z, integer ldz, integer, dimension( * )isuppz, double precision, dimension( * ) work, integer lwork, integer,dimension( * ) iwork, integer liwork, integer info)
subroutine sstegr (character jobz, character range, integer n, real,dimension( * ) d, real, dimension( * ) e, real vl, real vu, integer il,integer iu, real abstol, integer m, real, dimension( * ) w, real,dimension( ldz, * ) z, integer ldz, integer, dimension( * ) isuppz,real, dimension( * ) work, integer lwork, integer, dimension( * )iwork, integer liwork, integer info)
subroutine zstegr (character jobz, character range, integer n, doubleprecision, dimension( * ) d, double precision, dimension( * ) e, doubleprecision vl, double precision vu, integer il, integer iu, doubleprecision abstol, integer m, double precision, dimension( * ) w,complex*16, dimension( ldz, * ) z, integer ldz, integer, dimension( * )isuppz, double precision, dimension( * ) work, integer lwork, integer,dimension( * ) iwork, integer liwork, integer info)
Author
NAME
stegr - stegr: eig, bisection, see stemr
SYNOPSIS
Functions
subroutine
cstegr
(jobz, range, n, d, e, vl, vu, il, iu, abstol,
m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info)
CSTEGR
subroutine
dstegr
(jobz, range, n, d, e, vl, vu, il,
iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork,
liwork, info)
DSTEGR
subroutine
sstegr
(jobz, range, n, d, e, vl, vu, il,
iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork,
liwork, info)
SSTEGR
subroutine
zstegr
(jobz, range, n, d, e, vl, vu, il,
iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork,
liwork, info)
ZSTEGR
Detailed Description
Function Documentation
subroutine cstegr (character jobz, character range, integer n, real,dimension( * ) d, real, dimension( * ) e, real vl, real vu, integer il,integer iu, real abstol, integer m, real, dimension( * ) w, complex,dimension( ldz, * ) z, integer ldz, integer, dimension( * ) isuppz,real, dimension( * ) work, integer lwork, integer, dimension( * )iwork, integer liwork, integer info)
CSTEGR
Purpose:
CSTEGR computes
selected eigenvalues and, optionally, eigenvectors
of a real symmetric tridiagonal matrix T. Any such unreduced
matrix has
a well defined set of pairwise different real eigenvalues,
the corresponding
real eigenvectors are pairwise orthogonal.
The spectrum
may be computed either completely or partially by specifying
either an interval (VL,VU] or a range of indices IL:IU for
the desired
eigenvalues.
CSTEGR is a
compatibility wrapper around the improved CSTEMR routine.
See SSTEMR for further details.
One important
change is that the ABSTOL parameter no longer provides any
benefit and hence is no longer used.
Note : CSTEGR
and CSTEMR work only on machines which follow
IEEE-754 floating-point standard in their handling of
infinities and
NaNs. Normal execution may create these exceptional values
and hence
may abort due to a floating point exception in environments
which
do not conform to the IEEE-754 standard.
Parameters
JOBZ
JOBZ is
CHARACTER*1
= āNā: Compute eigenvalues only;
= āVā: Compute eigenvalues and eigenvectors.
RANGE
RANGE is
CHARACTER*1
= āAā: all eigenvalues will be found.
= āVā: all eigenvalues in the half-open interval
(VL,VU]
will be found.
= āIā: the IL-th through IU-th eigenvalues will
be found.
N
N is INTEGER
The order of the matrix. N >= 0.
D
D is REAL
array, dimension (N)
On entry, the N diagonal elements of the tridiagonal matrix
T. On exit, D is overwritten.
E
E is REAL
array, dimension (N)
On entry, the (N-1) subdiagonal elements of the tridiagonal
matrix T in elements 1 to N-1 of E. E(N) need not be set on
input, but is used internally as workspace.
On exit, E is overwritten.
VL
VL is REAL
If
RANGE=āVā, the lower bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
VU
VU is REAL
If
RANGE=āVā, the upper bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
IL
IL is INTEGER
If
RANGE=āIā, the index of the
smallest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
IU
IU is INTEGER
If
RANGE=āIā, the index of the
largest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
ABSTOL
ABSTOL is REAL
Unused. Was the absolute error tolerance for the
eigenvalues/eigenvectors in previous versions.
M
M is INTEGER
The total number of eigenvalues found. 0 <= M <= N.
If RANGE = āAā, M = N, and if RANGE =
āIā, M = IU-IL+1.
W
W is REAL
array, dimension (N)
The first M elements contain the selected eigenvalues in
ascending order.
Z
Z is COMPLEX
array, dimension (LDZ, max(1,M) )
If JOBZ = āVā, and if INFO = 0, then the first M
columns of Z
contain the orthonormal eigenvectors of the matrix T
corresponding to the selected eigenvalues, with the i-th
column of Z holding the eigenvector associated with W(i).
If JOBZ = āNā, then Z is not referenced.
Note: the user must ensure that at least max(1,M) columns
are
supplied in the array Z; if RANGE = āVā, the
exact value of M
is not known in advance and an upper bound must be used.
Supplying N columns is always safe.
LDZ
LDZ is INTEGER
The leading dimension of the array Z. LDZ >= 1, and if
JOBZ = āVā, then LDZ >= max(1,N).
ISUPPZ
ISUPPZ is
INTEGER array, dimension ( 2*max(1,M) )
The support of the eigenvectors in Z, i.e., the indices
indicating the nonzero elements in Z. The i-th computed
eigenvector
is nonzero only in elements ISUPPZ( 2*i-1 ) through
ISUPPZ( 2*i ). This is relevant in the case when the matrix
is split. ISUPPZ is only accessed when JOBZ is
āVā and N > 0.
WORK
WORK is REAL
array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal
(and minimal) LWORK.
LWORK
LWORK is
INTEGER
The dimension of the array WORK. LWORK >= max(1,18*N)
if JOBZ = āVā, and LWORK >= max(1,12*N) if
JOBZ = āNā.
If LWORK = -1, then a workspace query is assumed; the
routine
only calculates the optimal size of the WORK array, returns
this value as the first entry of the WORK array, and no
error
message related to LWORK is issued by XERBLA.
IWORK
IWORK is
INTEGER array, dimension (LIWORK)
On exit, if INFO = 0, IWORK(1) returns the optimal
LIWORK.
LIWORK
LIWORK is
INTEGER
The dimension of the array IWORK. LIWORK >= max(1,10*N)
if the eigenvectors are desired, and LIWORK >= max(1,8*N)
if only the eigenvalues are to be computed.
If LIWORK = -1, then a workspace query is assumed; the
routine only calculates the optimal size of the IWORK array,
returns this value as the first entry of the IWORK array,
and
no error message related to LIWORK is issued by XERBLA.
INFO
INFO is INTEGER
On exit, INFO
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = 1X, internal error in SLARRE,
if INFO = 2X, internal error in CLARRV.
Here, the digit X = ABS( IINFO ) < 10, where IINFO is
the nonzero error code returned by SLARRE or
CLARRV, respectively.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Inderjit Dhillon, IBM Almaden,
USA
Osni Marques, LBNL/NERSC, USA
Christof Voemel, LBNL/NERSC, USA
subroutine dstegr (character jobz, character range, integer n, doubleprecision, dimension( * ) d, double precision, dimension( * ) e, doubleprecision vl, double precision vu, integer il, integer iu, doubleprecision abstol, integer m, double precision, dimension( * ) w, doubleprecision, dimension( ldz, * ) z, integer ldz, integer, dimension( * )isuppz, double precision, dimension( * ) work, integer lwork, integer,dimension( * ) iwork, integer liwork, integer info)
DSTEGR
Purpose:
DSTEGR computes
selected eigenvalues and, optionally, eigenvectors
of a real symmetric tridiagonal matrix T. Any such unreduced
matrix has
a well defined set of pairwise different real eigenvalues,
the corresponding
real eigenvectors are pairwise orthogonal.
The spectrum
may be computed either completely or partially by specifying
either an interval (VL,VU] or a range of indices IL:IU for
the desired
eigenvalues.
DSTEGR is a
compatibility wrapper around the improved DSTEMR routine.
See DSTEMR for further details.
One important
change is that the ABSTOL parameter no longer provides any
benefit and hence is no longer used.
Note : DSTEGR
and DSTEMR work only on machines which follow
IEEE-754 floating-point standard in their handling of
infinities and
NaNs. Normal execution may create these exceptional values
and hence
may abort due to a floating point exception in environments
which
do not conform to the IEEE-754 standard.
Parameters
JOBZ
JOBZ is
CHARACTER*1
= āNā: Compute eigenvalues only;
= āVā: Compute eigenvalues and eigenvectors.
RANGE
RANGE is
CHARACTER*1
= āAā: all eigenvalues will be found.
= āVā: all eigenvalues in the half-open interval
(VL,VU]
will be found.
= āIā: the IL-th through IU-th eigenvalues will
be found.
N
N is INTEGER
The order of the matrix. N >= 0.
D
D is DOUBLE
PRECISION array, dimension (N)
On entry, the N diagonal elements of the tridiagonal matrix
T. On exit, D is overwritten.
E
E is DOUBLE
PRECISION array, dimension (N)
On entry, the (N-1) subdiagonal elements of the tridiagonal
matrix T in elements 1 to N-1 of E. E(N) need not be set on
input, but is used internally as workspace.
On exit, E is overwritten.
VL
VL is DOUBLE PRECISION
If
RANGE=āVā, the lower bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
VU
VU is DOUBLE PRECISION
If
RANGE=āVā, the upper bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
IL
IL is INTEGER
If
RANGE=āIā, the index of the
smallest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
IU
IU is INTEGER
If
RANGE=āIā, the index of the
largest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
ABSTOL
ABSTOL is
DOUBLE PRECISION
Unused. Was the absolute error tolerance for the
eigenvalues/eigenvectors in previous versions.
M
M is INTEGER
The total number of eigenvalues found. 0 <= M <= N.
If RANGE = āAā, M = N, and if RANGE =
āIā, M = IU-IL+1.
W
W is DOUBLE
PRECISION array, dimension (N)
The first M elements contain the selected eigenvalues in
ascending order.
Z
Z is DOUBLE
PRECISION array, dimension (LDZ, max(1,M) )
If JOBZ = āVā, and if INFO = 0, then the first M
columns of Z
contain the orthonormal eigenvectors of the matrix T
corresponding to the selected eigenvalues, with the i-th
column of Z holding the eigenvector associated with W(i).
If JOBZ = āNā, then Z is not referenced.
Note: the user must ensure that at least max(1,M) columns
are
supplied in the array Z; if RANGE = āVā, the
exact value of M
is not known in advance and an upper bound must be used.
Supplying N columns is always safe.
LDZ
LDZ is INTEGER
The leading dimension of the array Z. LDZ >= 1, and if
JOBZ = āVā, then LDZ >= max(1,N).
ISUPPZ
ISUPPZ is
INTEGER array, dimension ( 2*max(1,M) )
The support of the eigenvectors in Z, i.e., the indices
indicating the nonzero elements in Z. The i-th computed
eigenvector
is nonzero only in elements ISUPPZ( 2*i-1 ) through
ISUPPZ( 2*i ). This is relevant in the case when the matrix
is split. ISUPPZ is only accessed when JOBZ is
āVā and N > 0.
WORK
WORK is DOUBLE
PRECISION array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal
(and minimal) LWORK.
LWORK
LWORK is
INTEGER
The dimension of the array WORK. LWORK >= max(1,18*N)
if JOBZ = āVā, and LWORK >= max(1,12*N) if
JOBZ = āNā.
If LWORK = -1, then a workspace query is assumed; the
routine
only calculates the optimal size of the WORK array, returns
this value as the first entry of the WORK array, and no
error
message related to LWORK is issued by XERBLA.
IWORK
IWORK is
INTEGER array, dimension (LIWORK)
On exit, if INFO = 0, IWORK(1) returns the optimal
LIWORK.
LIWORK
LIWORK is
INTEGER
The dimension of the array IWORK. LIWORK >= max(1,10*N)
if the eigenvectors are desired, and LIWORK >= max(1,8*N)
if only the eigenvalues are to be computed.
If LIWORK = -1, then a workspace query is assumed; the
routine only calculates the optimal size of the IWORK array,
returns this value as the first entry of the IWORK array,
and
no error message related to LIWORK is issued by XERBLA.
INFO
INFO is INTEGER
On exit, INFO
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = 1X, internal error in DLARRE,
if INFO = 2X, internal error in DLARRV.
Here, the digit X = ABS( IINFO ) < 10, where IINFO is
the nonzero error code returned by DLARRE or
DLARRV, respectively.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Inderjit Dhillon, IBM Almaden,
USA
Osni Marques, LBNL/NERSC, USA
Christof Voemel, LBNL/NERSC, USA
subroutine sstegr (character jobz, character range, integer n, real,dimension( * ) d, real, dimension( * ) e, real vl, real vu, integer il,integer iu, real abstol, integer m, real, dimension( * ) w, real,dimension( ldz, * ) z, integer ldz, integer, dimension( * ) isuppz,real, dimension( * ) work, integer lwork, integer, dimension( * )iwork, integer liwork, integer info)
SSTEGR
Purpose:
SSTEGR computes
selected eigenvalues and, optionally, eigenvectors
of a real symmetric tridiagonal matrix T. Any such unreduced
matrix has
a well defined set of pairwise different real eigenvalues,
the corresponding
real eigenvectors are pairwise orthogonal.
The spectrum
may be computed either completely or partially by specifying
either an interval (VL,VU] or a range of indices IL:IU for
the desired
eigenvalues.
SSTEGR is a
compatibility wrapper around the improved SSTEMR routine.
See SSTEMR for further details.
One important
change is that the ABSTOL parameter no longer provides any
benefit and hence is no longer used.
Note : SSTEGR
and SSTEMR work only on machines which follow
IEEE-754 floating-point standard in their handling of
infinities and
NaNs. Normal execution may create these exceptional values
and hence
may abort due to a floating point exception in environments
which
do not conform to the IEEE-754 standard.
Parameters
JOBZ
JOBZ is
CHARACTER*1
= āNā: Compute eigenvalues only;
= āVā: Compute eigenvalues and eigenvectors.
RANGE
RANGE is
CHARACTER*1
= āAā: all eigenvalues will be found.
= āVā: all eigenvalues in the half-open interval
(VL,VU]
will be found.
= āIā: the IL-th through IU-th eigenvalues will
be found.
N
N is INTEGER
The order of the matrix. N >= 0.
D
D is REAL
array, dimension (N)
On entry, the N diagonal elements of the tridiagonal matrix
T. On exit, D is overwritten.
E
E is REAL
array, dimension (N)
On entry, the (N-1) subdiagonal elements of the tridiagonal
matrix T in elements 1 to N-1 of E. E(N) need not be set on
input, but is used internally as workspace.
On exit, E is overwritten.
VL
VL is REAL
If
RANGE=āVā, the lower bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
VU
VU is REAL
If
RANGE=āVā, the upper bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
IL
IL is INTEGER
If
RANGE=āIā, the index of the
smallest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
IU
IU is INTEGER
If
RANGE=āIā, the index of the
largest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
ABSTOL
ABSTOL is REAL
Unused. Was the absolute error tolerance for the
eigenvalues/eigenvectors in previous versions.
M
M is INTEGER
The total number of eigenvalues found. 0 <= M <= N.
If RANGE = āAā, M = N, and if RANGE =
āIā, M = IU-IL+1.
W
W is REAL
array, dimension (N)
The first M elements contain the selected eigenvalues in
ascending order.
Z
Z is REAL
array, dimension (LDZ, max(1,M) )
If JOBZ = āVā, and if INFO = 0, then the first M
columns of Z
contain the orthonormal eigenvectors of the matrix T
corresponding to the selected eigenvalues, with the i-th
column of Z holding the eigenvector associated with W(i).
If JOBZ = āNā, then Z is not referenced.
Note: the user must ensure that at least max(1,M) columns
are
supplied in the array Z; if RANGE = āVā, the
exact value of M
is not known in advance and an upper bound must be used.
Supplying N columns is always safe.
LDZ
LDZ is INTEGER
The leading dimension of the array Z. LDZ >= 1, and if
JOBZ = āVā, then LDZ >= max(1,N).
ISUPPZ
ISUPPZ is
INTEGER array, dimension ( 2*max(1,M) )
The support of the eigenvectors in Z, i.e., the indices
indicating the nonzero elements in Z. The i-th computed
eigenvector
is nonzero only in elements ISUPPZ( 2*i-1 ) through
ISUPPZ( 2*i ). This is relevant in the case when the matrix
is split. ISUPPZ is only accessed when JOBZ is
āVā and N > 0.
WORK
WORK is REAL
array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal
(and minimal) LWORK.
LWORK
LWORK is
INTEGER
The dimension of the array WORK. LWORK >= max(1,18*N)
if JOBZ = āVā, and LWORK >= max(1,12*N) if
JOBZ = āNā.
If LWORK = -1, then a workspace query is assumed; the
routine
only calculates the optimal size of the WORK array, returns
this value as the first entry of the WORK array, and no
error
message related to LWORK is issued by XERBLA.
IWORK
IWORK is
INTEGER array, dimension (LIWORK)
On exit, if INFO = 0, IWORK(1) returns the optimal
LIWORK.
LIWORK
LIWORK is
INTEGER
The dimension of the array IWORK. LIWORK >= max(1,10*N)
if the eigenvectors are desired, and LIWORK >= max(1,8*N)
if only the eigenvalues are to be computed.
If LIWORK = -1, then a workspace query is assumed; the
routine only calculates the optimal size of the IWORK array,
returns this value as the first entry of the IWORK array,
and
no error message related to LIWORK is issued by XERBLA.
INFO
INFO is INTEGER
On exit, INFO
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = 1X, internal error in SLARRE,
if INFO = 2X, internal error in SLARRV.
Here, the digit X = ABS( IINFO ) < 10, where IINFO is
the nonzero error code returned by SLARRE or
SLARRV, respectively.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Inderjit Dhillon, IBM Almaden,
USA
Osni Marques, LBNL/NERSC, USA
Christof Voemel, LBNL/NERSC, USA
subroutine zstegr (character jobz, character range, integer n, doubleprecision, dimension( * ) d, double precision, dimension( * ) e, doubleprecision vl, double precision vu, integer il, integer iu, doubleprecision abstol, integer m, double precision, dimension( * ) w,complex*16, dimension( ldz, * ) z, integer ldz, integer, dimension( * )isuppz, double precision, dimension( * ) work, integer lwork, integer,dimension( * ) iwork, integer liwork, integer info)
ZSTEGR
Purpose:
ZSTEGR computes
selected eigenvalues and, optionally, eigenvectors
of a real symmetric tridiagonal matrix T. Any such unreduced
matrix has
a well defined set of pairwise different real eigenvalues,
the corresponding
real eigenvectors are pairwise orthogonal.
The spectrum
may be computed either completely or partially by specifying
either an interval (VL,VU] or a range of indices IL:IU for
the desired
eigenvalues.
ZSTEGR is a
compatibility wrapper around the improved ZSTEMR routine.
See ZSTEMR for further details.
One important
change is that the ABSTOL parameter no longer provides any
benefit and hence is no longer used.
Note : ZSTEGR
and ZSTEMR work only on machines which follow
IEEE-754 floating-point standard in their handling of
infinities and
NaNs. Normal execution may create these exceptional values
and hence
may abort due to a floating point exception in environments
which
do not conform to the IEEE-754 standard.
Parameters
JOBZ
JOBZ is
CHARACTER*1
= āNā: Compute eigenvalues only;
= āVā: Compute eigenvalues and eigenvectors.
RANGE
RANGE is
CHARACTER*1
= āAā: all eigenvalues will be found.
= āVā: all eigenvalues in the half-open interval
(VL,VU]
will be found.
= āIā: the IL-th through IU-th eigenvalues will
be found.
N
N is INTEGER
The order of the matrix. N >= 0.
D
D is DOUBLE
PRECISION array, dimension (N)
On entry, the N diagonal elements of the tridiagonal matrix
T. On exit, D is overwritten.
E
E is DOUBLE
PRECISION array, dimension (N)
On entry, the (N-1) subdiagonal elements of the tridiagonal
matrix T in elements 1 to N-1 of E. E(N) need not be set on
input, but is used internally as workspace.
On exit, E is overwritten.
VL
VL is DOUBLE PRECISION
If
RANGE=āVā, the lower bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
VU
VU is DOUBLE PRECISION
If
RANGE=āVā, the upper bound of the interval to
be searched for eigenvalues. VL < VU.
Not referenced if RANGE = āAā or
āIā.
IL
IL is INTEGER
If
RANGE=āIā, the index of the
smallest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
IU
IU is INTEGER
If
RANGE=āIā, the index of the
largest eigenvalue to be returned.
1 <= IL <= IU <= N, if N > 0.
Not referenced if RANGE = āAā or
āVā.
ABSTOL
ABSTOL is
DOUBLE PRECISION
Unused. Was the absolute error tolerance for the
eigenvalues/eigenvectors in previous versions.
M
M is INTEGER
The total number of eigenvalues found. 0 <= M <= N.
If RANGE = āAā, M = N, and if RANGE =
āIā, M = IU-IL+1.
W
W is DOUBLE
PRECISION array, dimension (N)
The first M elements contain the selected eigenvalues in
ascending order.
Z
Z is COMPLEX*16
array, dimension (LDZ, max(1,M) )
If JOBZ = āVā, and if INFO = 0, then the first M
columns of Z
contain the orthonormal eigenvectors of the matrix T
corresponding to the selected eigenvalues, with the i-th
column of Z holding the eigenvector associated with W(i).
If JOBZ = āNā, then Z is not referenced.
Note: the user must ensure that at least max(1,M) columns
are
supplied in the array Z; if RANGE = āVā, the
exact value of M
is not known in advance and an upper bound must be used.
Supplying N columns is always safe.
LDZ
LDZ is INTEGER
The leading dimension of the array Z. LDZ >= 1, and if
JOBZ = āVā, then LDZ >= max(1,N).
ISUPPZ
ISUPPZ is
INTEGER array, dimension ( 2*max(1,M) )
The support of the eigenvectors in Z, i.e., the indices
indicating the nonzero elements in Z. The i-th computed
eigenvector
is nonzero only in elements ISUPPZ( 2*i-1 ) through
ISUPPZ( 2*i ). This is relevant in the case when the matrix
is split. ISUPPZ is only accessed when JOBZ is
āVā and N > 0.
WORK
WORK is DOUBLE
PRECISION array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal
(and minimal) LWORK.
LWORK
LWORK is
INTEGER
The dimension of the array WORK. LWORK >= max(1,18*N)
if JOBZ = āVā, and LWORK >= max(1,12*N) if
JOBZ = āNā.
If LWORK = -1, then a workspace query is assumed; the
routine
only calculates the optimal size of the WORK array, returns
this value as the first entry of the WORK array, and no
error
message related to LWORK is issued by XERBLA.
IWORK
IWORK is
INTEGER array, dimension (LIWORK)
On exit, if INFO = 0, IWORK(1) returns the optimal
LIWORK.
LIWORK
LIWORK is
INTEGER
The dimension of the array IWORK. LIWORK >= max(1,10*N)
if the eigenvectors are desired, and LIWORK >= max(1,8*N)
if only the eigenvalues are to be computed.
If LIWORK = -1, then a workspace query is assumed; the
routine only calculates the optimal size of the IWORK array,
returns this value as the first entry of the IWORK array,
and
no error message related to LIWORK is issued by XERBLA.
INFO
INFO is INTEGER
On exit, INFO
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = 1X, internal error in DLARRE,
if INFO = 2X, internal error in ZLARRV.
Here, the digit X = ABS( IINFO ) < 10, where IINFO is
the nonzero error code returned by DLARRE or
ZLARRV, respectively.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Inderjit Dhillon, IBM Almaden,
USA
Osni Marques, LBNL/NERSC, USA
Christof Voemel, LBNL/NERSC, USA
Author
Generated automatically by Doxygen for LAPACK from the source code.