Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/chbevx.f
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,11 @@
*> INFO is INTEGER
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> CSTEIN; their indices are stored in IFAIL.
*> > N: SSTEBZ returned INFO = INFO - N;
*> see SSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -484,12 +487,19 @@ SUBROUTINE CHBEVX( JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL,
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
$ IWORK( INDIWK ), INFO )
$ IWORK( INDIWK ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 30
END IF
*
IF( WANTZ ) THEN
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply unitary matrix used in reduction to tridiagonal
* form to eigenvectors returned by CSTEIN.
Expand Down
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/chbevx_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,11 @@
*> INFO is INTEGER
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> CSTEIN; their indices are stored in IFAIL.
*> > N: SSTEBZ returned INFO = INFO - N;
*> see SSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -577,12 +580,19 @@ SUBROUTINE CHBEVX_2STAGE( JOBZ, RANGE, UPLO, N, KD, AB, LDAB,
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
$ IWORK( INDIWK ), INFO )
$ IWORK( INDIWK ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 30
END IF
*
IF( WANTZ ) THEN
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply unitary matrix used in reduction to tridiagonal
* form to eigenvectors returned by CSTEIN.
Expand Down
25 changes: 17 additions & 8 deletions lapack-netlib/SRC/chbgvx.f
Original file line number Diff line number Diff line change
Expand Up @@ -270,12 +270,14 @@
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge. Their
*> indices are stored in array IFAIL.
*> > N: if INFO = N + i, for 1 <= i <= N, then CPBSTF
*> returned INFO = i: B is not positive definite.
*> The factorization of B could not be completed and
*> no eigenvalues or eigenvectors were computed.
*> <= N: then i eigenvectors failed to converge in
*> CSTEIN; their indices are stored in IFAIL.
*> N+1..2N: if INFO = N + i, for 1 <= i <= N, then CPBSTF
*> returned INFO = i: B is not positive definite.
*> The factorization of B could not be completed
*> and no eigenvalues or eigenvectors were computed.
*> > 2N: if INFO = 2*N + i, then SSTEBZ returned
*> INFO = i; see SSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -475,12 +477,19 @@ SUBROUTINE CHBGVX( JOBZ, RANGE, UPLO, N, KA, KB, AB, LDAB, BB,
CALL SSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL,
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
$ IWORK( 1 ), IWORK( INDISP ), RWORK( INDRWK ),
$ IWORK( INDIWK ), INFO )
$ IWORK( INDIWK ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = 2*N + IINFO
IF( IINFO.NE.1 )
$ GO TO 30
END IF
*
IF( WANTZ ) THEN
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply unitary matrix used in reduction to tridiagonal
* form to eigenvectors returned by CSTEIN.
Expand Down
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/cheevx.f
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,11 @@
*> INFO is INTEGER
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> CSTEIN; their indices are stored in IFAIL.
*> > N: SSTEBZ returned INFO = INFO - N;
*> see SSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -494,12 +497,19 @@ SUBROUTINE CHEEVX( JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU,
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
$ IWORK( INDIWK ), INFO )
$ IWORK( INDIWK ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 40
END IF
*
IF( WANTZ ) THEN
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply unitary matrix used in reduction to tridiagonal
* form to eigenvectors returned by CSTEIN.
Expand Down
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/cheevx_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,11 @@
*> INFO is INTEGER
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> CSTEIN; their indices are stored in IFAIL.
*> > N: SSTEBZ returned INFO = INFO - N;
*> see SSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -553,12 +556,19 @@ SUBROUTINE CHEEVX_2STAGE( JOBZ, RANGE, UPLO, N, A, LDA, VL, VU,
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
$ IWORK( INDIWK ), INFO )
$ IWORK( INDIWK ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 40
END IF
*
IF( WANTZ ) THEN
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply unitary matrix used in reduction to tridiagonal
* form to eigenvectors returned by CSTEIN.
Expand Down
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/chpevx.f
Original file line number Diff line number Diff line change
Expand Up @@ -219,8 +219,11 @@
*> INFO is INTEGER
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> CSTEIN; their indices are stored in IFAIL.
*> > N: SSTEBZ returned INFO = INFO - N;
*> see SSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -439,12 +442,19 @@ SUBROUTINE CHPEVX( JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU,
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
$ IWORK( 1 ), IWORK( INDISP ), RWORK( INDRWK ),
$ IWORK( INDIWK ), INFO )
$ IWORK( INDIWK ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 20
END IF
*
IF( WANTZ ) THEN
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply unitary matrix used in reduction to tridiagonal
* form to eigenvectors returned by CSTEIN.
Expand Down
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/dsbevx.f
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,11 @@
*> INFO is INTEGER
*> = 0: successful exit.
*> < 0: if INFO = -i, the i-th argument had an illegal value.
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> DSTEIN; their indices are stored in IFAIL.
*> > N: DSTEBZ returned INFO = INFO - N;
*> see DSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -474,12 +477,19 @@ SUBROUTINE DSBEVX( JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL,
CALL DSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
$ IWORK( INDIBL ), IWORK( INDISP ), WORK( INDWRK ),
$ IWORK( INDIWO ), INFO )
$ IWORK( INDIWO ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 30
END IF
*
IF( WANTZ ) THEN
CALL DSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply orthogonal matrix used in reduction to tridiagonal
* form to eigenvectors returned by DSTEIN.
Expand Down
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/dsbevx_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,11 @@
*> INFO is INTEGER
*> = 0: successful exit.
*> < 0: if INFO = -i, the i-th argument had an illegal value.
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> DSTEIN; their indices are stored in IFAIL.
*> > N: DSTEBZ returned INFO = INFO - N;
*> see DSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -563,12 +566,19 @@ SUBROUTINE DSBEVX_2STAGE( JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q,
CALL DSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
$ IWORK( INDIBL ), IWORK( INDISP ), WORK( INDWRK ),
$ IWORK( INDIWO ), INFO )
$ IWORK( INDIWO ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 30
END IF
*
IF( WANTZ ) THEN
CALL DSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply orthogonal matrix used in reduction to tridiagonal
* form to eigenvectors returned by DSTEIN.
Expand Down
26 changes: 17 additions & 9 deletions lapack-netlib/SRC/dsbgvx.f
Original file line number Diff line number Diff line change
Expand Up @@ -263,13 +263,14 @@
*> INFO is INTEGER
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> <= N: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in IFAIL.
*> > N: DPBSTF returned an error code; i.e.,
*> if INFO = N + i, for 1 <= i <= N, then the leading
*> principal minor of order i of B is not positive.
*> The factorization of B could not be completed and
*> no eigenvalues or eigenvectors were computed.
*> <= N: if INFO = i, then i eigenvectors failed to converge
*> in DSTEIN; their indices are stored in IFAIL.
*> N+1..2N: if INFO = N + i, for 1 <= i <= N, then DPBSTF
*> returned an error code; the leading principal minor
*> of order i of B is not positive. No eigenvalues or
*> eigenvectors were computed.
*> > 2N: if INFO = 2*N + i, then DSTEBZ returned
*> INFO = i; see DSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -462,12 +463,19 @@ SUBROUTINE DSBGVX( JOBZ, RANGE, UPLO, N, KA, KB, AB, LDAB, BB,
CALL DSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL,
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
$ IWORK( 1 ), IWORK( INDISP ), WORK( INDWRK ),
$ IWORK( INDIWO ), INFO )
$ IWORK( INDIWO ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = 2*N + IINFO
IF( IINFO.NE.1 )
$ GO TO 30
END IF
*
IF( WANTZ ) THEN
CALL DSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply transformation matrix used in reduction to tridiagonal
* form to eigenvectors returned by DSTEIN.
Expand Down
18 changes: 14 additions & 4 deletions lapack-netlib/SRC/dspevx.f
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,11 @@
*> INFO is INTEGER
*> = 0: successful exit
*> < 0: if INFO = -i, the i-th argument had an illegal value
*> > 0: if INFO = i, then i eigenvectors failed to converge.
*> Their indices are stored in array IFAIL.
*> > 0: if INFO = i, and i is:
*> <= N: then i eigenvectors failed to converge in
*> DSTEIN; their indices are stored in IFAIL.
*> > N: DSTEBZ returned INFO = INFO - N;
*> see DSTEBZ for details.
*> \endverbatim
*
* Authors:
Expand Down Expand Up @@ -429,12 +432,19 @@ SUBROUTINE DSPEVX( JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU,
CALL DSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
$ IWORK( 1 ), IWORK( INDISP ), WORK( INDWRK ),
$ IWORK( INDIWO ), INFO )
$ IWORK( INDIWO ), IINFO )
IF( IINFO.NE.0 ) THEN
INFO = N + IINFO
IF( IINFO.NE.1 )
$ GO TO 20
END IF
*
IF( WANTZ ) THEN
CALL DSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, IINFO )
IF( IINFO.NE.0 .AND. INFO.EQ.0 )
$ INFO = IINFO
*
* Apply orthogonal matrix used in reduction to tridiagonal
* form to eigenvectors returned by DSTEIN.
Expand Down
Loading
Loading