diff --git a/lapack-netlib/SRC/dlaqp2.f b/lapack-netlib/SRC/dlaqp2.f
index d32f075484..625c1b1d1e 100644
--- a/lapack-netlib/SRC/dlaqp2.f
+++ b/lapack-netlib/SRC/dlaqp2.f
@@ -168,7 +168,7 @@ SUBROUTINE DLAQP2( M, N, OFFSET, A, LDA, JPVT, TAU, VN1, VN2,
DOUBLE PRECISION TEMP, TEMP2, TOL3Z
* ..
* .. External Subroutines ..
- EXTERNAL DLARF, DLARFG, DSWAP
+ EXTERNAL DLARF1F, DLARFG, DSWAP
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS, MAX, MIN, SQRT
diff --git a/lapack-netlib/SRC/sgelqt.f b/lapack-netlib/SRC/sgelqt.f
index 343da9f49a..08ca23db30 100644
--- a/lapack-netlib/SRC/sgelqt.f
+++ b/lapack-netlib/SRC/sgelqt.f
@@ -40,7 +40,7 @@
*> \param[in] MB
*> \verbatim
*> MB is INTEGER
-*> The block size to be used in the blocked QR. MIN(M,N) >= MB >= 1.
+*> The block size to be used in the blocked LQ. MIN(M,N) >= MB >= 1.
*> \endverbatim
*>
*> \param[in,out] A
@@ -75,7 +75,10 @@
*>
*> \param[out] WORK
*> \verbatim
-*> WORK is REAL array, dimension (MB*N)
+*> WORK is REAL array, dimension (MB*M).
+*> Note: A smaller workspace of MB*(M-MB) may also be sufficient, but
+*> that is yet to be proven. MB*M is a conservative estimate and the
+*> recommended value to use.
*> \endverbatim
*>
*> \param[out] INFO
@@ -101,7 +104,7 @@
*> \verbatim
*>
*> The matrix V stores the elementary reflectors H(i) in the i-th row
-*> above the diagonal. For example, if M=5 and N=3, the matrix V is
+*> above the diagonal. For example, if M=3 and N=5, the matrix V is
*>
*> V = ( 1 v1 v1 v1 v1 )
*> ( 1 v2 v2 v2 )
@@ -121,6 +124,7 @@
*>
* =====================================================================
SUBROUTINE SGELQT( M, N, MB, A, LDA, T, LDT, WORK, INFO )
+ IMPLICIT NONE
*
* -- LAPACK computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
@@ -140,7 +144,7 @@ SUBROUTINE SGELQT( M, N, MB, A, LDA, T, LDT, WORK, INFO )
INTEGER I, IB, IINFO, K
* ..
* .. External Subroutines ..
- EXTERNAL SGEQRT2, SGEQRT3, SGELQT3, SLARFB, XERBLA
+ EXTERNAL SGELQT3, SLARFB, XERBLA
* ..
* .. Executable Statements ..
*
diff --git a/lapack-netlib/SRC/sgges.f b/lapack-netlib/SRC/sgges.f
index 8f42882ddd..e85f755a6a 100644
--- a/lapack-netlib/SRC/sgges.f
+++ b/lapack-netlib/SRC/sgges.f
@@ -5,7 +5,6 @@
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
-*> \htmlonly
*> Download SGGES + dependencies
*>
*> [TGZ]
@@ -13,7 +12,6 @@
*> [ZIP]
*>
*> [TXT]
-*> \endhtmlonly
*
* Definition:
* ===========
@@ -278,9 +276,11 @@
*> \ingroup gges
*
* =====================================================================
- SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
+ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B,
+ $ LDB,
$ SDIM, ALPHAR, ALPHAI, BETA, VSL, LDVSL, VSR,
$ LDVSR, WORK, LWORK, BWORK, INFO )
+ IMPLICIT NONE
*
* -- LAPACK driver routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
@@ -297,8 +297,12 @@ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
$ VSR( LDVSR, * ), WORK( * )
* ..
* .. Function Arguments ..
- LOGICAL SELCTG
- EXTERNAL SELCTG
+ INTERFACE
+ LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHAR, ALPHAI, BETA)
+ REAL ALPHAR, ALPHAI, BETA
+ END FUNCTION SELCTG_PROC_TYPE
+ END INTERFACE
+ PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG
* ..
*
* =====================================================================
@@ -321,14 +325,16 @@ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
REAL DIF( 2 )
* ..
* .. External Subroutines ..
- EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY,
- $ SLASCL, SLASET, SORGQR, SORMQR, STGSEN
+ EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ,
+ $ SLACPY,
+ $ SLASCL, SLASET, SORGQR, SORMQR, STGSEN, XERBLA
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
REAL SLAMCH, SLANGE, SROUNDUP_LWORK
- EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK
+ EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE,
+ $ SROUNDUP_LWORK
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS, MAX, SQRT
@@ -369,7 +375,8 @@ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
INFO = -1
ELSE IF( IJOBVR.LE.0 ) THEN
INFO = -2
- ELSE IF( ( .NOT.WANTST ) .AND. ( .NOT.LSAME( SORT, 'N' ) ) ) THEN
+ ELSE IF( ( .NOT.WANTST ) .AND.
+ $ ( .NOT.LSAME( SORT, 'N' ) ) ) THEN
INFO = -3
ELSE IF( N.LT.0 ) THEN
INFO = -5
@@ -399,7 +406,8 @@ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
$ N*ILAENV( 1, 'SORMQR', ' ', N, 1, N, -1 ) )
IF( ILVSL ) THEN
MAXWRK = MAX( MAXWRK, MINWRK - N +
- $ N*ILAENV( 1, 'SORGQR', ' ', N, 1, N, -1 ) )
+ $ N*ILAENV( 1, 'SORGQR', ' ', N, 1, N,
+ $ -1 ) )
END IF
ELSE
MINWRK = 1
@@ -544,15 +552,18 @@ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
$ IERR )
END IF
IF( ILBSCL )
- $ CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR )
+ $ CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N,
+ $ IERR )
*
* Select eigenvalues
*
DO 10 I = 1, N
- BWORK( I ) = SELCTG( ALPHAR( I ), ALPHAI( I ), BETA( I ) )
+ BWORK( I ) = SELCTG( ALPHAR( I ), ALPHAI( I ),
+ $ BETA( I ) )
10 CONTINUE
*
- CALL STGSEN( 0, ILVSL, ILVSR, BWORK, N, A, LDA, B, LDB, ALPHAR,
+ CALL STGSEN( 0, ILVSL, ILVSR, BWORK, N, A, LDA, B, LDB,
+ $ ALPHAR,
$ ALPHAI, BETA, VSL, LDVSL, VSR, LDVSR, SDIM, PVSL,
$ PVSR, DIF, WORK( IWRK ), LWORK-IWRK+1, IDUM, 1,
$ IERR )
@@ -614,8 +625,10 @@ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB,
*
IF( ILASCL ) THEN
CALL SLASCL( 'H', 0, 0, ANRMTO, ANRM, N, N, A, LDA, IERR )
- CALL SLASCL( 'G', 0, 0, ANRMTO, ANRM, N, 1, ALPHAR, N, IERR )
- CALL SLASCL( 'G', 0, 0, ANRMTO, ANRM, N, 1, ALPHAI, N, IERR )
+ CALL SLASCL( 'G', 0, 0, ANRMTO, ANRM, N, 1, ALPHAR, N,
+ $ IERR )
+ CALL SLASCL( 'G', 0, 0, ANRMTO, ANRM, N, 1, ALPHAI, N,
+ $ IERR )
END IF
*
IF( ILBSCL ) THEN
diff --git a/lapack-netlib/SRC/slaqr2.f b/lapack-netlib/SRC/slaqr2.f
index 9ee1f8b6e2..0cc95b37ee 100644
--- a/lapack-netlib/SRC/slaqr2.f
+++ b/lapack-netlib/SRC/slaqr2.f
@@ -311,7 +311,7 @@ SUBROUTINE SLAQR2( WANTT, WANTZ, N, KTOP, KBOT, NW, H, LDH,
* .. External Subroutines ..
EXTERNAL SCOPY, SGEHRD, SGEMM, SLACPY,
$ SLAHQR,
- $ SLANV2, SLARF1L, SLARFG, SLASET, SORMHR,
+ $ SLANV2, SLARF1F, SLARFG, SLASET, SORMHR,
$ STREXC
* ..
* .. Intrinsic Functions ..
diff --git a/lapack-netlib/SRC/zhetrf_aa.f b/lapack-netlib/SRC/zhetrf_aa.f
index 381c87d51c..accd750367 100644
--- a/lapack-netlib/SRC/zhetrf_aa.f
+++ b/lapack-netlib/SRC/zhetrf_aa.f
@@ -5,7 +5,6 @@
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
-*> \htmlonly
*> Download ZHETRF_AA + dependencies
*>
*> [TGZ]
@@ -13,7 +12,6 @@
*> [ZIP]
*>
*> [TXT]
-*> \endhtmlonly
*
* Definition:
* ===========
@@ -130,7 +128,8 @@
*> \ingroup hetrf_aa
*
* =====================================================================
- SUBROUTINE ZHETRF_AA( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
+ SUBROUTINE ZHETRF_AA( UPLO, N, A, LDA, IPIV,
+ $ WORK, LWORK, INFO )
*
* -- LAPACK computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
@@ -164,7 +163,8 @@ SUBROUTINE ZHETRF_AA( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
EXTERNAL LSAME, ILAENV
* ..
* .. External Subroutines ..
- EXTERNAL ZLAHEF_AA, ZGEMM, ZGEMV, ZCOPY, ZSCAL, ZSWAP, XERBLA
+ EXTERNAL ZLAHEF_AA, ZGEMM, ZCOPY, ZSCAL, ZSWAP,
+ $ XERBLA
* ..
* .. Intrinsic Functions ..
INTRINSIC DBLE, DCONJG, MAX
@@ -438,7 +438,8 @@ SUBROUTINE ZHETRF_AA( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
*
J3 = J2
DO MJ = NJ-1, 1, -1
- CALL ZGEMM( 'No transpose', 'Conjugate transpose',
+ CALL ZGEMM( 'No transpose',
+ $ 'Conjugate transpose',
$ MJ, 1, JB+1,
$ -ONE, WORK( (J3-J1+1)+K1*N ), N,
$ A( J3, J1-K2 ), LDA,
diff --git a/lapack-netlib/SRC/zlahef_aa.f b/lapack-netlib/SRC/zlahef_aa.f
index 37bd29f888..a109098784 100644
--- a/lapack-netlib/SRC/zlahef_aa.f
+++ b/lapack-netlib/SRC/zlahef_aa.f
@@ -5,7 +5,6 @@
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
-*> \htmlonly
*> Download ZLAHEF_AA + dependencies
*>
*> [TGZ]
@@ -13,7 +12,6 @@
*> [ZIP]
*>
*> [TXT]
-*> \endhtmlonly
*
* Definition:
* ===========
@@ -136,7 +134,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
-*> \ingroup complex16HEcomputational
+*> \ingroup lahef_aa
*
* =====================================================================
SUBROUTINE ZLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
@@ -172,8 +170,8 @@ SUBROUTINE ZLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
EXTERNAL LSAME, ILAENV, IZAMAX
* ..
* .. External Subroutines ..
- EXTERNAL ZGEMM, ZGEMV, ZAXPY, ZLACGV, ZCOPY, ZSCAL, ZSWAP,
- $ ZLASET, XERBLA
+ EXTERNAL ZGEMV, ZAXPY, ZLACGV, ZCOPY, ZSCAL,
+ $ ZSWAP, ZLASET, XERBLA
* ..
* .. Intrinsic Functions ..
INTRINSIC DBLE, DCONJG, MAX
diff --git a/lapack-netlib/SRC/zrscl.f b/lapack-netlib/SRC/zrscl.f
index 970f6de752..558225c7dd 100644
--- a/lapack-netlib/SRC/zrscl.f
+++ b/lapack-netlib/SRC/zrscl.f
@@ -1,19 +1,17 @@
-*> \brief \b ZDRSCL multiplies a vector by the reciprocal of a real scalar.
+*> \brief \b ZRSCL multiplies a vector by the reciprocal of a complex scalar.
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
-*> \htmlonly
-*> Download ZDRSCL + dependencies
-*>
+*> Download ZRSCL + dependencies
+*>
*> [TGZ]
-*>
+*>
*> [ZIP]
-*>
+*>
*> [TXT]
-*> \endhtmlonly
*
* Definition:
* ===========
@@ -81,6 +79,7 @@
*
* =====================================================================
SUBROUTINE ZRSCL( N, A, X, INCX )
+ IMPLICIT NONE
*
* -- LAPACK auxiliary routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
@@ -170,7 +169,8 @@ SUBROUTINE ZRSCL( N, A, X, INCX )
ELSE IF( (ABS( UR ).GT.SAFMAX).OR.(ABS( UI ).GT.SAFMAX) ) THEN
IF( (ABSR.GT.OV).OR.(ABSI.GT.OV) ) THEN
* This means that a and b are both Inf. No need for scaling.
- CALL ZSCAL( N, DCMPLX( ONE / UR, -ONE / UI ), X, INCX )
+ CALL ZSCAL( N, DCMPLX( ONE / UR, -ONE / UI ), X,
+ $ INCX )
ELSE
CALL ZDSCAL( N, SAFMIN, X, INCX )
IF( (ABS( UR ).GT.OV).OR.(ABS( UI ).GT.OV) ) THEN