Apply ROUNDUP_LWORK (Reference-LAPACK PR 904)
This commit is contained in:
parent
71fbdd908d
commit
f5664740cd
|
@ -147,7 +147,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup gebrd
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -230,11 +230,12 @@
|
||||||
EXTERNAL SGEBD2, SGEMM, SLABRD, XERBLA
|
EXTERNAL SGEBD2, SGEMM, SLABRD, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, MIN, REAL
|
INTRINSIC MAX, MIN
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -243,7 +244,7 @@
|
||||||
INFO = 0
|
INFO = 0
|
||||||
NB = MAX( 1, ILAENV( 1, 'SGEBRD', ' ', M, N, -1, -1 ) )
|
NB = MAX( 1, ILAENV( 1, 'SGEBRD', ' ', M, N, -1, -1 ) )
|
||||||
LWKOPT = ( M+N )*NB
|
LWKOPT = ( M+N )*NB
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
LQUERY = ( LWORK.EQ.-1 )
|
LQUERY = ( LWORK.EQ.-1 )
|
||||||
IF( M.LT.0 ) THEN
|
IF( M.LT.0 ) THEN
|
||||||
INFO = -1
|
INFO = -1
|
||||||
|
@ -341,7 +342,7 @@
|
||||||
*
|
*
|
||||||
CALL SGEBD2( M-I+1, N-I+1, A( I, I ), LDA, D( I ), E( I ),
|
CALL SGEBD2( M-I+1, N-I+1, A( I, I ), LDA, D( I ), E( I ),
|
||||||
$ TAUQ( I ), TAUP( I ), WORK, IINFO )
|
$ TAUQ( I ), TAUP( I ), WORK, IINFO )
|
||||||
WORK( 1 ) = WS
|
WORK( 1 ) = SROUNDUP_LWORK(WS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEBRD
|
* End of SGEBRD
|
||||||
|
|
|
@ -208,7 +208,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup gees
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, WR, WI,
|
SUBROUTINE SGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, WR, WI,
|
||||||
|
@ -250,14 +250,14 @@
|
||||||
REAL DUM( 1 )
|
REAL DUM( 1 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD,
|
EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLACPY,
|
||||||
$ SLACPY, SLASCL, SORGHR, SSWAP, STRSEN, XERBLA
|
$ SLASCL, SORGHR, SSWAP, STRSEN, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, SQRT
|
INTRINSIC MAX, SQRT
|
||||||
|
@ -312,7 +312,7 @@
|
||||||
MAXWRK = MAX( MAXWRK, N + HSWORK )
|
MAXWRK = MAX( MAXWRK, N + HSWORK )
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -13
|
INFO = -13
|
||||||
|
@ -338,7 +338,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SMLNUM = SLAMCH( 'S' )
|
SMLNUM = SLAMCH( 'S' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
SMLNUM = SQRT( SMLNUM ) / EPS
|
SMLNUM = SQRT( SMLNUM ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -524,7 +523,7 @@
|
||||||
30 CONTINUE
|
30 CONTINUE
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEES
|
* End of SGEES
|
||||||
|
|
|
@ -272,7 +272,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup geesx
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM,
|
SUBROUTINE SGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM,
|
||||||
|
@ -317,14 +317,14 @@
|
||||||
REAL DUM( 1 )
|
REAL DUM( 1 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD,
|
EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR,
|
||||||
$ SLACPY, SLASCL, SORGHR, SSWAP, STRSEN, XERBLA
|
$ SLACPY, SLASCL, SORGHR, SSWAP, STRSEN, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, SQRT
|
INTRINSIC MAX, SQRT
|
||||||
|
@ -398,7 +398,7 @@
|
||||||
$ LIWRK = ( N*N )/4
|
$ LIWRK = ( N*N )/4
|
||||||
END IF
|
END IF
|
||||||
IWORK( 1 ) = LIWRK
|
IWORK( 1 ) = LIWRK
|
||||||
WORK( 1 ) = LWRK
|
WORK( 1 ) = SROUNDUP_LWORK(LWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -16
|
INFO = -16
|
||||||
|
@ -426,7 +426,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SMLNUM = SLAMCH( 'S' )
|
SMLNUM = SLAMCH( 'S' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
SMLNUM = SQRT( SMLNUM ) / EPS
|
SMLNUM = SQRT( SMLNUM ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -634,7 +633,7 @@
|
||||||
30 CONTINUE
|
30 CONTINUE
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
IF( WANTSV .OR. WANTSB ) THEN
|
IF( WANTSV .OR. WANTSB ) THEN
|
||||||
IWORK( 1 ) = SDIM*(N-SDIM)
|
IWORK( 1 ) = SDIM*(N-SDIM)
|
||||||
ELSE
|
ELSE
|
||||||
|
|
|
@ -184,7 +184,7 @@
|
||||||
*
|
*
|
||||||
* @generated from dgeev.f, fortran d -> s, Tue Apr 19 01:47:44 2016
|
* @generated from dgeev.f, fortran d -> s, Tue Apr 19 01:47:44 2016
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup geev
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGEEV( JOBVL, JOBVR, N, A, LDA, WR, WI, VL, LDVL, VR,
|
SUBROUTINE SGEEV( JOBVL, JOBVR, N, A, LDA, WR, WI, VL, LDVL, VR,
|
||||||
|
@ -223,16 +223,15 @@
|
||||||
REAL DUM( 1 )
|
REAL DUM( 1 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD, SLACPY,
|
EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLACPY, SLARTG,
|
||||||
$ SLARTG, SLASCL, SORGHR, SROT, SSCAL, STREVC3,
|
$ SLASCL, SORGHR, SROT, SSCAL, STREVC3, XERBLA
|
||||||
$ XERBLA
|
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ISAMAX, ILAENV
|
INTEGER ISAMAX, ILAENV
|
||||||
REAL SLAMCH, SLANGE, SLAPY2, SNRM2
|
REAL SLAMCH, SLANGE, SLAPY2, SNRM2, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ISAMAX, ILAENV, SLAMCH, SLANGE, SLAPY2,
|
EXTERNAL LSAME, ISAMAX, ILAENV, SLAMCH, SLANGE, SLAPY2,
|
||||||
$ SNRM2
|
$ SNRM2, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, SQRT
|
INTRINSIC MAX, SQRT
|
||||||
|
@ -312,7 +311,7 @@
|
||||||
END IF
|
END IF
|
||||||
MAXWRK = MAX( MAXWRK, MINWRK )
|
MAXWRK = MAX( MAXWRK, MINWRK )
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -13
|
INFO = -13
|
||||||
|
@ -336,7 +335,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SMLNUM = SLAMCH( 'S' )
|
SMLNUM = SLAMCH( 'S' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
SMLNUM = SQRT( SMLNUM ) / EPS
|
SMLNUM = SQRT( SMLNUM ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -519,7 +517,7 @@
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEEV
|
* End of SGEEV
|
||||||
|
|
|
@ -297,7 +297,7 @@
|
||||||
*
|
*
|
||||||
* @generated from dgeevx.f, fortran d -> s, Tue Apr 19 01:47:44 2016
|
* @generated from dgeevx.f, fortran d -> s, Tue Apr 19 01:47:44 2016
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup geevx
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGEEVX( BALANC, JOBVL, JOBVR, SENSE, N, A, LDA, WR, WI,
|
SUBROUTINE SGEEVX( BALANC, JOBVL, JOBVR, SENSE, N, A, LDA, WR, WI,
|
||||||
|
@ -341,16 +341,16 @@
|
||||||
REAL DUM( 1 )
|
REAL DUM( 1 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD, SLACPY,
|
EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLACPY,
|
||||||
$ SLARTG, SLASCL, SORGHR, SROT, SSCAL, STREVC3,
|
$ SLARTG, SLASCL, SORGHR, SROT, SSCAL, STREVC3,
|
||||||
$ STRSNA, XERBLA
|
$ STRSNA, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ISAMAX, ILAENV
|
INTEGER ISAMAX, ILAENV
|
||||||
REAL SLAMCH, SLANGE, SLAPY2, SNRM2
|
REAL SLAMCH, SLANGE, SLAPY2, SNRM2, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ISAMAX, ILAENV, SLAMCH, SLANGE, SLAPY2,
|
EXTERNAL LSAME, ISAMAX, ILAENV, SLAMCH, SLANGE, SLAPY2,
|
||||||
$ SNRM2
|
$ SNRM2, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, SQRT
|
INTRINSIC MAX, SQRT
|
||||||
|
@ -453,7 +453,7 @@
|
||||||
END IF
|
END IF
|
||||||
MAXWRK = MAX( MAXWRK, MINWRK )
|
MAXWRK = MAX( MAXWRK, MINWRK )
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -21
|
INFO = -21
|
||||||
|
@ -477,7 +477,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SMLNUM = SLAMCH( 'S' )
|
SMLNUM = SLAMCH( 'S' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
SMLNUM = SQRT( SMLNUM ) / EPS
|
SMLNUM = SQRT( SMLNUM ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -684,7 +683,7 @@
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEEVX
|
* End of SGEEVX
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup gehrd
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -201,7 +201,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -227,7 +228,7 @@
|
||||||
*
|
*
|
||||||
NB = MIN( NBMAX, ILAENV( 1, 'SGEHRD', ' ', N, ILO, IHI, -1 ) )
|
NB = MIN( NBMAX, ILAENV( 1, 'SGEHRD', ' ', N, ILO, IHI, -1 ) )
|
||||||
LWKOPT = N*NB + TSIZE
|
LWKOPT = N*NB + TSIZE
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
@ -344,7 +345,7 @@
|
||||||
* Use unblocked code to reduce the rest of the matrix
|
* Use unblocked code to reduce the rest of the matrix
|
||||||
*
|
*
|
||||||
CALL SGEHD2( N, I, IHI, A, LDA, TAU, WORK, IINFO )
|
CALL SGEHD2( N, I, IHI, A, LDA, TAU, WORK, IINFO )
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -166,6 +166,8 @@
|
||||||
*> the LQ factorization.
|
*> the LQ factorization.
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*>
|
*>
|
||||||
|
*> \ingroup gelq
|
||||||
|
*>
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGELQ( M, N, A, LDA, T, TSIZE, WORK, LWORK,
|
SUBROUTINE SGELQ( M, N, A, LDA, T, TSIZE, WORK, LWORK,
|
||||||
$ INFO )
|
$ INFO )
|
||||||
|
@ -190,7 +192,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
EXTERNAL LSAME
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL LSAME, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGELQT, SLASWLQ, XERBLA
|
EXTERNAL SGELQT, SLASWLQ, XERBLA
|
||||||
|
@ -292,9 +295,9 @@
|
||||||
T( 2 ) = MB
|
T( 2 ) = MB
|
||||||
T( 3 ) = NB
|
T( 3 ) = NB
|
||||||
IF( MINW ) THEN
|
IF( MINW ) THEN
|
||||||
WORK( 1 ) = LWMIN
|
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
|
||||||
ELSE
|
ELSE
|
||||||
WORK( 1 ) = LWREQ
|
WORK( 1 ) = SROUNDUP_LWORK(LWREQ)
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
@ -319,7 +322,7 @@
|
||||||
$ LWORK, INFO )
|
$ LWORK, INFO )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = LWREQ
|
WORK( 1 ) = SROUNDUP_LWORK(LWREQ)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGELQ
|
* End of SGELQ
|
||||||
|
|
|
@ -118,7 +118,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup gelqf
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -167,7 +167,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -176,7 +177,7 @@
|
||||||
INFO = 0
|
INFO = 0
|
||||||
NB = ILAENV( 1, 'SGELQF', ' ', M, N, -1, -1 )
|
NB = ILAENV( 1, 'SGELQF', ' ', M, N, -1, -1 )
|
||||||
LWKOPT = M*NB
|
LWKOPT = M*NB
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
LQUERY = ( LWORK.EQ.-1 )
|
LQUERY = ( LWORK.EQ.-1 )
|
||||||
IF( M.LT.0 ) THEN
|
IF( M.LT.0 ) THEN
|
||||||
INFO = -1
|
INFO = -1
|
||||||
|
@ -266,7 +267,7 @@
|
||||||
$ CALL SGELQ2( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK,
|
$ CALL SGELQ2( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK,
|
||||||
$ IINFO )
|
$ IINFO )
|
||||||
*
|
*
|
||||||
WORK( 1 ) = IWS
|
WORK( 1 ) = SROUNDUP_LWORK(IWS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGELQF
|
* End of SGELQF
|
||||||
|
|
|
@ -175,7 +175,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsolve
|
*> \ingroup gels
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGELS( TRANS, M, N, NRHS, A, LDA, B, LDB, WORK, LWORK,
|
SUBROUTINE SGELS( TRANS, M, N, NRHS, A, LDA, B, LDB, WORK, LWORK,
|
||||||
|
@ -210,15 +210,15 @@
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGELQF, SGEQRF, SLABAD, SLASCL, SLASET, SORMLQ,
|
EXTERNAL SGELQF, SGEQRF, SLASCL, SLASET, SORMLQ,
|
||||||
$ SORMQR, STRTRS, XERBLA
|
$ SORMQR, STRTRS, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, MIN, REAL
|
INTRINSIC MAX, MIN
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -273,7 +273,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WSIZE = MAX( 1, MN + MAX( MN, NRHS )*NB )
|
WSIZE = MAX( 1, MN + MAX( MN, NRHS )*NB )
|
||||||
WORK( 1 ) = REAL( WSIZE )
|
WORK( 1 ) = SROUNDUP_LWORK( WSIZE )
|
||||||
*
|
*
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -295,7 +295,6 @@
|
||||||
*
|
*
|
||||||
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
*
|
*
|
||||||
* Scale A, B if max element outside range [SMLNUM,BIGNUM]
|
* Scale A, B if max element outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
|
@ -492,7 +491,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
50 CONTINUE
|
50 CONTINUE
|
||||||
WORK( 1 ) = REAL( WSIZE )
|
WORK( 1 ) = SROUNDUP_LWORK( WSIZE )
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -189,7 +189,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsolve
|
*> \ingroup gelsd
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -229,13 +229,13 @@
|
||||||
REAL ANRM, BIGNUM, BNRM, EPS, SFMIN, SMLNUM
|
REAL ANRM, BIGNUM, BNRM, EPS, SFMIN, SMLNUM
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEBRD, SGELQF, SGEQRF, SLABAD, SLACPY, SLALSD,
|
EXTERNAL SGEBRD, SGELQF, SGEQRF, SLACPY, SLALSD, SLASCL,
|
||||||
$ SLASCL, SLASET, SORMBR, SORMLQ, SORMQR, XERBLA
|
$ SLASET, SORMBR, SORMLQ, SORMQR, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL SLAMCH, SLANGE, ILAENV
|
EXTERNAL SLAMCH, SLANGE, ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, LOG, MAX, MIN, REAL
|
INTRINSIC INT, LOG, MAX, MIN, REAL
|
||||||
|
@ -348,7 +348,7 @@
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
MINWRK = MIN( MINWRK, MAXWRK )
|
MINWRK = MIN( MINWRK, MAXWRK )
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
IWORK( 1 ) = LIWORK
|
IWORK( 1 ) = LIWORK
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
|
@ -376,7 +376,6 @@
|
||||||
SFMIN = SLAMCH( 'S' )
|
SFMIN = SLAMCH( 'S' )
|
||||||
SMLNUM = SFMIN / EPS
|
SMLNUM = SFMIN / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
*
|
*
|
||||||
* Scale A if max entry outside range [SMLNUM,BIGNUM].
|
* Scale A if max entry outside range [SMLNUM,BIGNUM].
|
||||||
*
|
*
|
||||||
|
@ -615,7 +614,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
10 CONTINUE
|
10 CONTINUE
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
IWORK( 1 ) = LIWORK
|
IWORK( 1 ) = LIWORK
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -207,8 +207,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL ILAENV, SLAMCH, SLANGE
|
EXTERNAL ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, MIN
|
INTRINSIC MAX, MIN
|
||||||
|
@ -355,7 +355,7 @@
|
||||||
END IF
|
END IF
|
||||||
MAXWRK = MAX( MINWRK, MAXWRK )
|
MAXWRK = MAX( MINWRK, MAXWRK )
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY )
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY )
|
||||||
$ INFO = -12
|
$ INFO = -12
|
||||||
|
@ -731,7 +731,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
70 CONTINUE
|
70 CONTINUE
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGELSS
|
* End of SGELSS
|
||||||
|
|
|
@ -176,7 +176,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsolve
|
*> \ingroup gelst
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -222,15 +222,15 @@
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGELQT, SGEQRT, SGEMLQT, SGEMQRT, SLABAD,
|
EXTERNAL SGELQT, SGEQRT, SGEMLQT, SGEMQRT,
|
||||||
$ SLASCL, SLASET, STRTRS, XERBLA
|
$ SLASCL, SLASET, STRTRS, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC REAL, MAX, MIN
|
INTRINSIC MAX, MIN
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -268,7 +268,7 @@
|
||||||
*
|
*
|
||||||
MNNRHS = MAX( MN, NRHS )
|
MNNRHS = MAX( MN, NRHS )
|
||||||
LWOPT = MAX( 1, (MN+MNNRHS)*NB )
|
LWOPT = MAX( 1, (MN+MNNRHS)*NB )
|
||||||
WORK( 1 ) = REAL( LWOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWOPT )
|
||||||
*
|
*
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -283,7 +283,7 @@
|
||||||
*
|
*
|
||||||
IF( MIN( M, N, NRHS ).EQ.0 ) THEN
|
IF( MIN( M, N, NRHS ).EQ.0 ) THEN
|
||||||
CALL SLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDB )
|
CALL SLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDB )
|
||||||
WORK( 1 ) = REAL( LWOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWOPT )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -309,7 +309,6 @@
|
||||||
*
|
*
|
||||||
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
*
|
*
|
||||||
* Scale A, B if max element outside range [SMLNUM,BIGNUM]
|
* Scale A, B if max element outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
|
@ -332,7 +331,7 @@
|
||||||
* Matrix all zero. Return zero solution.
|
* Matrix all zero. Return zero solution.
|
||||||
*
|
*
|
||||||
CALL SLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDB )
|
CALL SLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDB )
|
||||||
WORK( 1 ) = REAL( LWOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWOPT )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -522,7 +521,7 @@
|
||||||
$ INFO )
|
$ INFO )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWOPT )
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -191,7 +191,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsolve
|
*> \ingroup gelsy
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -234,11 +234,11 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL ILAENV, SLAMCH, SLANGE
|
EXTERNAL ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SCOPY, SGEQP3, SLABAD, SLAIC1, SLASCL, SLASET,
|
EXTERNAL SCOPY, SGEQP3, SLAIC1, SLASCL, SLASET,
|
||||||
$ SORMQR, SORMRZ, STRSM, STZRZF, XERBLA
|
$ SORMQR, SORMRZ, STRSM, STZRZF, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
|
@ -282,7 +282,7 @@
|
||||||
LWKOPT = MAX( LWKMIN,
|
LWKOPT = MAX( LWKMIN,
|
||||||
$ MN + 2*N + NB*( N + 1 ), 2*MN + NB*NRHS )
|
$ MN + 2*N + NB*( N + 1 ), 2*MN + NB*NRHS )
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -12
|
INFO = -12
|
||||||
|
@ -307,7 +307,6 @@
|
||||||
*
|
*
|
||||||
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
*
|
*
|
||||||
* Scale A, B if max entries outside range [SMLNUM,BIGNUM]
|
* Scale A, B if max entries outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
|
@ -469,7 +468,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
70 CONTINUE
|
70 CONTINUE
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -164,6 +164,8 @@
|
||||||
*> Further Details in SLAMSWLQ or SGEMLQT.
|
*> Further Details in SLAMSWLQ or SGEMLQT.
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*>
|
*>
|
||||||
|
*> \ingroup gemlq
|
||||||
|
*>
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGEMLQ( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE,
|
SUBROUTINE SGEMLQ( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE,
|
||||||
$ C, LDC, WORK, LWORK, INFO )
|
$ C, LDC, WORK, LWORK, INFO )
|
||||||
|
@ -191,6 +193,10 @@
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
EXTERNAL LSAME
|
EXTERNAL LSAME
|
||||||
* ..
|
* ..
|
||||||
|
* .. External Functions ..
|
||||||
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL SROUNDUP_LWORK
|
||||||
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SLAMSWLQ, SGEMLQT, XERBLA
|
EXTERNAL SLAMSWLQ, SGEMLQT, XERBLA
|
||||||
* ..
|
* ..
|
||||||
|
@ -249,7 +255,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.EQ.0 ) THEN
|
IF( INFO.EQ.0 ) THEN
|
||||||
WORK( 1 ) = REAL( LW )
|
WORK( 1 ) = SROUNDUP_LWORK( LW )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
@ -274,7 +280,7 @@
|
||||||
$ MB, C, LDC, WORK, LWORK, INFO )
|
$ MB, C, LDC, WORK, LWORK, INFO )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LW )
|
WORK( 1 ) = SROUNDUP_LWORK( LW )
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -166,6 +166,8 @@
|
||||||
*>
|
*>
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*>
|
*>
|
||||||
|
*> \ingroup gemqr
|
||||||
|
*>
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGEMQR( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE,
|
SUBROUTINE SGEMQR( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE,
|
||||||
$ C, LDC, WORK, LWORK, INFO )
|
$ C, LDC, WORK, LWORK, INFO )
|
||||||
|
@ -191,7 +193,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
EXTERNAL LSAME
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL LSAME, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEMQRT, SLAMTSQR, XERBLA
|
EXTERNAL SGEMQRT, SLAMTSQR, XERBLA
|
||||||
|
@ -251,7 +254,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.EQ.0 ) THEN
|
IF( INFO.EQ.0 ) THEN
|
||||||
WORK( 1 ) = LW
|
WORK( 1 ) = SROUNDUP_LWORK(LW)
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
@ -276,7 +279,7 @@
|
||||||
$ NB, C, LDC, WORK, LWORK, INFO )
|
$ NB, C, LDC, WORK, LWORK, INFO )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = LW
|
WORK( 1 ) = SROUNDUP_LWORK(LW)
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -113,7 +113,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup geqlf
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -162,7 +162,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -186,7 +187,7 @@
|
||||||
NB = ILAENV( 1, 'SGEQLF', ' ', M, N, -1, -1 )
|
NB = ILAENV( 1, 'SGEQLF', ' ', M, N, -1, -1 )
|
||||||
LWKOPT = N*NB
|
LWKOPT = N*NB
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -7
|
INFO = -7
|
||||||
|
@ -276,7 +277,7 @@
|
||||||
IF( MU.GT.0 .AND. NU.GT.0 )
|
IF( MU.GT.0 .AND. NU.GT.0 )
|
||||||
$ CALL SGEQL2( MU, NU, A, LDA, TAU, WORK, IINFO )
|
$ CALL SGEQL2( MU, NU, A, LDA, TAU, WORK, IINFO )
|
||||||
*
|
*
|
||||||
WORK( 1 ) = IWS
|
WORK( 1 ) = SROUNDUP_LWORK(IWS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEQLF
|
* End of SGEQLF
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup geqp3
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -177,8 +177,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SNRM2
|
REAL SNRM2, SROUNDUP_LWORK
|
||||||
EXTERNAL ILAENV, SNRM2
|
EXTERNAL ILAENV, SNRM2, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN
|
INTRINSIC INT, MAX, MIN
|
||||||
|
@ -205,7 +205,7 @@
|
||||||
NB = ILAENV( INB, 'SGEQRF', ' ', M, N, -1, -1 )
|
NB = ILAENV( INB, 'SGEQRF', ' ', M, N, -1, -1 )
|
||||||
LWKOPT = 2*N + ( N + 1 )*NB
|
LWKOPT = 2*N + ( N + 1 )*NB
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
IF( ( LWORK.LT.IWS ) .AND. .NOT.LQUERY ) THEN
|
IF( ( LWORK.LT.IWS ) .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -8
|
INFO = -8
|
||||||
|
@ -347,7 +347,7 @@
|
||||||
*
|
*
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = IWS
|
WORK( 1 ) = SROUNDUP_LWORK(IWS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEQP3
|
* End of SGEQP3
|
||||||
|
|
|
@ -121,7 +121,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup geqrf
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -170,7 +170,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -199,7 +200,7 @@
|
||||||
ELSE
|
ELSE
|
||||||
LWKOPT = N*NB
|
LWKOPT = N*NB
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -274,7 +275,7 @@
|
||||||
$ CALL SGEQR2( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK,
|
$ CALL SGEQR2( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK,
|
||||||
$ IINFO )
|
$ IINFO )
|
||||||
*
|
*
|
||||||
WORK( 1 ) = IWS
|
WORK( 1 ) = SROUNDUP_LWORK(IWS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEQRF
|
* End of SGEQRF
|
||||||
|
|
|
@ -122,7 +122,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup geqrfp
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -173,7 +173,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -182,7 +183,7 @@
|
||||||
INFO = 0
|
INFO = 0
|
||||||
NB = ILAENV( 1, 'SGEQRF', ' ', M, N, -1, -1 )
|
NB = ILAENV( 1, 'SGEQRF', ' ', M, N, -1, -1 )
|
||||||
LWKOPT = N*NB
|
LWKOPT = N*NB
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
LQUERY = ( LWORK.EQ.-1 )
|
LQUERY = ( LWORK.EQ.-1 )
|
||||||
IF( M.LT.0 ) THEN
|
IF( M.LT.0 ) THEN
|
||||||
INFO = -1
|
INFO = -1
|
||||||
|
@ -272,7 +273,7 @@
|
||||||
$ CALL SGEQR2P( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK,
|
$ CALL SGEQR2P( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK,
|
||||||
$ IINFO )
|
$ IINFO )
|
||||||
*
|
*
|
||||||
WORK( 1 ) = IWS
|
WORK( 1 ) = SROUNDUP_LWORK(IWS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGEQRFP
|
* End of SGEQRFP
|
||||||
|
|
|
@ -114,7 +114,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup gerqf
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -163,7 +163,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -187,7 +188,7 @@
|
||||||
NB = ILAENV( 1, 'SGERQF', ' ', M, N, -1, -1 )
|
NB = ILAENV( 1, 'SGERQF', ' ', M, N, -1, -1 )
|
||||||
LWKOPT = M*NB
|
LWKOPT = M*NB
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
IF ( .NOT.LQUERY ) THEN
|
IF ( .NOT.LQUERY ) THEN
|
||||||
IF( LWORK.LE.0 .OR. ( N.GT.0 .AND. LWORK.LT.MAX( 1, M ) ) )
|
IF( LWORK.LE.0 .OR. ( N.GT.0 .AND. LWORK.LT.MAX( 1, M ) ) )
|
||||||
|
@ -278,7 +279,7 @@
|
||||||
IF( MU.GT.0 .AND. NU.GT.0 )
|
IF( MU.GT.0 .AND. NU.GT.0 )
|
||||||
$ CALL SGERQ2( MU, NU, A, LDA, TAU, WORK, IINFO )
|
$ CALL SGERQ2( MU, NU, A, LDA, TAU, WORK, IINFO )
|
||||||
*
|
*
|
||||||
WORK( 1 ) = IWS
|
WORK( 1 ) = SROUNDUP_LWORK(IWS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGERQF
|
* End of SGERQF
|
||||||
|
|
|
@ -203,7 +203,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsing
|
*> \ingroup gesvd
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGESVD( JOBU, JOBVT, M, N, A, LDA, S, U, LDU, VT, LDVT,
|
SUBROUTINE SGESVD( JOBU, JOBVT, M, N, A, LDA, S, U, LDU, VT, LDVT,
|
||||||
|
@ -251,8 +251,8 @@
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, MIN, SQRT
|
INTRINSIC MAX, MIN, SQRT
|
||||||
|
@ -628,7 +628,7 @@
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
MAXWRK = MAX( MAXWRK, MINWRK )
|
MAXWRK = MAX( MAXWRK, MINWRK )
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -13
|
INFO = -13
|
||||||
|
@ -3493,7 +3493,7 @@
|
||||||
*
|
*
|
||||||
* Return optimal workspace in WORK(1)
|
* Return optimal workspace in WORK(1)
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -254,7 +254,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsing
|
*> \ingroup gesvdx
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGESVDX( JOBU, JOBVT, RANGE, M, N, A, LDA, VL, VU,
|
SUBROUTINE SGESVDX( JOBU, JOBVT, RANGE, M, N, A, LDA, VL, VU,
|
||||||
|
@ -301,8 +301,8 @@
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC MAX, MIN, SQRT
|
INTRINSIC MAX, MIN, SQRT
|
||||||
|
@ -456,7 +456,7 @@
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
MAXWRK = MAX( MAXWRK, MINWRK )
|
MAXWRK = MAX( MAXWRK, MINWRK )
|
||||||
WORK( 1 ) = REAL( MAXWRK )
|
WORK( 1 ) = SROUNDUP_LWORK( MAXWRK )
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -19
|
INFO = -19
|
||||||
|
@ -822,7 +822,7 @@
|
||||||
*
|
*
|
||||||
* Return optimal workspace in WORK(1)
|
* Return optimal workspace in WORK(1)
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( MAXWRK )
|
WORK( 1 ) = SROUNDUP_LWORK( MAXWRK )
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -107,7 +107,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup getri
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO )
|
SUBROUTINE SGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO )
|
||||||
|
@ -137,7 +137,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEMM, SGEMV, SSWAP, STRSM, STRTRI, XERBLA
|
EXTERNAL SGEMM, SGEMV, SSWAP, STRSM, STRTRI, XERBLA
|
||||||
|
@ -152,7 +153,7 @@
|
||||||
INFO = 0
|
INFO = 0
|
||||||
NB = ILAENV( 1, 'SGETRI', ' ', N, -1, -1, -1 )
|
NB = ILAENV( 1, 'SGETRI', ' ', N, -1, -1, -1 )
|
||||||
LWKOPT = N*NB
|
LWKOPT = N*NB
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
LQUERY = ( LWORK.EQ.-1 )
|
LQUERY = ( LWORK.EQ.-1 )
|
||||||
IF( N.LT.0 ) THEN
|
IF( N.LT.0 ) THEN
|
||||||
INFO = -1
|
INFO = -1
|
||||||
|
@ -250,7 +251,7 @@
|
||||||
$ CALL SSWAP( N, A( 1, J ), 1, A( 1, JP ), 1 )
|
$ CALL SSWAP( N, A( 1, J ), 1, A( 1, JP ), 1 )
|
||||||
60 CONTINUE
|
60 CONTINUE
|
||||||
*
|
*
|
||||||
WORK( 1 ) = IWS
|
WORK( 1 ) = SROUNDUP_LWORK(IWS)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGETRI
|
* End of SGETRI
|
||||||
|
|
|
@ -154,7 +154,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsolve
|
*> \ingroup getsls
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGETSLS( TRANS, M, N, NRHS, A, LDA, B, LDB,
|
SUBROUTINE SGETSLS( TRANS, M, N, NRHS, A, LDA, B, LDB,
|
||||||
|
@ -188,15 +188,15 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, SLABAD, SLAMCH, SLANGE
|
EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQR, SGEMQR, SLASCL, SLASET,
|
EXTERNAL SGEQR, SGEMQR, SLASCL, SLASET,
|
||||||
$ STRTRS, XERBLA, SGELQ, SGEMLQ
|
$ STRTRS, XERBLA, SGELQ, SGEMLQ
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC REAL, MAX, MIN, INT
|
INTRINSIC MAX, MIN, INT
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -262,7 +262,7 @@
|
||||||
INFO = -10
|
INFO = -10
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( WSIZEO )
|
WORK( 1 ) = SROUNDUP_LWORK( WSIZEO )
|
||||||
*
|
*
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
IF( LQUERY ) THEN
|
IF( LQUERY ) THEN
|
||||||
IF( LWORK.EQ.-2 ) WORK( 1 ) = REAL( WSIZEM )
|
IF( LWORK.EQ.-2 ) WORK( 1 ) = SROUNDUP_LWORK( WSIZEM )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
IF( LWORK.LT.WSIZEO ) THEN
|
IF( LWORK.LT.WSIZEO ) THEN
|
||||||
|
@ -294,7 +294,6 @@
|
||||||
*
|
*
|
||||||
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
*
|
*
|
||||||
* Scale A, B if max element outside range [SMLNUM,BIGNUM]
|
* Scale A, B if max element outside range [SMLNUM,BIGNUM]
|
||||||
*
|
*
|
||||||
|
@ -482,7 +481,7 @@
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
50 CONTINUE
|
50 CONTINUE
|
||||||
WORK( 1 ) = REAL( TSZO + LWO )
|
WORK( 1 ) = SROUNDUP_LWORK( TSZO + LWO )
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGETSLS
|
* End of SGETSLS
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup singleOTHERcomputational
|
*> \ingroup getsqrhrt
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -200,6 +200,10 @@
|
||||||
INTEGER I, IINFO, J, LW1, LW2, LWT, LDWT, LWORKOPT,
|
INTEGER I, IINFO, J, LW1, LW2, LWT, LDWT, LWORKOPT,
|
||||||
$ NB1LOCAL, NB2LOCAL, NUM_ALL_ROW_BLOCKS
|
$ NB1LOCAL, NB2LOCAL, NUM_ALL_ROW_BLOCKS
|
||||||
* ..
|
* ..
|
||||||
|
* .. External Functions ..
|
||||||
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL SROUNDUP_LWORK
|
||||||
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SCOPY, SLATSQR, SORGTSQR_ROW, SORHR_COL,
|
EXTERNAL SCOPY, SLATSQR, SORGTSQR_ROW, SORHR_COL,
|
||||||
$ XERBLA
|
$ XERBLA
|
||||||
|
@ -277,14 +281,14 @@
|
||||||
CALL XERBLA( 'SGETSQRHRT', -INFO )
|
CALL XERBLA( 'SGETSQRHRT', -INFO )
|
||||||
RETURN
|
RETURN
|
||||||
ELSE IF ( LQUERY ) THEN
|
ELSE IF ( LQUERY ) THEN
|
||||||
WORK( 1 ) = REAL( LWORKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWORKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
* Quick return if possible
|
* Quick return if possible
|
||||||
*
|
*
|
||||||
IF( MIN( M, N ).EQ.0 ) THEN
|
IF( MIN( M, N ).EQ.0 ) THEN
|
||||||
WORK( 1 ) = REAL( LWORKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWORKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -341,7 +345,7 @@
|
||||||
END IF
|
END IF
|
||||||
END DO
|
END DO
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWORKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWORKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGETSQRHRT
|
* End of SGETSQRHRT
|
||||||
|
|
|
@ -275,7 +275,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup gges
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
|
SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
|
||||||
|
@ -321,15 +321,14 @@
|
||||||
REAL DIF( 2 )
|
REAL DIF( 2 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD,
|
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY,
|
||||||
$ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGSEN,
|
$ SLASCL, SLASET, SORGQR, SORMQR, STGSEN
|
||||||
$ XERBLA
|
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, MAX, SQRT
|
INTRINSIC ABS, MAX, SQRT
|
||||||
|
@ -406,7 +405,7 @@
|
||||||
MINWRK = 1
|
MINWRK = 1
|
||||||
MAXWRK = 1
|
MAXWRK = 1
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY )
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY )
|
||||||
$ INFO = -19
|
$ INFO = -19
|
||||||
|
@ -431,7 +430,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SAFMIN = SLAMCH( 'S' )
|
SAFMIN = SLAMCH( 'S' )
|
||||||
SAFMAX = ONE / SAFMIN
|
SAFMAX = ONE / SAFMIN
|
||||||
CALL SLABAD( SAFMIN, SAFMAX )
|
|
||||||
SMLNUM = SQRT( SAFMIN ) / EPS
|
SMLNUM = SQRT( SAFMIN ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -668,7 +666,7 @@
|
||||||
*
|
*
|
||||||
40 CONTINUE
|
40 CONTINUE
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -273,7 +273,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup gges3
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGGES3( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B,
|
SUBROUTINE SGGES3( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B,
|
||||||
|
@ -318,14 +318,13 @@
|
||||||
REAL DIF( 2 )
|
REAL DIF( 2 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLABAD,
|
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLACPY,
|
||||||
$ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGSEN,
|
$ SLASCL, SLASET, SORGQR, SORMQR, STGSEN, XERBLA
|
||||||
$ XERBLA
|
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, SLAMCH, SLANGE
|
EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, MAX, SQRT
|
INTRINSIC ABS, MAX, SQRT
|
||||||
|
@ -408,7 +407,7 @@
|
||||||
$ IERR )
|
$ IERR )
|
||||||
LWKOPT = MAX( LWKOPT, 2*N+INT( WORK( 1 ) ) )
|
LWKOPT = MAX( LWKOPT, 2*N+INT( WORK( 1 ) ) )
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
@ -430,7 +429,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SAFMIN = SLAMCH( 'S' )
|
SAFMIN = SLAMCH( 'S' )
|
||||||
SAFMAX = ONE / SAFMIN
|
SAFMAX = ONE / SAFMIN
|
||||||
CALL SLABAD( SAFMIN, SAFMAX )
|
|
||||||
SMLNUM = SQRT( SAFMIN ) / EPS
|
SMLNUM = SQRT( SAFMIN ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -659,7 +657,7 @@
|
||||||
*
|
*
|
||||||
40 CONTINUE
|
40 CONTINUE
|
||||||
*
|
*
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -337,7 +337,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup ggesx
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -405,15 +405,14 @@
|
||||||
REAL DIF( 2 )
|
REAL DIF( 2 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD,
|
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY,
|
||||||
$ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGSEN,
|
$ SLASCL, SLASET, SORGQR, SORMQR, STGSEN, XERBLA
|
||||||
$ XERBLA
|
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, MAX, SQRT
|
INTRINSIC ABS, MAX, SQRT
|
||||||
|
@ -510,7 +509,7 @@
|
||||||
MAXWRK = 1
|
MAXWRK = 1
|
||||||
LWRK = 1
|
LWRK = 1
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWRK
|
WORK( 1 ) = SROUNDUP_LWORK(LWRK)
|
||||||
IF( WANTSN .OR. N.EQ.0 ) THEN
|
IF( WANTSN .OR. N.EQ.0 ) THEN
|
||||||
LIWMIN = 1
|
LIWMIN = 1
|
||||||
ELSE
|
ELSE
|
||||||
|
@ -544,7 +543,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SAFMIN = SLAMCH( 'S' )
|
SAFMIN = SLAMCH( 'S' )
|
||||||
SAFMAX = ONE / SAFMIN
|
SAFMAX = ONE / SAFMIN
|
||||||
CALL SLABAD( SAFMIN, SAFMAX )
|
|
||||||
SMLNUM = SQRT( SAFMIN ) / EPS
|
SMLNUM = SQRT( SAFMIN ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -807,7 +805,7 @@
|
||||||
*
|
*
|
||||||
50 CONTINUE
|
50 CONTINUE
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
IWORK( 1 ) = LIWMIN
|
IWORK( 1 ) = LIWMIN
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
|
|
|
@ -218,7 +218,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup ggev
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGGEV( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR, ALPHAI,
|
SUBROUTINE SGGEV( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR, ALPHAI,
|
||||||
|
@ -257,15 +257,14 @@
|
||||||
LOGICAL LDUMMA( 1 )
|
LOGICAL LDUMMA( 1 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD,
|
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY,
|
||||||
$ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGEVC,
|
$ SLASCL, SLASET, SORGQR, SORMQR, STGEVC, XERBLA
|
||||||
$ XERBLA
|
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, MAX, SQRT
|
INTRINSIC ABS, MAX, SQRT
|
||||||
|
@ -335,7 +334,7 @@
|
||||||
MAXWRK = MAX( MAXWRK, N*( 7 +
|
MAXWRK = MAX( MAXWRK, N*( 7 +
|
||||||
$ ILAENV( 1, 'SORGQR', ' ', N, 1, N, -1 ) ) )
|
$ ILAENV( 1, 'SORGQR', ' ', N, 1, N, -1 ) ) )
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY )
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY )
|
||||||
$ INFO = -16
|
$ INFO = -16
|
||||||
|
@ -358,7 +357,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SMLNUM = SLAMCH( 'S' )
|
SMLNUM = SLAMCH( 'S' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
SMLNUM = SQRT( SMLNUM ) / EPS
|
SMLNUM = SQRT( SMLNUM ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -581,7 +579,7 @@
|
||||||
CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR )
|
CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGGEV
|
* End of SGGEV
|
||||||
|
|
|
@ -217,7 +217,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup ggev3
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGGEV3( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR,
|
SUBROUTINE SGGEV3( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR,
|
||||||
|
@ -256,14 +256,13 @@
|
||||||
LOGICAL LDUMMA( 1 )
|
LOGICAL LDUMMA( 1 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLABAD,
|
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLACPY,
|
||||||
$ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGEVC,
|
$ SLASCL, SLASET, SORGQR, SORMQR, STGEVC
|
||||||
$ XERBLA
|
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, SLAMCH, SLANGE
|
EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, MAX, SQRT
|
INTRINSIC ABS, MAX, SQRT
|
||||||
|
@ -341,7 +340,7 @@
|
||||||
$ WORK, -1, 0, IERR )
|
$ WORK, -1, 0, IERR )
|
||||||
LWKOPT = MAX( LWKOPT, 2*N+INT ( WORK( 1 ) ) )
|
LWKOPT = MAX( LWKOPT, 2*N+INT ( WORK( 1 ) ) )
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
*
|
*
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -362,7 +361,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SMLNUM = SLAMCH( 'S' )
|
SMLNUM = SLAMCH( 'S' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
SMLNUM = SQRT( SMLNUM ) / EPS
|
SMLNUM = SQRT( SMLNUM ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -578,7 +576,7 @@
|
||||||
CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR )
|
CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGGEV3
|
* End of SGGEV3
|
||||||
|
|
|
@ -352,7 +352,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEeigen
|
*> \ingroup ggevx
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -427,15 +427,15 @@
|
||||||
LOGICAL LDUMMA( 1 )
|
LOGICAL LDUMMA( 1 )
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD,
|
EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY,
|
||||||
$ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGEVC,
|
$ SLASCL, SLASET, SORGQR, SORMQR, STGEVC, STGSNA,
|
||||||
$ STGSNA, XERBLA
|
$ XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE
|
EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, MAX, SQRT
|
INTRINSIC ABS, MAX, SQRT
|
||||||
|
@ -532,7 +532,7 @@
|
||||||
$ N*ILAENV( 1, 'SORGQR', ' ', N, 1, N, 0 ) )
|
$ N*ILAENV( 1, 'SORGQR', ' ', N, 1, N, 0 ) )
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -26
|
INFO = -26
|
||||||
|
@ -557,7 +557,6 @@
|
||||||
EPS = SLAMCH( 'P' )
|
EPS = SLAMCH( 'P' )
|
||||||
SMLNUM = SLAMCH( 'S' )
|
SMLNUM = SLAMCH( 'S' )
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
CALL SLABAD( SMLNUM, BIGNUM )
|
|
||||||
SMLNUM = SQRT( SMLNUM ) / EPS
|
SMLNUM = SQRT( SMLNUM ) / EPS
|
||||||
BIGNUM = ONE / SMLNUM
|
BIGNUM = ONE / SMLNUM
|
||||||
*
|
*
|
||||||
|
@ -855,7 +854,7 @@
|
||||||
CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR )
|
CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = MAXWRK
|
WORK( 1 ) = SROUNDUP_LWORK(MAXWRK)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGGEVX
|
* End of SGGEVX
|
||||||
|
|
|
@ -177,7 +177,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHEReigen
|
*> \ingroup ggglm
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGGGLM( N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK,
|
SUBROUTINE SGGGLM( N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK,
|
||||||
|
@ -212,7 +212,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN
|
INTRINSIC INT, MAX, MIN
|
||||||
|
@ -251,7 +252,7 @@
|
||||||
LWKMIN = M + N + P
|
LWKMIN = M + N + P
|
||||||
LWKOPT = M + NP + MAX( N, P )*NB
|
LWKOPT = M + NP + MAX( N, P )*NB
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -12
|
INFO = -12
|
||||||
|
|
|
@ -211,7 +211,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERcomputational
|
*> \ingroup gghd3
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -260,14 +260,15 @@
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV, LSAME
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGGHRD, SLARTG, SLASET, SORM22, SROT, SGEMM,
|
EXTERNAL SGGHRD, SLARTG, SLASET, SORM22, SROT, SGEMM,
|
||||||
$ SGEMV, STRMV, SLACPY, XERBLA
|
$ SGEMV, STRMV, SLACPY, XERBLA
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC REAL, MAX
|
INTRINSIC MAX
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
*
|
*
|
||||||
|
@ -276,7 +277,7 @@
|
||||||
INFO = 0
|
INFO = 0
|
||||||
NB = ILAENV( 1, 'SGGHD3', ' ', N, ILO, IHI, -1 )
|
NB = ILAENV( 1, 'SGGHD3', ' ', N, ILO, IHI, -1 )
|
||||||
LWKOPT = MAX( 6*N*NB, 1 )
|
LWKOPT = MAX( 6*N*NB, 1 )
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
INITQ = LSAME( COMPQ, 'I' )
|
INITQ = LSAME( COMPQ, 'I' )
|
||||||
WANTQ = INITQ .OR. LSAME( COMPQ, 'V' )
|
WANTQ = INITQ .OR. LSAME( COMPQ, 'V' )
|
||||||
INITZ = LSAME( COMPZ, 'I' )
|
INITZ = LSAME( COMPZ, 'I' )
|
||||||
|
@ -885,7 +886,7 @@
|
||||||
IF ( JCOL.LT.IHI )
|
IF ( JCOL.LT.IHI )
|
||||||
$ CALL SGGHRD( COMPQ2, COMPZ2, N, JCOL, IHI, A, LDA, B, LDB, Q,
|
$ CALL SGGHRD( COMPQ2, COMPZ2, N, JCOL, IHI, A, LDA, B, LDB, Q,
|
||||||
$ LDQ, Z, LDZ, IERR )
|
$ LDQ, Z, LDZ, IERR )
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -172,7 +172,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERsolve
|
*> \ingroup gglse
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SGGLSE( M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK,
|
SUBROUTINE SGGLSE( M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK,
|
||||||
|
@ -207,7 +207,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN
|
INTRINSIC INT, MAX, MIN
|
||||||
|
@ -246,7 +247,7 @@
|
||||||
LWKMIN = M + N + P
|
LWKMIN = M + N + P
|
||||||
LWKOPT = P + MN + MAX( M, N )*NB
|
LWKOPT = P + MN + MAX( M, N )*NB
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
*
|
*
|
||||||
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN
|
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN
|
||||||
INFO = -12
|
INFO = -12
|
||||||
|
|
|
@ -173,7 +173,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERcomputational
|
*> \ingroup ggqrf
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -236,7 +236,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN
|
INTRINSIC INT, MAX, MIN
|
||||||
|
@ -251,7 +252,7 @@
|
||||||
NB3 = ILAENV( 1, 'SORMQR', ' ', N, M, P, -1 )
|
NB3 = ILAENV( 1, 'SORMQR', ' ', N, M, P, -1 )
|
||||||
NB = MAX( NB1, NB2, NB3 )
|
NB = MAX( NB1, NB2, NB3 )
|
||||||
LWKOPT = MAX( N, M, P )*NB
|
LWKOPT = MAX( N, M, P )*NB
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
LQUERY = ( LWORK.EQ.-1 )
|
LQUERY = ( LWORK.EQ.-1 )
|
||||||
IF( N.LT.0 ) THEN
|
IF( N.LT.0 ) THEN
|
||||||
INFO = -1
|
INFO = -1
|
||||||
|
@ -287,7 +288,8 @@
|
||||||
* RQ factorization of N-by-P matrix B: B = T*Z.
|
* RQ factorization of N-by-P matrix B: B = T*Z.
|
||||||
*
|
*
|
||||||
CALL SGERQF( N, P, B, LDB, TAUB, WORK, LWORK, INFO )
|
CALL SGERQF( N, P, B, LDB, TAUB, WORK, LWORK, INFO )
|
||||||
WORK( 1 ) = MAX( LOPT, INT( WORK( 1 ) ) )
|
LWKOPT = MAX( LOPT, INT( WORK( 1 ) ) )
|
||||||
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -172,7 +172,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERcomputational
|
*> \ingroup ggrqf
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -235,7 +235,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC INT, MAX, MIN
|
INTRINSIC INT, MAX, MIN
|
||||||
|
@ -250,7 +251,7 @@
|
||||||
NB3 = ILAENV( 1, 'SORMRQ', ' ', M, N, P, -1 )
|
NB3 = ILAENV( 1, 'SORMRQ', ' ', M, N, P, -1 )
|
||||||
NB = MAX( NB1, NB2, NB3 )
|
NB = MAX( NB1, NB2, NB3 )
|
||||||
LWKOPT = MAX( N, M, P)*NB
|
LWKOPT = MAX( N, M, P)*NB
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
LQUERY = ( LWORK.EQ.-1 )
|
LQUERY = ( LWORK.EQ.-1 )
|
||||||
IF( M.LT.0 ) THEN
|
IF( M.LT.0 ) THEN
|
||||||
INFO = -1
|
INFO = -1
|
||||||
|
@ -287,7 +288,8 @@
|
||||||
* QR factorization of P-by-N matrix B: B = Z*T
|
* QR factorization of P-by-N matrix B: B = Z*T
|
||||||
*
|
*
|
||||||
CALL SGEQRF( P, N, B, LDB, TAUB, WORK, LWORK, INFO )
|
CALL SGEQRF( P, N, B, LDB, TAUB, WORK, LWORK, INFO )
|
||||||
WORK( 1 ) = MAX( LOPT, INT( WORK( 1 ) ) )
|
LWKOPT = MAX( LOPT, INT( WORK( 1 ) ) )
|
||||||
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
*
|
*
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
|
|
|
@ -328,7 +328,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEsing
|
*> \ingroup ggsvd3
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -372,8 +372,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
REAL SLAMCH, SLANGE
|
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, SLAMCH, SLANGE
|
EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SCOPY, SGGSVP3, STGSJA, XERBLA
|
EXTERNAL SCOPY, SGGSVP3, STGSJA, XERBLA
|
||||||
|
@ -429,7 +429,7 @@
|
||||||
LWKOPT = N + INT( WORK( 1 ) )
|
LWKOPT = N + INT( WORK( 1 ) )
|
||||||
LWKOPT = MAX( 2*N, LWKOPT )
|
LWKOPT = MAX( 2*N, LWKOPT )
|
||||||
LWKOPT = MAX( 1, LWKOPT )
|
LWKOPT = MAX( 1, LWKOPT )
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
@ -492,7 +492,7 @@
|
||||||
END IF
|
END IF
|
||||||
20 CONTINUE
|
20 CONTINUE
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGGSVD3
|
* End of SGGSVD3
|
||||||
|
|
|
@ -250,7 +250,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERcomputational
|
*> \ingroup ggsvp3
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -300,7 +300,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
EXTERNAL LSAME
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL LSAME, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SGEQP3, SGEQR2, SGERQ2, SLACPY, SLAPMT,
|
EXTERNAL SGEQP3, SGEQR2, SGERQ2, SLACPY, SLAPMT,
|
||||||
|
@ -365,7 +366,7 @@
|
||||||
CALL SGEQP3( M, N, A, LDA, IWORK, TAU, WORK, -1, INFO )
|
CALL SGEQP3( M, N, A, LDA, IWORK, TAU, WORK, -1, INFO )
|
||||||
LWKOPT = MAX( LWKOPT, INT( WORK ( 1 ) ) )
|
LWKOPT = MAX( LWKOPT, INT( WORK ( 1 ) ) )
|
||||||
LWKOPT = MAX( 1, LWKOPT )
|
LWKOPT = MAX( 1, LWKOPT )
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
IF( INFO.NE.0 ) THEN
|
IF( INFO.NE.0 ) THEN
|
||||||
|
@ -560,7 +561,7 @@
|
||||||
*
|
*
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SGGSVP3
|
* End of SGGSVP3
|
||||||
|
|
|
@ -282,7 +282,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGEcomputational
|
*> \ingroup hgeqz
|
||||||
*
|
*
|
||||||
*> \par Further Details:
|
*> \par Further Details:
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -346,8 +346,9 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
REAL SLAMCH, SLANHS, SLAPY2, SLAPY3
|
REAL SLAMCH, SLANHS, SLAPY2, SLAPY3, SROUNDUP_LWORK
|
||||||
EXTERNAL LSAME, SLAMCH, SLANHS, SLAPY2, SLAPY3
|
EXTERNAL LSAME, SLAMCH, SLANHS, SLAPY2, SLAPY3,
|
||||||
|
$ SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SLAG2, SLARFG, SLARTG, SLASET, SLASV2, SROT,
|
EXTERNAL SLAG2, SLARFG, SLARTG, SLASET, SLASV2, SROT,
|
||||||
|
@ -1364,7 +1365,7 @@
|
||||||
* Exit (other than argument error) -- return optimal workspace size
|
* Exit (other than argument error) -- return optimal workspace size
|
||||||
*
|
*
|
||||||
420 CONTINUE
|
420 CONTINUE
|
||||||
WORK( 1 ) = REAL( N )
|
WORK( 1 ) = SROUNDUP_LWORK( N )
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SHGEQZ
|
* End of SHGEQZ
|
||||||
|
|
|
@ -233,7 +233,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERcomputational
|
*> \ingroup hseqr
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -358,7 +358,8 @@
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
EXTERNAL ILAENV, LSAME
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SLACPY, SLAHQR, SLAQR0, SLASET, XERBLA
|
EXTERNAL SLACPY, SLAHQR, SLAQR0, SLASET, XERBLA
|
||||||
|
@ -373,7 +374,7 @@
|
||||||
WANTT = LSAME( JOB, 'S' )
|
WANTT = LSAME( JOB, 'S' )
|
||||||
INITZ = LSAME( COMPZ, 'I' )
|
INITZ = LSAME( COMPZ, 'I' )
|
||||||
WANTZ = INITZ .OR. LSAME( COMPZ, 'V' )
|
WANTZ = INITZ .OR. LSAME( COMPZ, 'V' )
|
||||||
WORK( 1 ) = REAL( MAX( 1, N ) )
|
WORK( 1 ) = SROUNDUP_LWORK( MAX( 1, N ) )
|
||||||
LQUERY = LWORK.EQ.-1
|
LQUERY = LWORK.EQ.-1
|
||||||
*
|
*
|
||||||
INFO = 0
|
INFO = 0
|
||||||
|
|
|
@ -263,7 +263,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERauxiliary
|
*> \ingroup laqr2
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -305,11 +305,11 @@
|
||||||
LOGICAL BULGE, SORTED
|
LOGICAL BULGE, SORTED
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
REAL SLAMCH
|
REAL SLAMCH, SROUNDUP_LWORK
|
||||||
EXTERNAL SLAMCH
|
EXTERNAL SLAMCH, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SCOPY, SGEHRD, SGEMM, SLABAD, SLACPY, SLAHQR,
|
EXTERNAL SCOPY, SGEHRD, SGEMM, SLACPY, SLAHQR,
|
||||||
$ SLANV2, SLARF, SLARFG, SLASET, SORMHR, STREXC
|
$ SLANV2, SLARF, SLARFG, SLASET, SORMHR, STREXC
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
|
@ -343,7 +343,7 @@
|
||||||
* ==== Quick return in case of workspace query. ====
|
* ==== Quick return in case of workspace query. ====
|
||||||
*
|
*
|
||||||
IF( LWORK.EQ.-1 ) THEN
|
IF( LWORK.EQ.-1 ) THEN
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -362,7 +362,6 @@
|
||||||
*
|
*
|
||||||
SAFMIN = SLAMCH( 'SAFE MINIMUM' )
|
SAFMIN = SLAMCH( 'SAFE MINIMUM' )
|
||||||
SAFMAX = ONE / SAFMIN
|
SAFMAX = ONE / SAFMIN
|
||||||
CALL SLABAD( SAFMIN, SAFMAX )
|
|
||||||
ULP = SLAMCH( 'PRECISION' )
|
ULP = SLAMCH( 'PRECISION' )
|
||||||
SMLNUM = SAFMIN*( REAL( N ) / ULP )
|
SMLNUM = SAFMIN*( REAL( N ) / ULP )
|
||||||
*
|
*
|
||||||
|
@ -674,7 +673,7 @@
|
||||||
*
|
*
|
||||||
* ==== Return optimal workspace. ====
|
* ==== Return optimal workspace. ====
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
*
|
*
|
||||||
* ==== End of SLAQR2 ====
|
* ==== End of SLAQR2 ====
|
||||||
*
|
*
|
||||||
|
|
|
@ -260,7 +260,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERauxiliary
|
*> \ingroup laqr3
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -302,14 +302,13 @@
|
||||||
LOGICAL BULGE, SORTED
|
LOGICAL BULGE, SORTED
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
REAL SLAMCH
|
REAL SLAMCH, SROUNDUP_LWORK
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL SLAMCH, ILAENV
|
EXTERNAL SLAMCH, SROUNDUP_LWORK, ILAENV
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SCOPY, SGEHRD, SGEMM, SLABAD, SLACPY, SLAHQR,
|
EXTERNAL SCOPY, SGEHRD, SGEMM, SLACPY, SLAHQR, SLANV2,
|
||||||
$ SLANV2, SLAQR4, SLARF, SLARFG, SLASET, SORMHR,
|
$ SLAQR4, SLARF, SLARFG, SLASET, SORMHR, STREXC
|
||||||
$ STREXC
|
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, INT, MAX, MIN, REAL, SQRT
|
INTRINSIC ABS, INT, MAX, MIN, REAL, SQRT
|
||||||
|
@ -348,7 +347,7 @@
|
||||||
* ==== Quick return in case of workspace query. ====
|
* ==== Quick return in case of workspace query. ====
|
||||||
*
|
*
|
||||||
IF( LWORK.EQ.-1 ) THEN
|
IF( LWORK.EQ.-1 ) THEN
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -367,7 +366,6 @@
|
||||||
*
|
*
|
||||||
SAFMIN = SLAMCH( 'SAFE MINIMUM' )
|
SAFMIN = SLAMCH( 'SAFE MINIMUM' )
|
||||||
SAFMAX = ONE / SAFMIN
|
SAFMAX = ONE / SAFMIN
|
||||||
CALL SLABAD( SAFMIN, SAFMAX )
|
|
||||||
ULP = SLAMCH( 'PRECISION' )
|
ULP = SLAMCH( 'PRECISION' )
|
||||||
SMLNUM = SAFMIN*( REAL( N ) / ULP )
|
SMLNUM = SAFMIN*( REAL( N ) / ULP )
|
||||||
*
|
*
|
||||||
|
@ -685,7 +683,7 @@
|
||||||
*
|
*
|
||||||
* ==== Return optimal workspace. ====
|
* ==== Return optimal workspace. ====
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
*
|
*
|
||||||
* ==== End of SLAQR3 ====
|
* ==== End of SLAQR3 ====
|
||||||
*
|
*
|
||||||
|
|
|
@ -239,7 +239,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realOTHERauxiliary
|
*> \ingroup laqr4
|
||||||
*
|
*
|
||||||
*> \par Contributors:
|
*> \par Contributors:
|
||||||
* ==================
|
* ==================
|
||||||
|
@ -316,7 +316,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
INTEGER ILAENV
|
INTEGER ILAENV
|
||||||
EXTERNAL ILAENV
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL ILAENV, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. Local Arrays ..
|
* .. Local Arrays ..
|
||||||
REAL ZDUM( 1, 1 )
|
REAL ZDUM( 1, 1 )
|
||||||
|
@ -325,7 +326,7 @@
|
||||||
EXTERNAL SLACPY, SLAHQR, SLANV2, SLAQR2, SLAQR5
|
EXTERNAL SLACPY, SLAHQR, SLANV2, SLAQR2, SLAQR5
|
||||||
* ..
|
* ..
|
||||||
* .. Intrinsic Functions ..
|
* .. Intrinsic Functions ..
|
||||||
INTRINSIC ABS, INT, MAX, MIN, MOD, REAL
|
INTRINSIC ABS, INT, MAX, MIN, MOD
|
||||||
* ..
|
* ..
|
||||||
* .. Executable Statements ..
|
* .. Executable Statements ..
|
||||||
INFO = 0
|
INFO = 0
|
||||||
|
@ -401,7 +402,7 @@
|
||||||
* ==== Quick return in case of workspace query. ====
|
* ==== Quick return in case of workspace query. ====
|
||||||
*
|
*
|
||||||
IF( LWORK.EQ.-1 ) THEN
|
IF( LWORK.EQ.-1 ) THEN
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -732,7 +733,7 @@
|
||||||
*
|
*
|
||||||
* ==== Return the optimal value of LWORK. ====
|
* ==== Return the optimal value of LWORK. ====
|
||||||
*
|
*
|
||||||
WORK( 1 ) = REAL( LWKOPT )
|
WORK( 1 ) = SROUNDUP_LWORK( LWKOPT )
|
||||||
*
|
*
|
||||||
* ==== End of SLAQR4 ====
|
* ==== End of SLAQR4 ====
|
||||||
*
|
*
|
||||||
|
|
|
@ -294,7 +294,7 @@
|
||||||
*
|
*
|
||||||
*> \date May 2020
|
*> \date May 2020
|
||||||
*
|
*
|
||||||
*> \ingroup doubleGEcomputational
|
*> \ingroup laqz0
|
||||||
*>
|
*>
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
RECURSIVE SUBROUTINE SLAQZ0( WANTS, WANTQ, WANTZ, N, ILO, IHI, A,
|
RECURSIVE SUBROUTINE SLAQZ0( WANTS, WANTQ, WANTZ, N, ILO, IHI, A,
|
||||||
|
@ -331,7 +331,7 @@
|
||||||
* External Functions
|
* External Functions
|
||||||
EXTERNAL :: XERBLA, SHGEQZ, SLAQZ3, SLAQZ4, SLASET,
|
EXTERNAL :: XERBLA, SHGEQZ, SLAQZ3, SLAQZ4, SLASET,
|
||||||
$ SLARTG, SROT
|
$ SLARTG, SROT
|
||||||
REAL, EXTERNAL :: SLAMCH, SLANHS
|
REAL, EXTERNAL :: SLAMCH, SLANHS, SROUNDUP_LWORK
|
||||||
LOGICAL, EXTERNAL :: LSAME
|
LOGICAL, EXTERNAL :: LSAME
|
||||||
INTEGER, EXTERNAL :: ILAENV
|
INTEGER, EXTERNAL :: ILAENV
|
||||||
|
|
||||||
|
@ -461,7 +461,7 @@
|
||||||
|
|
||||||
LWORKREQ = MAX( ITEMP1+2*NW**2, ITEMP2+2*NBR**2 )
|
LWORKREQ = MAX( ITEMP1+2*NW**2, ITEMP2+2*NBR**2 )
|
||||||
IF ( LWORK .EQ.-1 ) THEN
|
IF ( LWORK .EQ.-1 ) THEN
|
||||||
WORK( 1 ) = REAL( LWORKREQ )
|
WORK( 1 ) = SROUNDUP_LWORK( LWORKREQ )
|
||||||
RETURN
|
RETURN
|
||||||
ELSE IF ( LWORK .LT. LWORKREQ ) THEN
|
ELSE IF ( LWORK .LT. LWORKREQ ) THEN
|
||||||
INFO = -19
|
INFO = -19
|
||||||
|
|
|
@ -228,7 +228,7 @@
|
||||||
*
|
*
|
||||||
*> \date May 2020
|
*> \date May 2020
|
||||||
*
|
*
|
||||||
*> \ingroup doubleGEcomputational
|
*> \ingroup laqz3
|
||||||
*>
|
*>
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
RECURSIVE SUBROUTINE SLAQZ3( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NW,
|
RECURSIVE SUBROUTINE SLAQZ3( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NW,
|
||||||
|
@ -258,9 +258,9 @@
|
||||||
REAL :: S, SMLNUM, ULP, SAFMIN, SAFMAX, C1, S1, TEMP
|
REAL :: S, SMLNUM, ULP, SAFMIN, SAFMAX, C1, S1, TEMP
|
||||||
|
|
||||||
* External Functions
|
* External Functions
|
||||||
EXTERNAL :: XERBLA, STGEXC, SLABAD, SLAQZ0, SLACPY, SLASET,
|
EXTERNAL :: XERBLA, STGEXC, SLAQZ0, SLACPY, SLASET,
|
||||||
$ SLAQZ2, SROT, SLARTG, SLAG2, SGEMM
|
$ SLAQZ2, SROT, SLARTG, SLAG2, SGEMM
|
||||||
REAL, EXTERNAL :: SLAMCH
|
REAL, EXTERNAL :: SLAMCH, SROUNDUP_LWORK
|
||||||
|
|
||||||
INFO = 0
|
INFO = 0
|
||||||
|
|
||||||
|
@ -286,7 +286,7 @@
|
||||||
LWORKREQ = MAX( LWORKREQ, N*NW, 2*NW**2+N )
|
LWORKREQ = MAX( LWORKREQ, N*NW, 2*NW**2+N )
|
||||||
IF ( LWORK .EQ.-1 ) THEN
|
IF ( LWORK .EQ.-1 ) THEN
|
||||||
* workspace query, quick return
|
* workspace query, quick return
|
||||||
WORK( 1 ) = LWORKREQ
|
WORK( 1 ) = SROUNDUP_LWORK(LWORKREQ)
|
||||||
RETURN
|
RETURN
|
||||||
ELSE IF ( LWORK .LT. LWORKREQ ) THEN
|
ELSE IF ( LWORK .LT. LWORKREQ ) THEN
|
||||||
INFO = -26
|
INFO = -26
|
||||||
|
@ -300,7 +300,6 @@
|
||||||
* Get machine constants
|
* Get machine constants
|
||||||
SAFMIN = SLAMCH( 'SAFE MINIMUM' )
|
SAFMIN = SLAMCH( 'SAFE MINIMUM' )
|
||||||
SAFMAX = ONE/SAFMIN
|
SAFMAX = ONE/SAFMIN
|
||||||
CALL SLABAD( SAFMIN, SAFMAX )
|
|
||||||
ULP = SLAMCH( 'PRECISION' )
|
ULP = SLAMCH( 'PRECISION' )
|
||||||
SMLNUM = SAFMIN*( REAL( N )/ULP )
|
SMLNUM = SAFMIN*( REAL( N )/ULP )
|
||||||
|
|
||||||
|
|
|
@ -204,7 +204,7 @@
|
||||||
*
|
*
|
||||||
*> \date May 2020
|
*> \date May 2020
|
||||||
*
|
*
|
||||||
*> \ingroup doubleGEcomputational
|
*> \ingroup laqz4
|
||||||
*>
|
*>
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SLAQZ4( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NSHIFTS,
|
SUBROUTINE SLAQZ4( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NSHIFTS,
|
||||||
|
@ -236,6 +236,7 @@
|
||||||
* External functions
|
* External functions
|
||||||
EXTERNAL :: XERBLA, SGEMM, SLAQZ1, SLAQZ2, SLASET, SLARTG, SROT,
|
EXTERNAL :: XERBLA, SGEMM, SLAQZ1, SLAQZ2, SLASET, SLARTG, SROT,
|
||||||
$ SLACPY
|
$ SLACPY
|
||||||
|
REAL, EXTERNAL :: SROUNDUP_LWORK
|
||||||
|
|
||||||
INFO = 0
|
INFO = 0
|
||||||
IF ( NBLOCK_DESIRED .LT. NSHIFTS+1 ) THEN
|
IF ( NBLOCK_DESIRED .LT. NSHIFTS+1 ) THEN
|
||||||
|
@ -243,7 +244,7 @@
|
||||||
END IF
|
END IF
|
||||||
IF ( LWORK .EQ.-1 ) THEN
|
IF ( LWORK .EQ.-1 ) THEN
|
||||||
* workspace query, quick return
|
* workspace query, quick return
|
||||||
WORK( 1 ) = N*NBLOCK_DESIRED
|
WORK( 1 ) = SROUNDUP_LWORK(N*NBLOCK_DESIRED)
|
||||||
RETURN
|
RETURN
|
||||||
ELSE IF ( LWORK .LT. N*NBLOCK_DESIRED ) THEN
|
ELSE IF ( LWORK .LT. N*NBLOCK_DESIRED ) THEN
|
||||||
INFO = -25
|
INFO = -25
|
||||||
|
|
|
@ -159,6 +159,8 @@
|
||||||
*> SIAM J. Sci. Comput, vol. 34, no. 1, 2012
|
*> SIAM J. Sci. Comput, vol. 34, no. 1, 2012
|
||||||
*> \endverbatim
|
*> \endverbatim
|
||||||
*>
|
*>
|
||||||
|
*> \ingroup laswlq
|
||||||
|
*>
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SLASWLQ( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK,
|
SUBROUTINE SLASWLQ( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK,
|
||||||
$ INFO)
|
$ INFO)
|
||||||
|
@ -183,7 +185,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. EXTERNAL FUNCTIONS ..
|
* .. EXTERNAL FUNCTIONS ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
EXTERNAL LSAME
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL LSAME, SROUNDUP_LWORK
|
||||||
* .. EXTERNAL SUBROUTINES ..
|
* .. EXTERNAL SUBROUTINES ..
|
||||||
EXTERNAL SGELQT, SGEQRT, STPLQT, STPQRT, XERBLA
|
EXTERNAL SGELQT, SGEQRT, STPLQT, STPQRT, XERBLA
|
||||||
* .. INTRINSIC FUNCTIONS ..
|
* .. INTRINSIC FUNCTIONS ..
|
||||||
|
@ -262,7 +265,7 @@
|
||||||
$ WORK, INFO )
|
$ WORK, INFO )
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
WORK( 1 ) = M * MB
|
WORK( 1 ) = SROUNDUP_LWORK(M * MB)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SLASWLQ
|
* End of SLASWLQ
|
||||||
|
|
|
@ -150,7 +150,7 @@
|
||||||
*> \author Univ. of Colorado Denver
|
*> \author Univ. of Colorado Denver
|
||||||
*> \author NAG Ltd.
|
*> \author NAG Ltd.
|
||||||
*
|
*
|
||||||
*> \ingroup realGBcomputational
|
*> \ingroup ungbr
|
||||||
*
|
*
|
||||||
* =====================================================================
|
* =====================================================================
|
||||||
SUBROUTINE SORGBR( VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
|
SUBROUTINE SORGBR( VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
|
||||||
|
@ -179,7 +179,8 @@
|
||||||
* ..
|
* ..
|
||||||
* .. External Functions ..
|
* .. External Functions ..
|
||||||
LOGICAL LSAME
|
LOGICAL LSAME
|
||||||
EXTERNAL LSAME
|
REAL SROUNDUP_LWORK
|
||||||
|
EXTERNAL LSAME, SROUNDUP_LWORK
|
||||||
* ..
|
* ..
|
||||||
* .. External Subroutines ..
|
* .. External Subroutines ..
|
||||||
EXTERNAL SORGLQ, SORGQR, XERBLA
|
EXTERNAL SORGLQ, SORGQR, XERBLA
|
||||||
|
@ -240,7 +241,7 @@
|
||||||
CALL XERBLA( 'SORGBR', -INFO )
|
CALL XERBLA( 'SORGBR', -INFO )
|
||||||
RETURN
|
RETURN
|
||||||
ELSE IF( LQUERY ) THEN
|
ELSE IF( LQUERY ) THEN
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
*
|
*
|
||||||
|
@ -326,7 +327,7 @@
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
WORK( 1 ) = LWKOPT
|
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
|
||||||
RETURN
|
RETURN
|
||||||
*
|
*
|
||||||
* End of SORGBR
|
* End of SORGBR
|
||||||
|
|
Loading…
Reference in New Issue