diff options
Diffstat (limited to 'SRC')
257 files changed, 1005 insertions, 582 deletions
diff --git a/SRC/cgbrfsx.f b/SRC/cgbrfsx.f index 0fe4c7ba..537bb620 100644 --- a/SRC/cgbrfsx.f +++ b/SRC/cgbrfsx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * CGBRFSX improves the computed solution to a system of linear @@ -44,8 +44,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -324,7 +324,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/cgbsvxx.f b/SRC/cgbsvxx.f index 29272e3e..87549320 100644 --- a/SRC/cgbsvxx.f +++ b/SRC/cgbsvxx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * CGBSVXX uses the LU factorization to compute the solution to a @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what CGBSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -438,7 +438,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/cgebak.f b/SRC/cgebak.f index 48d87e42..429e4941 100644 --- a/SRC/cgebak.f +++ b/SRC/cgebak.f @@ -42,6 +42,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by CGEBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/cgebal.f b/SRC/cgebal.f index 8a4084a6..762f887d 100644 --- a/SRC/cgebal.f +++ b/SRC/cgebal.f @@ -51,6 +51,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 if i > j and j = 1,...,ILO-1 or I = IHI+1,...,N. diff --git a/SRC/cgeevx.f b/SRC/cgeevx.f index bdd0c2dd..d7ee57d3 100644 --- a/SRC/cgeevx.f +++ b/SRC/cgeevx.f @@ -130,6 +130,7 @@ * JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values determined when A was * balanced. The balanced A(i,j) = 0 if I > J and diff --git a/SRC/cgegv.f b/SRC/cgegv.f index 080524e5..f0cfb5e7 100644 --- a/SRC/cgegv.f +++ b/SRC/cgegv.f @@ -45,8 +45,7 @@ * u**H*A = lambda*u**H*B or mu*v**H*A = v**H*B * are left eigenvectors of (A,B). * -* Note: this routine performs "full balancing" on A and B -- see -* "Further Details", below. +* Note: this routine performs "full balancing" on A and B * * Arguments * ========= @@ -100,7 +99,6 @@ * one of the forms lambda = alpha/beta or mu = beta/alpha. * Since either lambda or mu may overflow, they should not, * in general, be computed. - * * VL (output) COMPLEX array, dimension (LDVL,N) * If JOBVL = 'V', the left eigenvectors u(j) are stored diff --git a/SRC/cgeqp3.f b/SRC/cgeqp3.f index bab52eeb..5ffec77f 100644 --- a/SRC/cgeqp3.f +++ b/SRC/cgeqp3.f @@ -114,7 +114,7 @@ * .. Executable Statements .. * * Test input arguments -* ==================== +* ==================== * INFO = 0 LQUERY = ( LWORK.EQ.-1 ) @@ -176,7 +176,7 @@ NFXD = NFXD - 1 * * Factorize fixed columns -* ======================= +* ======================= * * Compute the QR factorization of fixed columns and update * remaining columns. @@ -198,7 +198,7 @@ END IF * * Factorize free columns -* ====================== +* ====================== * IF( NFXD.LT.MINMN ) THEN * diff --git a/SRC/cgeqrt.f b/SRC/cgeqrt.f index 805d9eb2..75b7ec7a 100644 --- a/SRC/cgeqrt.f +++ b/SRC/cgeqrt.f @@ -36,7 +36,7 @@ * On exit, the elements on and above the diagonal of the array * contain the min(M,N)-by-N upper trapezoidal matrix R (R is * upper triangular if M >= N); the elements below the diagonal -* are the columns of V. See below for further details. +* are the columns of V. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,M). diff --git a/SRC/cgerfsx.f b/SRC/cgerfsx.f index 7ffc56a6..a4195497 100644 --- a/SRC/cgerfsx.f +++ b/SRC/cgerfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * CGERFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -305,7 +305,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/cgesvxx.f b/SRC/cgesvxx.f index 43c24e84..36e7ac43 100644 --- a/SRC/cgesvxx.f +++ b/SRC/cgesvxx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * CGESVXX uses the LU factorization to compute the solution to a @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what CGESVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -424,7 +424,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/cggbak.f b/SRC/cggbak.f index 5cd9ed63..86818b1b 100644 --- a/SRC/cggbak.f +++ b/SRC/cggbak.f @@ -43,6 +43,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by CGGBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/cggbal.f b/SRC/cggbal.f index 6c1eb0a3..96df275d 100644 --- a/SRC/cggbal.f +++ b/SRC/cggbal.f @@ -60,6 +60,7 @@ * The leading dimension of the array B. LDB >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and diff --git a/SRC/cgges.f b/SRC/cgges.f index 51befd81..570f095f 100644 --- a/SRC/cgges.f +++ b/SRC/cgges.f @@ -109,6 +109,7 @@ * for which SELCTG is true. * * ALPHA (output) COMPLEX array, dimension (N) +* * BETA (output) COMPLEX array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the * generalized eigenvalues. ALPHA(j), j=1,...,N and BETA(j), diff --git a/SRC/cggesx.f b/SRC/cggesx.f index 647ec3be..9ac26cb8 100644 --- a/SRC/cggesx.f +++ b/SRC/cggesx.f @@ -118,6 +118,7 @@ * for which SELCTG is true. * * ALPHA (output) COMPLEX array, dimension (N) +* * BETA (output) COMPLEX array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the * generalized eigenvalues. ALPHA(j) and BETA(j),j=1,...,N are diff --git a/SRC/cggev.f b/SRC/cggev.f index 9d5437d3..3ce1d101 100644 --- a/SRC/cggev.f +++ b/SRC/cggev.f @@ -71,6 +71,7 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHA (output) COMPLEX array, dimension (N) +* * BETA (output) COMPLEX array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the * generalized eigenvalues. diff --git a/SRC/cggevx.f b/SRC/cggevx.f index 26e43d8e..245fbcfd 100644 --- a/SRC/cggevx.f +++ b/SRC/cggevx.f @@ -102,6 +102,7 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHA (output) COMPLEX array, dimension (N) +* * BETA (output) COMPLEX array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the generalized * eigenvalues. @@ -138,6 +139,7 @@ * if JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and @@ -245,6 +247,8 @@ * For further explanation of the reciprocal condition numbers RCONDE * and RCONDV, see section 4.11 of LAPACK User's Guide. * +* ===================================================================== +* * .. Parameters .. REAL ZERO, ONE PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 ) diff --git a/SRC/chbevx.f b/SRC/chbevx.f index 6a9f51f5..2ab4f0ee 100644 --- a/SRC/chbevx.f +++ b/SRC/chbevx.f @@ -75,12 +75,14 @@ * LDQ >= max(1,N). * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/cheevr.f b/SRC/cheevr.f index 7b5e994a..5dc17573 100644 --- a/SRC/cheevr.f +++ b/SRC/cheevr.f @@ -92,8 +92,8 @@ * = 'V': all eigenvalues in the half-open interval (VL,VU] * will be found. * = 'I': the IL-th through IU-th eigenvalues will be found. -********** For RANGE = 'V' or 'I' and IU - IL < N - 1, SSTEBZ and -********** CSTEIN are called +* For RANGE = 'V' or 'I' and IU - IL < N - 1, SSTEBZ and +* CSTEIN are called * * UPLO (input) CHARACTER*1 * = 'U': Upper triangle of A is stored; @@ -116,12 +116,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. @@ -183,7 +185,7 @@ * indicating the nonzero elements in Z. The i-th eigenvector * is nonzero only in elements ISUPPZ( 2*i-1 ) through * ISUPPZ( 2*i ). -********** Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 +* Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 * * WORK (workspace/output) COMPLEX array, dimension (MAX(1,LWORK)) * On exit, if INFO = 0, WORK(1) returns the optimal LWORK. diff --git a/SRC/cheevx.f b/SRC/cheevx.f index cc488ffd..d99c5026 100644 --- a/SRC/cheevx.f +++ b/SRC/cheevx.f @@ -61,12 +61,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/cherfsx.f b/SRC/cherfsx.f index 55052a81..e74e0743 100644 --- a/SRC/cherfsx.f +++ b/SRC/cherfsx.f @@ -27,7 +27,7 @@ $ ERR_BNDS_NORM( NRHS, * ), $ ERR_BNDS_COMP( NRHS, * ) * -* Purpose +* Purpose * ======= * * CHERFSX improves the computed solution to a system of linear @@ -42,8 +42,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -295,7 +295,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/chesvxx.f b/SRC/chesvxx.f index 1ac187fb..043d033a 100644 --- a/SRC/chesvxx.f +++ b/SRC/chesvxx.f @@ -28,8 +28,8 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * CHESVXX uses the diagonal pivoting factorization to compute the * solution to a complex system of linear equations A * X = B, where @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what CHESVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -94,8 +94,8 @@ * diag(R) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -390,7 +390,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/chgeqz.f b/SRC/chgeqz.f index 47d0b3f6..674dad02 100644 --- a/SRC/chgeqz.f +++ b/SRC/chgeqz.f @@ -89,6 +89,7 @@ * The order of the matrices H, T, Q, and Z. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * ILO and IHI mark the rows and columns of H which are in * Hessenberg form. It is assumed that A is already upper diff --git a/SRC/chpevx.f b/SRC/chpevx.f index 1fbf9ab6..3d0fa42d 100644 --- a/SRC/chpevx.f +++ b/SRC/chpevx.f @@ -61,12 +61,14 @@ * corresponding elements of A. * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/chseqr.f b/SRC/chseqr.f index acb922b2..da7d924d 100644 --- a/SRC/chseqr.f +++ b/SRC/chseqr.f @@ -12,7 +12,7 @@ * .. Array Arguments .. COMPLEX H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * ) * .. -* Purpose +* Purpose * ======= * * CHSEQR computes the eigenvalues of a Hessenberg matrix H @@ -25,8 +25,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. * -* Arguments -* ========= +* Arguments +* ========= * * JOB (input) CHARACTER*1 * = 'E': compute eigenvalues only; @@ -147,7 +147,7 @@ * If INFO .GT. 0 and COMPZ = 'N', then Z is not * accessed. * -* ================================================================ +* ================================================================ * Default values supplied by * ILAENV(ISPEC,'CHSEQR',JOB(:1)//COMPZ(:1),N,ILO,IHI,LWORK). * It is suggested that these defaults be adjusted in order @@ -199,12 +199,12 @@ * for ISPEC=16 is 0. Otherwise the default for * ISPEC=16 is 2. * -* ================================================================ +* ================================================================ * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -215,7 +215,7 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/cla_heamv.f b/SRC/cla_heamv.f index 5fbc2183..69d3b61e 100644 --- a/SRC/cla_heamv.f +++ b/SRC/cla_heamv.f @@ -64,7 +64,7 @@ * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - COMPLEX array of DIMENSION ( LDA, n ). +* A (input) COMPLEX array of DIMENSION ( LDA, n ). * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. diff --git a/SRC/cla_lin_berr.f b/SRC/cla_lin_berr.f index cbe80a24..427dbc51 100644 --- a/SRC/cla_lin_berr.f +++ b/SRC/cla_lin_berr.f @@ -27,6 +27,9 @@ * where abs(Z) is the componentwise absolute value of the matrix * or vector Z. * +* Arguments +* ========= +* * N (input) INTEGER * The number of linear equations, i.e., the order of the * matrix A. N >= 0. diff --git a/SRC/cla_syamv.f b/SRC/cla_syamv.f index 15d58409..85f630fe 100644 --- a/SRC/cla_syamv.f +++ b/SRC/cla_syamv.f @@ -65,7 +65,7 @@ * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - COMPLEX array of DIMENSION ( LDA, n ). +* A (input) COMPLEX array of DIMENSION ( LDA, n ). * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. diff --git a/SRC/cla_wwaddw.f b/SRC/cla_wwaddw.f index 605dd85c..b3dc461a 100644 --- a/SRC/cla_wwaddw.f +++ b/SRC/cla_wwaddw.f @@ -17,7 +17,7 @@ COMPLEX X( * ), Y( * ), W( * ) * .. * -* Purpose +* Purpose * ======= * * CLA_WWADDW adds a vector W into a doubled-single vector (X, Y). @@ -25,8 +25,8 @@ * This works for all extant IBM's hex and binary floating point * arithmetics, but not for decimal. * -* Arguments -* ========= +* Arguments +* ========= * * N (input) INTEGER * The length of vectors X, Y, and W. diff --git a/SRC/clacrt.f b/SRC/clacrt.f index 1c02f15c..213071e6 100644 --- a/SRC/clacrt.f +++ b/SRC/clacrt.f @@ -44,6 +44,7 @@ * The increment between successive values of CY. INCY <> 0. * * C (input) COMPLEX +* * S (input) COMPLEX * C and S define the matrix * [ C S ]. diff --git a/SRC/cladiv.f b/SRC/cladiv.f index 00e79c76..d77e5a4c 100644 --- a/SRC/cladiv.f +++ b/SRC/cladiv.f @@ -20,6 +20,7 @@ * ========= * * X (input) COMPLEX +* * Y (input) COMPLEX * The complex scalars X and Y. * diff --git a/SRC/claesy.f b/SRC/claesy.f index 6aaf5149..3156aac7 100644 --- a/SRC/claesy.f +++ b/SRC/claesy.f @@ -52,6 +52,7 @@ * value THRESH (set below). * * CS1 (output) COMPLEX +* * SN1 (output) COMPLEX * If EVSCAL .NE. 0, ( CS1, SN1 ) is the unit right eigenvector * for RT1. diff --git a/SRC/claev2.f b/SRC/claev2.f index 1c2163ca..0749bcdf 100644 --- a/SRC/claev2.f +++ b/SRC/claev2.f @@ -43,6 +43,7 @@ * The eigenvalue of smaller absolute value. * * CS1 (output) REAL +* * SN1 (output) COMPLEX * The vector (CS1, SN1) is a unit right eigenvector for RT1. * diff --git a/SRC/clags2.f b/SRC/clags2.f index 4258c720..0fa4d958 100644 --- a/SRC/clags2.f +++ b/SRC/clags2.f @@ -54,26 +54,33 @@ * = .FALSE.: the input matrices A and B are lower triangular. * * A1 (input) REAL +* * A2 (input) COMPLEX +* * A3 (input) REAL * On entry, A1, A2 and A3 are elements of the input 2-by-2 * upper (lower) triangular matrix A. * * B1 (input) REAL +* * B2 (input) COMPLEX +* * B3 (input) REAL * On entry, B1, B2 and B3 are elements of the input 2-by-2 * upper (lower) triangular matrix B. * * CSU (output) REAL +* * SNU (output) COMPLEX * The desired unitary matrix U. * * CSV (output) REAL +* * SNV (output) COMPLEX * The desired unitary matrix V. * * CSQ (output) REAL +* * SNQ (output) COMPLEX * The desired unitary matrix Q. * diff --git a/SRC/clahqr.f b/SRC/clahqr.f index b3549527..52d2d405 100644 --- a/SRC/clahqr.f +++ b/SRC/clahqr.f @@ -13,7 +13,7 @@ COMPLEX H( LDH, * ), W( * ), Z( LDZ, * ) * .. * -* Purpose +* Purpose * ======= * * CLAHQR is an auxiliary routine called by CHSEQR to update the @@ -21,8 +21,8 @@ * dealing with the Hessenberg submatrix in rows and columns ILO to * IHI. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -36,6 +36,7 @@ * The order of the matrix H. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows and * columns IHI+1:N, and that H(ILO,ILO-1) = 0 (unless ILO = 1). @@ -62,6 +63,7 @@ * of the Schur form returned in H, with W(i) = H(i,i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -102,8 +104,8 @@ * where U is the orthogonal matrix in (*) * (regardless of the value of WANTT.) * -* Further Details -* =============== +* Further Details +* =============== * * 02-96 Based on modifications by * David Day, Sandia National Laboratory, USA @@ -115,7 +117,7 @@ * (2) adopts the more conservative Ahues & Tisseur stopping * criterion (LAWN 122, 1997). * -* ========================================================= +* ========================================================= * * .. Parameters .. INTEGER ITMAX diff --git a/SRC/clanhf.f b/SRC/clanhf.f index 6d0544cc..5b27c725 100644 --- a/SRC/clanhf.f +++ b/SRC/clanhf.f @@ -69,7 +69,7 @@ * The order of the matrix A. N >= 0. When N = 0, CLANHF is * set to zero. * -* A (input) COMPLEX*16 array, dimension ( N*(N+1)/2 ); +* A (input) COMPLEX*16 array, dimension ( N*(N+1)/2 ); * On entry, the matrix A in RFP Format. * RFP Format is described by TRANSR, UPLO and N as follows: * If TRANSR='N' then RFP A is (0:N,0:K-1) when N is even; diff --git a/SRC/claqr0.f b/SRC/claqr0.f index 4ea7417b..0d09d548 100644 --- a/SRC/claqr0.f +++ b/SRC/claqr0.f @@ -13,8 +13,8 @@ COMPLEX H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * CLAQR0 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition @@ -26,8 +26,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -41,6 +41,7 @@ * The order of the matrix H. N .GE. 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows * and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1, @@ -134,12 +135,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -150,7 +152,7 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/claqr1.f b/SRC/claqr1.f index c51bcb67..a9224b78 100644 --- a/SRC/claqr1.f +++ b/SRC/claqr1.f @@ -12,6 +12,9 @@ COMPLEX H( LDH, * ), V( * ) * .. * +* Purpose +* ======= +* * Given a 2-by-2 or 3-by-3 matrix H, CLAQR1 sets v to a * scalar multiple of the first column of the product * @@ -22,6 +25,8 @@ * This is useful for starting double implicit shift bulges * in the QR algorithm. * +* Arguments +* ========= * * N (input) integer * Order of the matrix H. N must be either 2 or 3. @@ -34,18 +39,21 @@ * the calling procedure. LDH.GE.N * * S1 (input) COMPLEX +* * S2 S1 and S2 are the shifts defining K in (*) above. * * V (output) COMPLEX array of dimension N * A scalar multiple of the first column of the * matrix K in (*). * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * * .. Parameters .. COMPLEX ZERO diff --git a/SRC/claqr2.f b/SRC/claqr2.f index a0e58056..d7d27e09 100644 --- a/SRC/claqr2.f +++ b/SRC/claqr2.f @@ -16,11 +16,12 @@ $ WORK( * ), WV( LDWV, * ), Z( LDZ, * ) * .. * -* This subroutine is identical to CLAQR3 except that it avoids -* recursion by calling CLAHQR instead of CLAQR4. +* Purpose +* ======= * +* CLAQR2 is identical to CLAQR3 except that it avoids +* recursion by calling CLAHQR instead of CLAQR4. * -* ****************************************************************** * Aggressive early deflation: * * This subroutine accepts as input an upper Hessenberg matrix @@ -32,7 +33,9 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the triangular Schur factor may be @@ -77,6 +80,7 @@ * subroutine. N .LE. LDH * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N. @@ -147,12 +151,15 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ +* * .. Parameters .. COMPLEX ZERO, ONE PARAMETER ( ZERO = ( 0.0e0, 0.0e0 ), diff --git a/SRC/claqr3.f b/SRC/claqr3.f index 52ab9398..9412bbd6 100644 --- a/SRC/claqr3.f +++ b/SRC/claqr3.f @@ -16,10 +16,12 @@ $ WORK( * ), WV( LDWV, * ), Z( LDZ, * ) * .. * -* ****************************************************************** +* Purpose +* ======= +* * Aggressive early deflation: * -* This subroutine accepts as input an upper Hessenberg matrix +* CLAQR3 accepts as input an upper Hessenberg matrix * H and performs an unitary similarity transformation * designed to detect and deflate fully converged eigenvalues from * a trailing principal submatrix. On output H has been over- @@ -28,7 +30,9 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the triangular Schur factor may be @@ -73,6 +77,7 @@ * subroutine. N .LE. LDH * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N. @@ -143,12 +148,15 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ +* * .. Parameters .. COMPLEX ZERO, ONE PARAMETER ( ZERO = ( 0.0e0, 0.0e0 ), diff --git a/SRC/claqr4.f b/SRC/claqr4.f index 7d4282e4..091be868 100644 --- a/SRC/claqr4.f +++ b/SRC/claqr4.f @@ -13,16 +13,17 @@ COMPLEX H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * ) * .. * -* This subroutine implements one level of recursion for CLAQR0. +* +* Purpose +* ======= +* +* CLAQR4 implements one level of recursion for CLAQR0. * It is a complete implementation of the small bulge multi-shift * QR algorithm. It may be called by CLAQR0 and, for large enough * deflation window size, it may be called by CLAQR3. This * subroutine is identical to CLAQR0 except that it calls CLAQR2 * instead of CLAQR3. * -* Purpose -* ======= -* * CLAQR4 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition * H = Z T Z**H, where T is an upper triangular matrix (the @@ -33,8 +34,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -48,6 +49,7 @@ * The order of the matrix H. N .GE. 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows * and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1, @@ -141,12 +143,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -157,7 +160,8 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ +* * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/claqr5.f b/SRC/claqr5.f index 5ea34429..7199183a 100644 --- a/SRC/claqr5.f +++ b/SRC/claqr5.f @@ -16,9 +16,15 @@ $ WH( LDWH, * ), WV( LDWV, * ), Z( LDZ, * ) * .. * -* This auxiliary subroutine called by CLAQR0 performs a +* Purpose +* ======= +* +* CLAQR5 called by CLAQR0 performs a * single small-bulge multi-shift QR sweep. * +* Arguments +* ========= +* * WANTT (input) logical scalar * WANTT = .true. if the triangular Schur factor * is being computed. WANTT is set to .false. otherwise. @@ -45,6 +51,7 @@ * subroutine operates. * * KTOP (input) integer scalar +* * KBOT (input) integer scalar * These are the first and last rows and columns of an * isolated diagonal block upon which the QR sweep is to be @@ -72,6 +79,7 @@ * calling procedure. LDH.GE.MAX(1,N). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N @@ -120,12 +128,13 @@ * LDWV is the leading dimension of WV as declared in the * in the calling subroutine. LDWV.GE.NV. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * Reference: * * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR @@ -133,7 +142,7 @@ * Level 3 Performance, SIAM Journal of Matrix Analysis, * volume 23, pages 929--947, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. COMPLEX ZERO, ONE PARAMETER ( ZERO = ( 0.0e0, 0.0e0 ), diff --git a/SRC/clargv.f b/SRC/clargv.f index c4bad275..97ff56ad 100644 --- a/SRC/clargv.f +++ b/SRC/clargv.f @@ -57,7 +57,7 @@ * The increment between elements of C. INCC > 0. * * Further Details -* ======= ======= +* =============== * * 6-6-96 - Modified with a new algorithm by W. Kahan and J. Demmel * diff --git a/SRC/clarrv.f b/SRC/clarrv.f index ceeb8bf9..7b711617 100644 --- a/SRC/clarrv.f +++ b/SRC/clarrv.f @@ -35,16 +35,17 @@ * The order of the matrix. N >= 0. * * VL (input) REAL +* * VU (input) REAL * Lower and upper bounds of the interval that contains the desired * eigenvalues. VL < VU. Needed to compute gaps on the left or right * end of the extremal eigenvalues in the desired RANGE. * -* D (input/output) REAL array, dimension (N) +* D (input/output) REAL array, dimension (N) * On entry, the N diagonal elements of the diagonal matrix D. * On exit, D may be overwritten. * -* L (input/output) REAL array, dimension (N) +* L (input/output) REAL array, dimension (N) * On entry, the (N-1) subdiagonal elements of the unit * bidiagonal matrix L are in elements 1 to N-1 of L * (if the matrix is not splitted.) At the end of each block @@ -64,6 +65,7 @@ * The total number of input eigenvalues. 0 <= M <= N. * * DOL (input) INTEGER +* * DOU (input) INTEGER * If the user wants to compute only selected eigenvectors from all * the eigenvalues supplied, he can specify an index range DOL:DOU. @@ -77,12 +79,13 @@ * MINRGP (input) REAL * * RTOL1 (input) REAL +* * RTOL2 (input) REAL * Parameters for bisection. * An interval [LEFT,RIGHT] has converged if * RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) ) * -* W (input/output) REAL array, dimension (N) +* W (input/output) REAL array, dimension (N) * The first M elements of W contain the APPROXIMATE eigenvalues for * which eigenvectors are to be computed. The eigenvalues * should be grouped by split-off block and ordered from @@ -92,11 +95,11 @@ * for their block. On exit, W holds the eigenvalues of the * UNshifted matrix. * -* WERR (input/output) REAL array, dimension (N) +* WERR (input/output) REAL array, dimension (N) * The first M elements contain the semiwidth of the uncertainty * interval of the corresponding eigenvalue in W * -* WGAP (input/output) REAL array, dimension (N) +* WGAP (input/output) REAL array, dimension (N) * The separation from the right neighbor eigenvalue in W. * * IBLOCK (input) INTEGER array, dimension (N) @@ -110,12 +113,12 @@ * for example, INDEXW(i)= 10 and IBLOCK(i)=2 imply that the * i-th eigenvalue W(i) is the 10-th eigenvalue in the second block. * -* GERS (input) REAL array, dimension (2*N) +* GERS (input) REAL array, dimension (2*N) * The N Gerschgorin intervals (the i-th Gerschgorin interval * is (GERS(2*i-1), GERS(2*i)). The Gerschgorin intervals should * be computed from the original UNshifted matrix. * -* Z (output) COMPLEX array, dimension (LDZ, max(1,M) ) +* Z (output)COMPLEX array, dimension (LDZ, max(1,M) ) * If INFO = 0, the first M columns of Z contain the * orthonormal eigenvectors of the matrix T * corresponding to the input eigenvalues, with the i-th @@ -133,7 +136,7 @@ * is nonzero only in elements ISUPPZ( 2*I-1 ) through * ISUPPZ( 2*I ). * -* WORK (workspace) REAL array, dimension (12*N) +* WORK (workspace) REAL array, dimension (12*N) * * IWORK (workspace) INTEGER array, dimension (7*N) * diff --git a/SRC/clatbs.f b/SRC/clatbs.f index 7af3c258..c03d002d 100644 --- a/SRC/clatbs.f +++ b/SRC/clatbs.f @@ -101,7 +101,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, CTBSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/clatps.f b/SRC/clatps.f index 14c9fa8a..cf91950b 100644 --- a/SRC/clatps.f +++ b/SRC/clatps.f @@ -95,7 +95,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, CTPSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/clatrs.f b/SRC/clatrs.f index b54f07c1..cc398ed8 100644 --- a/SRC/clatrs.f +++ b/SRC/clatrs.f @@ -100,7 +100,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, CTRSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/cporfsx.f b/SRC/cporfsx.f index a39abc56..c2e4c606 100644 --- a/SRC/cporfsx.f +++ b/SRC/cporfsx.f @@ -27,7 +27,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * CPORFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -290,7 +290,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/cposvxx.f b/SRC/cposvxx.f index e259d55d..74881816 100644 --- a/SRC/cposvxx.f +++ b/SRC/cposvxx.f @@ -27,7 +27,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * CPOSVXX uses the Cholesky factorization A = U**T*U or A = L*L**T @@ -50,8 +50,8 @@ * user-provided factorizations and equilibration factors if they * differ from what CPOSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -90,8 +90,8 @@ * diag(S) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -384,7 +384,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/csyconv.f b/SRC/csyconv.f index ce8cf4f5..a3900d2c 100644 --- a/SRC/csyconv.f +++ b/SRC/csyconv.f @@ -1,7 +1,6 @@ SUBROUTINE CSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO ) * * -- LAPACK PROTOTYPE routine (version 3.2.2) -- -* * -- Written by Julie Langou of the Univ. of TN -- * May 2010 * @@ -32,7 +31,7 @@ * as an upper or lower triangular matrix. * = 'U': Upper triangular, form is A = U*D*U**T; * = 'L': Lower triangular, form is A = L*D*L**T. -* +* * WAY (input) CHARACTER*1 * = 'C': Convert * = 'R': Revert diff --git a/SRC/csyrfsx.f b/SRC/csyrfsx.f index 536a5da7..c5d67e22 100644 --- a/SRC/csyrfsx.f +++ b/SRC/csyrfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * CSYRFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -296,7 +296,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/csysvxx.f b/SRC/csysvxx.f index 75a7c9e7..04a6bf81 100644 --- a/SRC/csysvxx.f +++ b/SRC/csysvxx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * CSYSVXX uses the diagonal pivoting factorization to compute the @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what CSYSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -94,8 +94,8 @@ * diag(R) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -394,7 +394,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/ctgexc.f b/SRC/ctgexc.f index 16178baf..1f35a26f 100644 --- a/SRC/ctgexc.f +++ b/SRC/ctgexc.f @@ -79,6 +79,7 @@ * If WANTZ = .TRUE., LDZ >= N. * * IFST (input) INTEGER +* * ILST (input/output) INTEGER * Specify the reordering of the diagonal blocks of (A, B). * The block with row index IFST is moved to row ILST, by a diff --git a/SRC/dgbrfsx.f b/SRC/dgbrfsx.f index fe452948..e87a835c 100644 --- a/SRC/dgbrfsx.f +++ b/SRC/dgbrfsx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * DGBRFSX improves the computed solution to a system of linear @@ -44,8 +44,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -324,7 +324,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dgbsvxx.f b/SRC/dgbsvxx.f index 635b256b..090975e4 100644 --- a/SRC/dgbsvxx.f +++ b/SRC/dgbsvxx.f @@ -29,8 +29,8 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * DGBSVXX uses the LU factorization to compute the solution to a * double precision system of linear equations A * X = B, where A is an @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what DGBSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -435,7 +435,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dgebak.f b/SRC/dgebak.f index ddc776db..1044bfbb 100644 --- a/SRC/dgebak.f +++ b/SRC/dgebak.f @@ -41,6 +41,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by DGEBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/dgebal.f b/SRC/dgebal.f index e40c4453..0cbe0999 100644 --- a/SRC/dgebal.f +++ b/SRC/dgebal.f @@ -50,6 +50,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 if i > j and j = 1,...,ILO-1 or I = IHI+1,...,N. diff --git a/SRC/dgees.f b/SRC/dgees.f index e3939cab..7da117fa 100644 --- a/SRC/dgees.f +++ b/SRC/dgees.f @@ -86,6 +86,7 @@ * eigenvalue count as 2.) * * WR (output) DOUBLE PRECISION array, dimension (N) +* * WI (output) DOUBLE PRECISION array, dimension (N) * WR and WI contain the real and imaginary parts, * respectively, of the computed eigenvalues in the same order diff --git a/SRC/dgeesx.f b/SRC/dgeesx.f index cb1e1804..8852f1b8 100644 --- a/SRC/dgeesx.f +++ b/SRC/dgeesx.f @@ -103,6 +103,7 @@ * eigenvalue count as 2.) * * WR (output) DOUBLE PRECISION array, dimension (N) +* * WI (output) DOUBLE PRECISION array, dimension (N) * WR and WI contain the real and imaginary parts, respectively, * of the computed eigenvalues, in the same order that they diff --git a/SRC/dgeev.f b/SRC/dgeev.f index 76c84512..e2129fe4 100644 --- a/SRC/dgeev.f +++ b/SRC/dgeev.f @@ -53,6 +53,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * WR (output) DOUBLE PRECISION array, dimension (N) +* * WI (output) DOUBLE PRECISION array, dimension (N) * WR and WI contain the real and imaginary parts, * respectively, of the computed eigenvalues. Complex diff --git a/SRC/dgeevx.f b/SRC/dgeevx.f index 484f5fbc..483c5a14 100644 --- a/SRC/dgeevx.f +++ b/SRC/dgeevx.f @@ -105,6 +105,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * WR (output) DOUBLE PRECISION array, dimension (N) +* * WI (output) DOUBLE PRECISION array, dimension (N) * WR and WI contain the real and imaginary parts, * respectively, of the computed eigenvalues. Complex @@ -143,6 +144,7 @@ * JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values determined when A was * balanced. The balanced A(i,j) = 0 if I > J and diff --git a/SRC/dgegv.f b/SRC/dgegv.f index 9abb961f..8c766a4e 100644 --- a/SRC/dgegv.f +++ b/SRC/dgegv.f @@ -48,8 +48,7 @@ * * are left eigenvectors of (A,B). * -* Note: this routine performs "full balancing" on A and B -- see -* "Further Details", below. +* Note: this routine performs "full balancing" on A and B * * Arguments * ========= diff --git a/SRC/dgeqp3.f b/SRC/dgeqp3.f index e3abab5d..15a9c526 100644 --- a/SRC/dgeqp3.f +++ b/SRC/dgeqp3.f @@ -110,7 +110,7 @@ * .. Executable Statements .. * * Test input arguments -* ==================== +* ==================== * INFO = 0 LQUERY = ( LWORK.EQ.-1 ) @@ -172,7 +172,7 @@ NFXD = NFXD - 1 * * Factorize fixed columns -* ======================= +* ======================= * * Compute the QR factorization of fixed columns and update * remaining columns. @@ -192,7 +192,7 @@ END IF * * Factorize free columns -* ====================== +* ====================== * IF( NFXD.LT.MINMN ) THEN * diff --git a/SRC/dgeqrt.f b/SRC/dgeqrt.f index 47816bd3..097b5f80 100755 --- a/SRC/dgeqrt.f +++ b/SRC/dgeqrt.f @@ -36,7 +36,7 @@ * On exit, the elements on and above the diagonal of the array * contain the min(M,N)-by-N upper trapezoidal matrix R (R is * upper triangular if M >= N); the elements below the diagonal -* are the columns of V. See below for further details. +* are the columns of V. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,M). @@ -45,7 +45,7 @@ * The upper triangular block reflectors stored in compact form * as a sequence of upper triangular blocks. See below * for further details. -* +* * LDT (input) INTEGER * The leading dimension of the array T. LDT >= NB. * diff --git a/SRC/dgerfsx.f b/SRC/dgerfsx.f index bb03479a..a33c5bfa 100644 --- a/SRC/dgerfsx.f +++ b/SRC/dgerfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * DGERFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -305,7 +305,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dgesvj.f b/SRC/dgesvj.f index 5b40d0f2..03ac060e 100644 --- a/SRC/dgesvj.f +++ b/SRC/dgesvj.f @@ -39,57 +39,6 @@ * of SIGMA are the singular values of A. The columns of U and V are the * left and the right singular vectors of A, respectively. * -* Further Details -* ~~~~~~~~~~~~~~~ -* The orthogonal N-by-N matrix V is obtained as a product of Jacobi plane -* rotations. The rotations are implemented as fast scaled rotations of -* Anda and Park [1]. In the case of underflow of the Jacobi angle, a -* modified Jacobi transformation of Drmac [4] is used. Pivot strategy uses -* column interchanges of de Rijk [2]. The relative accuracy of the computed -* singular values and the accuracy of the computed singular vectors (in -* angle metric) is as guaranteed by the theory of Demmel and Veselic [3]. -* The condition number that determines the accuracy in the full rank case -* is essentially min_{D=diag} kappa(A*D), where kappa(.) is the -* spectral condition number. The best performance of this Jacobi SVD -* procedure is achieved if used in an accelerated version of Drmac and -* Veselic [5,6], and it is the kernel routine in the SIGMA library [7]. -* Some tunning parameters (marked with [TP]) are available for the -* implementer. -* The computational range for the nonzero singular values is the machine -* number interval ( UNDERFLOW , OVERFLOW ). In extreme cases, even -* denormalized singular values can be computed with the corresponding -* gradual loss of accurate digits. -* -* Contributors -* ~~~~~~~~~~~~ -* Zlatko Drmac (Zagreb, Croatia) and Kresimir Veselic (Hagen, Germany) -* -* References -* ~~~~~~~~~~ -* [1] A. A. Anda and H. Park: Fast plane rotations with dynamic scaling. -* SIAM J. matrix Anal. Appl., Vol. 15 (1994), pp. 162-174. -* [2] P. P. M. De Rijk: A one-sided Jacobi algorithm for computing the -* singular value decomposition on a vector computer. -* SIAM J. Sci. Stat. Comp., Vol. 10 (1998), pp. 359-371. -* [3] J. Demmel and K. Veselic: Jacobi method is more accurate than QR. -* [4] Z. Drmac: Implementation of Jacobi rotations for accurate singular -* value computation in floating point arithmetic. -* SIAM J. Sci. Comp., Vol. 18 (1997), pp. 1200-1222. -* [5] Z. Drmac and K. Veselic: New fast and accurate Jacobi SVD algorithm I. -* SIAM J. Matrix Anal. Appl. Vol. 35, No. 2 (2008), pp. 1322-1342. -* LAPACK Working note 169. -* [6] Z. Drmac and K. Veselic: New fast and accurate Jacobi SVD algorithm II. -* SIAM J. Matrix Anal. Appl. Vol. 35, No. 2 (2008), pp. 1343-1362. -* LAPACK Working note 170. -* [7] Z. Drmac: SIGMA - mathematical software library for accurate SVD, PSV, -* QSVD, (H,K)-SVD computations. -* Department of Mathematics, University of Zagreb, 2008. -* -* Bugs, Examples and Comments -* ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* Please report all bugs and send interesting test examples and comments to -* drmac@math.hr. Thank you. -* * Arguments * ========= * @@ -251,6 +200,60 @@ * of sweeps. The output may still be useful. See the * description of WORK. * +* Further Details +* =============== +* +* The orthogonal N-by-N matrix V is obtained as a product of Jacobi plane +* rotations. The rotations are implemented as fast scaled rotations of +* Anda and Park [1]. In the case of underflow of the Jacobi angle, a +* modified Jacobi transformation of Drmac [4] is used. Pivot strategy uses +* column interchanges of de Rijk [2]. The relative accuracy of the computed +* singular values and the accuracy of the computed singular vectors (in +* angle metric) is as guaranteed by the theory of Demmel and Veselic [3]. +* The condition number that determines the accuracy in the full rank case +* is essentially min_{D=diag} kappa(A*D), where kappa(.) is the +* spectral condition number. The best performance of this Jacobi SVD +* procedure is achieved if used in an accelerated version of Drmac and +* Veselic [5,6], and it is the kernel routine in the SIGMA library [7]. +* Some tunning parameters (marked with [TP]) are available for the +* implementer. +* The computational range for the nonzero singular values is the machine +* number interval ( UNDERFLOW , OVERFLOW ). In extreme cases, even +* denormalized singular values can be computed with the corresponding +* gradual loss of accurate digits. +* +* Contributors +* ============ +* +* Zlatko Drmac (Zagreb, Croatia) and Kresimir Veselic (Hagen, Germany) +* +* References +* ========== +* +* [1] A. A. Anda and H. Park: Fast plane rotations with dynamic scaling. +* SIAM J. matrix Anal. Appl., Vol. 15 (1994), pp. 162-174. +* [2] P. P. M. De Rijk: A one-sided Jacobi algorithm for computing the +* singular value decomposition on a vector computer. +* SIAM J. Sci. Stat. Comp., Vol. 10 (1998), pp. 359-371. +* [3] J. Demmel and K. Veselic: Jacobi method is more accurate than QR. +* [4] Z. Drmac: Implementation of Jacobi rotations for accurate singular +* value computation in floating point arithmetic. +* SIAM J. Sci. Comp., Vol. 18 (1997), pp. 1200-1222. +* [5] Z. Drmac and K. Veselic: New fast and accurate Jacobi SVD algorithm I. +* SIAM J. Matrix Anal. Appl. Vol. 35, No. 2 (2008), pp. 1322-1342. +* LAPACK Working note 169. +* [6] Z. Drmac and K. Veselic: New fast and accurate Jacobi SVD algorithm II. +* SIAM J. Matrix Anal. Appl. Vol. 35, No. 2 (2008), pp. 1343-1362. +* LAPACK Working note 170. +* [7] Z. Drmac: SIGMA - mathematical software library for accurate SVD, PSV, +* QSVD, (H,K)-SVD computations. +* Department of Mathematics, University of Zagreb, 2008. +* +* Bugs, Examples and Comments +* =========================== +* Please report all bugs and send interesting test examples and comments to +* drmac@math.hr. Thank you. +* * ===================================================================== * * .. Local Parameters .. diff --git a/SRC/dgesvxx.f b/SRC/dgesvxx.f index 0c6e3990..bf582158 100644 --- a/SRC/dgesvxx.f +++ b/SRC/dgesvxx.f @@ -4,7 +4,7 @@ $ ERR_BNDS_COMP, NPARAMS, PARAMS, WORK, IWORK, $ INFO ) * -* -- LAPACK driver routine (version 3.2.2) -- +* -- LAPACK driver routine (version 3.2.2) -- * -- Contributed by James Demmel, Deaglan Halligan, Yozo Hida and -- * -- Jason Riedy of Univ. of California Berkeley. -- * -- June 2010 -- @@ -29,8 +29,8 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * DGESVXX uses the LU factorization to compute the solution to a * double precision system of linear equations A * X = B, where A is an @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what DGESVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -421,7 +421,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ===================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dggbak.f b/SRC/dggbak.f index 5718d5bb..6523d79d 100644 --- a/SRC/dggbak.f +++ b/SRC/dggbak.f @@ -42,6 +42,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by DGGBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/dggbal.f b/SRC/dggbal.f index 3a2bf2b6..caf85277 100644 --- a/SRC/dggbal.f +++ b/SRC/dggbal.f @@ -60,6 +60,7 @@ * The leading dimension of the array B. LDB >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and diff --git a/SRC/dgges.f b/SRC/dgges.f index b888177a..60007d28 100644 --- a/SRC/dgges.f +++ b/SRC/dgges.f @@ -117,7 +117,9 @@ * SELCTG is true for either eigenvalue count as 2.) * * ALPHAR (output) DOUBLE PRECISION array, dimension (N) +* * ALPHAI (output) DOUBLE PRECISION array, dimension (N) +* * BETA (output) DOUBLE PRECISION array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. ALPHAR(j) + ALPHAI(j)*i, diff --git a/SRC/dggesx.f b/SRC/dggesx.f index 7b334345..328013fd 100644 --- a/SRC/dggesx.f +++ b/SRC/dggesx.f @@ -130,7 +130,9 @@ * SELCTG is true for either eigenvalue count as 2.) * * ALPHAR (output) DOUBLE PRECISION array, dimension (N) +* * ALPHAI (output) DOUBLE PRECISION array, dimension (N) +* * BETA (output) DOUBLE PRECISION array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. ALPHAR(j) + ALPHAI(j)*i diff --git a/SRC/dggev.f b/SRC/dggev.f index 6e5451f1..607cfa84 100644 --- a/SRC/dggev.f +++ b/SRC/dggev.f @@ -71,7 +71,9 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHAR (output) DOUBLE PRECISION array, dimension (N) +* * ALPHAI (output) DOUBLE PRECISION array, dimension (N) +* * BETA (output) DOUBLE PRECISION array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. If ALPHAI(j) is zero, then diff --git a/SRC/dggevx.f b/SRC/dggevx.f index 88c60f96..9a501a33 100644 --- a/SRC/dggevx.f +++ b/SRC/dggevx.f @@ -105,7 +105,9 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHAR (output) DOUBLE PRECISION array, dimension (N) +* * ALPHAI (output) DOUBLE PRECISION array, dimension (N) +* * BETA (output) DOUBLE PRECISION array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. If ALPHAI(j) is zero, then @@ -151,6 +153,7 @@ * if JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and diff --git a/SRC/dhgeqz.f b/SRC/dhgeqz.f index a67bfbb0..be409c56 100644 --- a/SRC/dhgeqz.f +++ b/SRC/dhgeqz.f @@ -100,6 +100,7 @@ * The order of the matrices H, T, Q, and Z. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * ILO and IHI mark the rows and columns of H which are in * Hessenberg form. It is assumed that A is already upper diff --git a/SRC/dhseqr.f b/SRC/dhseqr.f index d50dfe73..08447dc1 100644 --- a/SRC/dhseqr.f +++ b/SRC/dhseqr.f @@ -13,7 +13,7 @@ DOUBLE PRECISION H( LDH, * ), WI( * ), WORK( * ), WR( * ), $ Z( LDZ, * ) * .. -* Purpose +* Purpose * ======= * * DHSEQR computes the eigenvalues of a Hessenberg matrix H @@ -26,8 +26,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. * -* Arguments -* ========= +* Arguments +* ========= * * JOB (input) CHARACTER*1 * = 'E': compute eigenvalues only; @@ -159,7 +159,7 @@ * If INFO .GT. 0 and COMPZ = 'N', then Z is not * accessed. * -* ================================================================ +* ================================================================ * Default values supplied by * ILAENV(ISPEC,'DHSEQR',JOB(:1)//COMPZ(:1),N,ILO,IHI,LWORK). * It is suggested that these defaults be adjusted in order @@ -211,12 +211,12 @@ * for ISPEC=16 is 0. Otherwise the default for * ISPEC=16 is 2. * -* ================================================================ +* ================================================================ * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -227,7 +227,7 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/dla_lin_berr.f b/SRC/dla_lin_berr.f index 3819865f..b0893524 100644 --- a/SRC/dla_lin_berr.f +++ b/SRC/dla_lin_berr.f @@ -28,7 +28,7 @@ * or vector Z. * * Arguments -* ========== +* ========= * * N (input) INTEGER * The number of linear equations, i.e., the order of the diff --git a/SRC/dla_syamv.f b/SRC/dla_syamv.f index 1dbb27ff..8c48a252 100644 --- a/SRC/dla_syamv.f +++ b/SRC/dla_syamv.f @@ -59,11 +59,11 @@ * N must be at least zero. * Unchanged on exit. * -* ALPHA - DOUBLE PRECISION . +* ALPHA (input) DOUBLE PRECISION . * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). +* A (input) DOUBLE PRECISION array of DIMENSION ( LDA, n ). * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. @@ -85,7 +85,7 @@ * X. INCX must not be zero. * Unchanged on exit. * -* BETA - DOUBLE PRECISION . +* BETA (input) DOUBLE PRECISION . * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. diff --git a/SRC/dla_wwaddw.f b/SRC/dla_wwaddw.f index 6b05bfe7..0eb61da9 100644 --- a/SRC/dla_wwaddw.f +++ b/SRC/dla_wwaddw.f @@ -17,7 +17,7 @@ DOUBLE PRECISION X( * ), Y( * ), W( * ) * .. * -* Purpose +* Purpose * ======= * * DLA_WWADDW adds a vector W into a doubled-single vector (X, Y). @@ -25,8 +25,8 @@ * This works for all extant IBM's hex and binary floating point * arithmetics, but not for decimal. * -* Arguments -* ========= +* Arguments +* ========= * * N (input) INTEGER * The length of vectors X, Y, and W. diff --git a/SRC/dlacn2.f b/SRC/dlacn2.f index f3e09d3d..7550f1dc 100644 --- a/SRC/dlacn2.f +++ b/SRC/dlacn2.f @@ -54,7 +54,7 @@ * ISAVE is used to save variables between calls to DLACN2 * * Further Details -* ======= ======= +* =============== * * Contributed by Nick Higham, University of Manchester. * Originally named SONEST, dated March 16, 1988. diff --git a/SRC/dladiv.f b/SRC/dladiv.f index 7a96bfc3..3ff46eba 100644 --- a/SRC/dladiv.f +++ b/SRC/dladiv.f @@ -25,12 +25,16 @@ * ========= * * A (input) DOUBLE PRECISION +* * B (input) DOUBLE PRECISION +* * C (input) DOUBLE PRECISION +* * D (input) DOUBLE PRECISION * The scalars a, b, c, and d in the above expression. * * P (output) DOUBLE PRECISION +* * Q (output) DOUBLE PRECISION * The scalars p and q in the above expression. * diff --git a/SRC/dlaebz.f b/SRC/dlaebz.f index 13c458ab..4226ae06 100644 --- a/SRC/dlaebz.f +++ b/SRC/dlaebz.f @@ -110,8 +110,9 @@ * * PIVMIN (input) DOUBLE PRECISION * The minimum absolute value of a "pivot" in the Sturm -* sequence loop. This *must* be at least max |e(j)**2| * -* safe_min and at least safe_min, where safe_min is at least +* sequence loop. +* This must be at least max |e(j)**2|*safe_min and at +* least safe_min, where safe_min is at least * the smallest number that can divide one without overflow. * * D (input) DOUBLE PRECISION array, dimension (N) diff --git a/SRC/dlaed9.f b/SRC/dlaed9.f index e9eb7baf..cdf22900 100644 --- a/SRC/dlaed9.f +++ b/SRC/dlaed9.f @@ -31,6 +31,7 @@ * DLAED4. K >= 0. * * KSTART (input) INTEGER +* * KSTOP (input) INTEGER * The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP * are to be computed. 1 <= KSTART <= KSTOP <= K. diff --git a/SRC/dlaein.f b/SRC/dlaein.f index f4c34eab..f99daac9 100644 --- a/SRC/dlaein.f +++ b/SRC/dlaein.f @@ -44,11 +44,13 @@ * The leading dimension of the array H. LDH >= max(1,N). * * WR (input) DOUBLE PRECISION +* * WI (input) DOUBLE PRECISION * The real and imaginary parts of the eigenvalue of H whose * corresponding right or left eigenvector is to be computed. * * VR (input/output) DOUBLE PRECISION array, dimension (N) +* * VI (input/output) DOUBLE PRECISION array, dimension (N) * On entry, if NOINIT = .FALSE. and WI = 0.0, VR must contain * a real starting vector for inverse iteration using the real diff --git a/SRC/dlaev2.f b/SRC/dlaev2.f index 23f85b30..c84b09c8 100644 --- a/SRC/dlaev2.f +++ b/SRC/dlaev2.f @@ -42,6 +42,7 @@ * The eigenvalue of smaller absolute value. * * CS1 (output) DOUBLE PRECISION +* * SN1 (output) DOUBLE PRECISION * The vector (CS1, SN1) is a unit right eigenvector for RT1. * diff --git a/SRC/dlags2.f b/SRC/dlags2.f index 732df8e4..1116e551 100644 --- a/SRC/dlags2.f +++ b/SRC/dlags2.f @@ -48,26 +48,33 @@ * = .FALSE.: the input matrices A and B are lower triangular. * * A1 (input) DOUBLE PRECISION +* * A2 (input) DOUBLE PRECISION +* * A3 (input) DOUBLE PRECISION * On entry, A1, A2 and A3 are elements of the input 2-by-2 * upper (lower) triangular matrix A. * * B1 (input) DOUBLE PRECISION +* * B2 (input) DOUBLE PRECISION +* * B3 (input) DOUBLE PRECISION * On entry, B1, B2 and B3 are elements of the input 2-by-2 * upper (lower) triangular matrix B. * * CSU (output) DOUBLE PRECISION +* * SNU (output) DOUBLE PRECISION * The desired orthogonal matrix U. * * CSV (output) DOUBLE PRECISION +* * SNV (output) DOUBLE PRECISION * The desired orthogonal matrix V. * * CSQ (output) DOUBLE PRECISION +* * SNQ (output) DOUBLE PRECISION * The desired orthogonal matrix Q. * diff --git a/SRC/dlagv2.f b/SRC/dlagv2.f index 1e00144a..2952e71c 100644 --- a/SRC/dlagv2.f +++ b/SRC/dlagv2.f @@ -64,7 +64,9 @@ * THe leading dimension of the array B. LDB >= 2. * * ALPHAR (output) DOUBLE PRECISION array, dimension (2) +* * ALPHAI (output) DOUBLE PRECISION array, dimension (2) +* * BETA (output) DOUBLE PRECISION array, dimension (2) * (ALPHAR(k)+i*ALPHAI(k))/BETA(k) are the eigenvalues of the * pencil (A,B), k=1,2, i = sqrt(-1). Note that BETA(k) may diff --git a/SRC/dlahqr.f b/SRC/dlahqr.f index 469133e3..e782ece8 100644 --- a/SRC/dlahqr.f +++ b/SRC/dlahqr.f @@ -13,7 +13,7 @@ DOUBLE PRECISION H( LDH, * ), WI( * ), WR( * ), Z( LDZ, * ) * .. * -* Purpose +* Purpose * ======= * * DLAHQR is an auxiliary routine called by DHSEQR to update the @@ -21,8 +21,8 @@ * dealing with the Hessenberg submatrix in rows and columns ILO to * IHI. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -36,6 +36,7 @@ * The order of the matrix H. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper quasi-triangular in * rows and columns IHI+1:N, and that H(ILO,ILO-1) = 0 (unless @@ -57,6 +58,7 @@ * The leading dimension of the array H. LDH >= max(1,N). * * WR (output) DOUBLE PRECISION array, dimension (N) +* * WI (output) DOUBLE PRECISION array, dimension (N) * The real and imaginary parts, respectively, of the computed * eigenvalues ILO to IHI are stored in the corresponding @@ -70,6 +72,7 @@ * WI(i) = sqrt(H(i+1,i)*H(i,i+1)) and WI(i+1) = -WI(i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -110,8 +113,8 @@ * where U is the orthogonal matrix in (*) * (regardless of the value of WANTT.) * -* Further Details -* =============== +* Further Details +* =============== * * 02-96 Based on modifications by * David Day, Sandia National Laboratory, USA @@ -123,7 +126,7 @@ * (2) adopts the more conservative Ahues & Tisseur stopping * criterion (LAWN 122, 1997). * -* ========================================================= +* ========================================================= * * .. Parameters .. INTEGER ITMAX diff --git a/SRC/dlamrg.f b/SRC/dlamrg.f index e634821f..35fa9f93 100644 --- a/SRC/dlamrg.f +++ b/SRC/dlamrg.f @@ -24,6 +24,7 @@ * ========= * * N1 (input) INTEGER +* * N2 (input) INTEGER * These arguements contain the respective lengths of the two * sorted lists to be merged. @@ -34,6 +35,7 @@ * for the final N2 elements. * * DTRD1 (input) INTEGER +* * DTRD2 (input) INTEGER * These are the strides to be taken through the array A. * Allowable strides are 1 and -1. They indicate whether a diff --git a/SRC/dlanv2.f b/SRC/dlanv2.f index 0637e222..e94d6cde 100644 --- a/SRC/dlanv2.f +++ b/SRC/dlanv2.f @@ -27,21 +27,28 @@ * ========= * * A (input/output) DOUBLE PRECISION +* * B (input/output) DOUBLE PRECISION +* * C (input/output) DOUBLE PRECISION +* * D (input/output) DOUBLE PRECISION * On entry, the elements of the input matrix. * On exit, they are overwritten by the elements of the * standardised Schur form. * * RT1R (output) DOUBLE PRECISION +* * RT1I (output) DOUBLE PRECISION +* * RT2R (output) DOUBLE PRECISION +* * RT2I (output) DOUBLE PRECISION * The real and imaginary parts of the eigenvalues. If the * eigenvalues are a complex conjugate pair, RT1I > 0. * * CS (output) DOUBLE PRECISION +* * SN (output) DOUBLE PRECISION * Parameters of the rotation matrix. * diff --git a/SRC/dlapy2.f b/SRC/dlapy2.f index c44b267a..c28bf171 100644 --- a/SRC/dlapy2.f +++ b/SRC/dlapy2.f @@ -19,6 +19,7 @@ * ========= * * X (input) DOUBLE PRECISION +* * Y (input) DOUBLE PRECISION * X and Y specify the values x and y. * diff --git a/SRC/dlapy3.f b/SRC/dlapy3.f index 696bffdd..f4f9fb16 100644 --- a/SRC/dlapy3.f +++ b/SRC/dlapy3.f @@ -19,7 +19,9 @@ * ========= * * X (input) DOUBLE PRECISION +* * Y (input) DOUBLE PRECISION +* * Z (input) DOUBLE PRECISION * X, Y and Z specify the values x, y and z. * diff --git a/SRC/dlaqr0.f b/SRC/dlaqr0.f index 166a5fbb..1fb9b4fc 100644 --- a/SRC/dlaqr0.f +++ b/SRC/dlaqr0.f @@ -14,8 +14,8 @@ $ Z( LDZ, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * DLAQR0 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition @@ -27,8 +27,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -42,6 +42,7 @@ * The order of the matrix H. N .GE. 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows * and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1, @@ -71,6 +72,7 @@ * The leading dimension of the array H. LDH .GE. max(1,N). * * WR (output) DOUBLE PRECISION array, dimension (IHI) +* * WI (output) DOUBLE PRECISION array, dimension (IHI) * The real and imaginary parts, respectively, of the computed * eigenvalues of H(ILO:IHI,ILO:IHI) are stored in WR(ILO:IHI) @@ -85,6 +87,7 @@ * WI(i+1) = -WI(i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -152,12 +155,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Arguments +* ========= +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -168,7 +172,8 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ +* * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/dlaqr1.f b/SRC/dlaqr1.f index ae23573c..b3395df3 100644 --- a/SRC/dlaqr1.f +++ b/SRC/dlaqr1.f @@ -12,6 +12,9 @@ DOUBLE PRECISION H( LDH, * ), V( * ) * .. * +* Purpose +* ======= +* * Given a 2-by-2 or 3-by-3 matrix H, DLAQR1 sets v to a * scalar multiple of the first column of the product * @@ -27,6 +30,8 @@ * This is useful for starting double implicit shift bulges * in the QR algorithm. * +* Arguments +* ========= * * N (input) integer * Order of the matrix H. N must be either 2 or 3. @@ -39,20 +44,26 @@ * the calling procedure. LDH.GE.N * * SR1 (input) DOUBLE PRECISION -* SI1 The shifts in (*). -* SR2 -* SI2 +* +* SI1 (input) DOUBLE PRECISION +* +* SR2 (input) DOUBLE PRECISION +* +* SI2 (input) DOUBLE PRECISION +* The shifts in (*). * * V (output) DOUBLE PRECISION array of dimension N * A scalar multiple of the first column of the * matrix K in (*). * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * * .. Parameters .. DOUBLE PRECISION ZERO diff --git a/SRC/dlaqr2.f b/SRC/dlaqr2.f index b5bf0010..115f5379 100644 --- a/SRC/dlaqr2.f +++ b/SRC/dlaqr2.f @@ -17,11 +17,12 @@ $ Z( LDZ, * ) * .. * -* This subroutine is identical to DLAQR3 except that it avoids -* recursion by calling DLAHQR instead of DLAQR4. +* Purpose +* ======= * +* DLAQR2 is identical to DLAQR3 except that it avoids +* recursion by calling DLAHQR instead of DLAQR4. * -* ****************************************************************** * Aggressive early deflation: * * This subroutine accepts as input an upper Hessenberg matrix @@ -33,7 +34,9 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the quasi-triangular Schur factor may be @@ -78,6 +81,7 @@ * subroutine. N .LE. LDH * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N. @@ -102,6 +106,7 @@ * subroutine. * * SR (output) DOUBLE PRECISION array, dimension (KBOT) +* * SI (output) DOUBLE PRECISION array, dimension (KBOT) * On output, the real and imaginary parts of approximate * eigenvalues that may be used for shifts are stored in @@ -152,12 +157,14 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * .. Parameters .. DOUBLE PRECISION ZERO, ONE PARAMETER ( ZERO = 0.0d0, ONE = 1.0d0 ) diff --git a/SRC/dlaqr3.f b/SRC/dlaqr3.f index d952eea8..a0a0c475 100644 --- a/SRC/dlaqr3.f +++ b/SRC/dlaqr3.f @@ -17,10 +17,12 @@ $ Z( LDZ, * ) * .. * -* ****************************************************************** +* Purpose +* ======= +* * Aggressive early deflation: * -* This subroutine accepts as input an upper Hessenberg matrix +* DLAQR3 accepts as input an upper Hessenberg matrix * H and performs an orthogonal similarity transformation * designed to detect and deflate fully converged eigenvalues from * a trailing principal submatrix. On output H has been over- @@ -29,7 +31,9 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the quasi-triangular Schur factor may be @@ -74,6 +78,7 @@ * subroutine. N .LE. LDH * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N. @@ -98,6 +103,7 @@ * subroutine. * * SR (output) DOUBLE PRECISION array, dimension (KBOT) +* * SI (output) DOUBLE PRECISION array, dimension (KBOT) * On output, the real and imaginary parts of approximate * eigenvalues that may be used for shifts are stored in @@ -148,12 +154,14 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * .. Parameters .. DOUBLE PRECISION ZERO, ONE PARAMETER ( ZERO = 0.0d0, ONE = 1.0d0 ) diff --git a/SRC/dlaqr4.f b/SRC/dlaqr4.f index 31b77d1f..8a42623e 100644 --- a/SRC/dlaqr4.f +++ b/SRC/dlaqr4.f @@ -14,16 +14,16 @@ $ Z( LDZ, * ) * .. * -* This subroutine implements one level of recursion for DLAQR0. +* Purpose +* ======= +* +* DLAQR4 implements one level of recursion for DLAQR0. * It is a complete implementation of the small bulge multi-shift * QR algorithm. It may be called by DLAQR0 and, for large enough * deflation window size, it may be called by DLAQR3. This * subroutine is identical to DLAQR0 except that it calls DLAQR2 * instead of DLAQR3. * -* Purpose -* ======= -* * DLAQR4 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition * H = Z T Z**T, where T is an upper quasi-triangular matrix (the @@ -34,8 +34,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -49,6 +49,7 @@ * The order of the matrix H. N .GE. 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows * and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1, @@ -78,6 +79,7 @@ * The leading dimension of the array H. LDH .GE. max(1,N). * * WR (output) DOUBLE PRECISION array, dimension (IHI) +* * WI (output) DOUBLE PRECISION array, dimension (IHI) * The real and imaginary parts, respectively, of the computed * eigenvalues of H(ILO:IHI,ILO:IHI) are stored in WR(ILO:IHI) @@ -92,6 +94,7 @@ * WI(i+1) = -WI(i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -159,12 +162,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -175,7 +179,7 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/dlaqr5.f b/SRC/dlaqr5.f index 0615eaf8..1560d8bf 100644 --- a/SRC/dlaqr5.f +++ b/SRC/dlaqr5.f @@ -18,9 +18,15 @@ $ Z( LDZ, * ) * .. * -* This auxiliary subroutine called by DLAQR0 performs a +* Purpose +* ======= +* +* DLAQR5, called by DLAQR0, performs a * single small-bulge multi-shift QR sweep. * +* Arguments +* ========= +* * WANTT (input) logical scalar * WANTT = .true. if the quasi-triangular Schur factor * is being computed. WANTT is set to .false. otherwise. @@ -47,6 +53,7 @@ * subroutine operates. * * KTOP (input) integer scalar +* * KBOT (input) integer scalar * These are the first and last rows and columns of an * isolated diagonal block upon which the QR sweep is to be @@ -60,6 +67,7 @@ * must be positive and even. * * SR (input/output) DOUBLE PRECISION array of size (NSHFTS) +* * SI (input/output) DOUBLE PRECISION array of size (NSHFTS) * SR contains the real parts and SI contains the imaginary * parts of the NSHFTS shifts of origin that define the @@ -77,6 +85,7 @@ * calling procedure. LDH.GE.MAX(1,N). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N @@ -125,12 +134,13 @@ * LDWV is the leading dimension of WV as declared in the * in the calling subroutine. LDWV.GE.NV. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * Reference: * * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR @@ -138,7 +148,7 @@ * Level 3 Performance, SIAM Journal of Matrix Analysis, * volume 23, pages 929--947, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. DOUBLE PRECISION ZERO, ONE PARAMETER ( ZERO = 0.0d0, ONE = 1.0d0 ) diff --git a/SRC/dlarra.f b/SRC/dlarra.f index acebe3a5..3407d088 100644 --- a/SRC/dlarra.f +++ b/SRC/dlarra.f @@ -63,7 +63,6 @@ * etc., and the NSPLIT-th consists of rows/columns * ISPLIT(NSPLIT-1)+1 through ISPLIT(NSPLIT)=N. * -* * INFO (output) INTEGER * = 0: successful exit * diff --git a/SRC/dlarrb.f b/SRC/dlarrb.f index d879cae2..e4d00d90 100644 --- a/SRC/dlarrb.f +++ b/SRC/dlarrb.f @@ -48,6 +48,7 @@ * The index of the last eigenvalue to be computed. * * RTOL1 (input) DOUBLE PRECISION +* * RTOL2 (input) DOUBLE PRECISION * Tolerance for the convergence of the bisection intervals. * An interval [LEFT,RIGHT] has converged if diff --git a/SRC/dlarrc.f b/SRC/dlarrc.f index c67c6ed3..933fddc5 100644 --- a/SRC/dlarrc.f +++ b/SRC/dlarrc.f @@ -33,6 +33,7 @@ * The order of the matrix. N > 0. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * The lower and upper bounds for the eigenvalues. * @@ -52,6 +53,7 @@ * that are in the interval (VL,VU] * * LCNT (output) INTEGER +* * RCNT (output) INTEGER * The left and right negcounts of the interval. * diff --git a/SRC/dlarrd.f b/SRC/dlarrd.f index c32103ed..46e8fc48 100644 --- a/SRC/dlarrd.f +++ b/SRC/dlarrd.f @@ -63,6 +63,7 @@ * The order of the tridiagonal matrix T. N >= 0. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. Eigenvalues less than or equal @@ -70,6 +71,7 @@ * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. @@ -130,6 +132,7 @@ * in W. * * WL (output) DOUBLE PRECISION +* * WU (output) DOUBLE PRECISION * The interval (WL, WU] contains all the wanted eigenvalues. * If RANGE='V', then WL=VL and WU=VU. diff --git a/SRC/dlarre.f b/SRC/dlarre.f index 41cc69fb..699fde94 100644 --- a/SRC/dlarre.f +++ b/SRC/dlarre.f @@ -52,6 +52,7 @@ * The order of the matrix. N > 0. * * VL (input/output) DOUBLE PRECISION +* * VU (input/output) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds for the eigenvalues. * Eigenvalues less than or equal to VL, or greater than VU, @@ -60,6 +61,7 @@ * part of the spectrum. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. @@ -86,6 +88,7 @@ * 1 <= I <= NSPLIT, have been set to zero * * RTOL1 (input) DOUBLE PRECISION +* * RTOL2 (input) DOUBLE PRECISION * Parameters for bisection. * An interval [LEFT,RIGHT] has converged if diff --git a/SRC/dlarrk.f b/SRC/dlarrk.f index d0a2da59..72f276f5 100644 --- a/SRC/dlarrk.f +++ b/SRC/dlarrk.f @@ -41,6 +41,7 @@ * The index of the eigenvalues to be returned. * * GL (input) DOUBLE PRECISION +* * GU (input) DOUBLE PRECISION * An upper and a lower bound on the eigenvalue. * diff --git a/SRC/dlarrv.f b/SRC/dlarrv.f index 2d81d6a8..f7585f3c 100644 --- a/SRC/dlarrv.f +++ b/SRC/dlarrv.f @@ -35,6 +35,7 @@ * The order of the matrix. N >= 0. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * Lower and upper bounds of the interval that contains the desired * eigenvalues. VL < VU. Needed to compute gaps on the left or right @@ -64,6 +65,7 @@ * The total number of input eigenvalues. 0 <= M <= N. * * DOL (input) INTEGER +* * DOU (input) INTEGER * If the user wants to compute only selected eigenvectors from all * the eigenvalues supplied, he can specify an index range DOL:DOU. @@ -77,6 +79,7 @@ * MINRGP (input) DOUBLE PRECISION * * RTOL1 (input) DOUBLE PRECISION +* * RTOL2 (input) DOUBLE PRECISION * Parameters for bisection. * An interval [LEFT,RIGHT] has converged if diff --git a/SRC/dlascl.f b/SRC/dlascl.f index ffbb5715..7cdb8940 100644 --- a/SRC/dlascl.f +++ b/SRC/dlascl.f @@ -50,6 +50,7 @@ * 'Q' or 'Z'. * * CFROM (input) DOUBLE PRECISION +* * CTO (input) DOUBLE PRECISION * The matrix A is multiplied by CTO/CFROM. A(I,J) is computed * without over/underflow if the final result CTO*A(I,J)/CFROM diff --git a/SRC/dlasq2.f b/SRC/dlasq2.f index 1fef65b1..00bd2b14 100644 --- a/SRC/dlasq2.f +++ b/SRC/dlasq2.f @@ -65,6 +65,7 @@ * * Further Details * =============== +* * Local Variables: I0:N0 defines a current unreduced segment of Z. * The shifts are accumulated in SIGMA. Iteration count is in ITER. * Ping-pong is controlled by PP (alternates between 0 and 1). diff --git a/SRC/dlasq4.f b/SRC/dlasq4.f index de4a1fe3..420320a8 100644 --- a/SRC/dlasq4.f +++ b/SRC/dlasq4.f @@ -73,6 +73,7 @@ * * Further Details * =============== +* * CNST1 = 9/16 * * ===================================================================== diff --git a/SRC/dlasv2.f b/SRC/dlasv2.f index ca725340..dd3b7e98 100644 --- a/SRC/dlasv2.f +++ b/SRC/dlasv2.f @@ -42,11 +42,13 @@ * abs(SSMAX) is the larger singular value. * * SNL (output) DOUBLE PRECISION +* * CSL (output) DOUBLE PRECISION * The vector (CSL, SNL) is a unit left singular vector for the * singular value abs(SSMAX). * * SNR (output) DOUBLE PRECISION +* * CSR (output) DOUBLE PRECISION * The vector (CSR, SNR) is a unit right singular vector for the * singular value abs(SSMAX). diff --git a/SRC/dlatbs.f b/SRC/dlatbs.f index 2c991d3d..6390adb4 100644 --- a/SRC/dlatbs.f +++ b/SRC/dlatbs.f @@ -100,7 +100,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, DTBSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/dlatps.f b/SRC/dlatps.f index 667d517a..beed5198 100644 --- a/SRC/dlatps.f +++ b/SRC/dlatps.f @@ -93,7 +93,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, DTPSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/dlatrs.f b/SRC/dlatrs.f index b8fd5c31..8409fce2 100644 --- a/SRC/dlatrs.f +++ b/SRC/dlatrs.f @@ -99,7 +99,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, DTRSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/dporfsx.f b/SRC/dporfsx.f index 5a55e2a8..db55c18e 100644 --- a/SRC/dporfsx.f +++ b/SRC/dporfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * DPORFSX improves the computed solution to a system of linear @@ -44,8 +44,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -291,7 +291,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dposvxx.f b/SRC/dposvxx.f index 8f7c2335..6dbbabc5 100644 --- a/SRC/dposvxx.f +++ b/SRC/dposvxx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * DPOSVXX uses the Cholesky factorization A = U**T*U or A = L*L**T @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what DPOSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -91,8 +91,8 @@ * diag(S) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -382,7 +382,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dsbevx.f b/SRC/dsbevx.f index baac8ab0..8aa1f1fb 100644 --- a/SRC/dsbevx.f +++ b/SRC/dsbevx.f @@ -78,12 +78,14 @@ * LDQ >= max(1,N). * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/dspevx.f b/SRC/dspevx.f index fce77a02..ffe2d470 100644 --- a/SRC/dspevx.f +++ b/SRC/dspevx.f @@ -60,12 +60,14 @@ * corresponding elements of A. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/dstevr.f b/SRC/dstevr.f index 5459bb4e..db1ac375 100644 --- a/SRC/dstevr.f +++ b/SRC/dstevr.f @@ -73,8 +73,8 @@ * = 'V': all eigenvalues in the half-open interval (VL,VU] * will be found. * = 'I': the IL-th through IU-th eigenvalues will be found. -********** For RANGE = 'V' or 'I' and IU - IL < N - 1, DSTEBZ and -********** DSTEIN are called +* For RANGE = 'V' or 'I' and IU - IL < N - 1, DSTEBZ and +* DSTEIN are called * * N (input) INTEGER * The order of the matrix. N >= 0. @@ -92,12 +92,14 @@ * to avoid over/underflow in computing the eigenvalues. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. @@ -158,7 +160,7 @@ * indicating the nonzero elements in Z. The i-th eigenvector * is nonzero only in elements ISUPPZ( 2*i-1 ) through * ISUPPZ( 2*i ). -********** Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 +* Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 * * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) * On exit, if INFO = 0, WORK(1) returns the optimal (and diff --git a/SRC/dstevx.f b/SRC/dstevx.f index a7e5a3dd..29cd7526 100644 --- a/SRC/dstevx.f +++ b/SRC/dstevx.f @@ -53,12 +53,14 @@ * to avoid over/underflow in computing the eigenvalues. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/dsyconv.f b/SRC/dsyconv.f index 3c74183c..00622401 100644 --- a/SRC/dsyconv.f +++ b/SRC/dsyconv.f @@ -31,7 +31,7 @@ * as an upper or lower triangular matrix. * = 'U': Upper triangular, form is A = U*D*U**T; * = 'L': Lower triangular, form is A = L*D*L**T. -* +* * WAY (input) CHARACTER*1 * = 'C': Convert * = 'R': Revert diff --git a/SRC/dsyevr.f b/SRC/dsyevr.f index af752a11..b47caf13 100644 --- a/SRC/dsyevr.f +++ b/SRC/dsyevr.f @@ -90,8 +90,8 @@ * = 'V': all eigenvalues in the half-open interval (VL,VU] * will be found. * = 'I': the IL-th through IU-th eigenvalues will be found. -********** For RANGE = 'V' or 'I' and IU - IL < N - 1, DSTEBZ and -********** DSTEIN are called +* For RANGE = 'V' or 'I' and IU - IL < N - 1, DSTEBZ and +* DSTEIN are called * * UPLO (input) CHARACTER*1 * = 'U': Upper triangle of A is stored; @@ -114,12 +114,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. @@ -182,7 +184,7 @@ * indicating the nonzero elements in Z. The i-th eigenvector * is nonzero only in elements ISUPPZ( 2*i-1 ) through * ISUPPZ( 2*i ). -********** Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 +* Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 * * WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) * On exit, if INFO = 0, WORK(1) returns the optimal LWORK. diff --git a/SRC/dsyevx.f b/SRC/dsyevx.f index b0ab461e..994a8ebc 100644 --- a/SRC/dsyevx.f +++ b/SRC/dsyevx.f @@ -59,12 +59,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/dsygvx.f b/SRC/dsygvx.f index 74f80589..52688975 100644 --- a/SRC/dsygvx.f +++ b/SRC/dsygvx.f @@ -83,12 +83,14 @@ * The leading dimension of the array B. LDB >= max(1,N). * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/dsyrfsx.f b/SRC/dsyrfsx.f index cdf6f302..2d6fc6fa 100644 --- a/SRC/dsyrfsx.f +++ b/SRC/dsyrfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * DSYRFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -296,7 +296,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dsysvxx.f b/SRC/dsysvxx.f index 18fc105d..a41de434 100644 --- a/SRC/dsysvxx.f +++ b/SRC/dsysvxx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * DSYSVXX uses the diagonal pivoting factorization to compute the @@ -50,8 +50,8 @@ * user-provided factorizations and equilibration factors if they * differ from what DSYSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -93,8 +93,8 @@ * diag(R) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -390,7 +390,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/dtgexc.f b/SRC/dtgexc.f index 44c38973..b9ed91e8 100644 --- a/SRC/dtgexc.f +++ b/SRC/dtgexc.f @@ -88,6 +88,7 @@ * If WANTZ = .TRUE., LDZ >= N. * * IFST (input/output) INTEGER +* * ILST (input/output) INTEGER * Specify the reordering of the diagonal blocks of (A, B). * The block with row index IFST is moved to row ILST, by a diff --git a/SRC/dtrsyl.f b/SRC/dtrsyl.f index d95e63e9..faffed15 100644 --- a/SRC/dtrsyl.f +++ b/SRC/dtrsyl.f @@ -363,7 +363,7 @@ * A(K,K)**T*X(K,L) + ISGN*X(K,L)*B(L,L) = C(K,L) - R(K,L) * * Where -* K-1 L-1 +* K-1 T L-1 * R(K,L) = SUM [A(I,K)**T*X(I,L)] +ISGN*SUM [X(K,J)*B(J,L)] * I=1 J=1 * diff --git a/SRC/ilaclr.f b/SRC/ilaclr.f index 9d8a8c72..836ee738 100644 --- a/SRC/ilaclr.f +++ b/SRC/ilaclr.f @@ -27,7 +27,7 @@ * N (input) INTEGER * The number of columns of the matrix A. * -* A (input) COMPLEX array, dimension (LDA,N) +* A (input)COMPLEX array, dimension (LDA,N) * The m by n matrix A. * * LDA (input) INTEGER diff --git a/SRC/iladiag.f b/SRC/iladiag.f index 43c52807..dfa1f125 100644 --- a/SRC/iladiag.f +++ b/SRC/iladiag.f @@ -24,6 +24,7 @@ * * Arguments * ========= +* * DIAG (input) CHARACTER*1 * = 'N': A is non-unit triangular; * = 'U': A is unit triangular. diff --git a/SRC/ilaenv.f b/SRC/ilaenv.f index 8ed8aed6..e32fb209 100644 --- a/SRC/ilaenv.f +++ b/SRC/ilaenv.f @@ -77,8 +77,11 @@ * be specified as OPTS = 'UTN'. * * N1 (input) INTEGER +* * N2 (input) INTEGER +* * N3 (input) INTEGER +* * N4 (input) INTEGER * Problem dimensions for the subroutine NAME; these may not all * be required. diff --git a/SRC/ilaprec.f b/SRC/ilaprec.f index ad229e27..9dd943ca 100644 --- a/SRC/ilaprec.f +++ b/SRC/ilaprec.f @@ -24,6 +24,7 @@ * * Arguments * ========= +* * PREC (input) CHARACTER * Specifies the form of the system of equations: * = 'S': Single diff --git a/SRC/ilatrans.f b/SRC/ilatrans.f index 625c08a9..60ee0dc7 100644 --- a/SRC/ilatrans.f +++ b/SRC/ilatrans.f @@ -24,6 +24,7 @@ * * Arguments * ========= +* * TRANS (input) CHARACTER*1 * Specifies the form of the system of equations: * = 'N': No transpose diff --git a/SRC/ilauplo.f b/SRC/ilauplo.f index c6eff92d..99f1352a 100644 --- a/SRC/ilauplo.f +++ b/SRC/ilauplo.f @@ -24,6 +24,7 @@ * * Arguments * ========= +* * UPLO (input) CHARACTER * = 'U': A is upper triangular; * = 'L': A is lower triangular. diff --git a/SRC/ilaver.f b/SRC/ilaver.f index fddec72d..02361a86 100644 --- a/SRC/ilaver.f +++ b/SRC/ilaver.f @@ -15,12 +15,16 @@ * * Arguments * ========= +* * VERS_MAJOR (output) INTEGER * return the lapack major version +* * VERS_MINOR (output) INTEGER * return the lapack minor version from the major version +* * VERS_PATCH (output) INTEGER * return the lapack patch version from the minor version +* * ===================================================================== * INTEGER VERS_MAJOR, VERS_MINOR, VERS_PATCH diff --git a/SRC/iparmq.f b/SRC/iparmq.f index 9a76099b..9ecca5d1 100644 --- a/SRC/iparmq.f +++ b/SRC/iparmq.f @@ -83,6 +83,7 @@ * N is the order of the Hessenberg matrix H. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular * in rows and columns 1:ILO-1 and IHI+1:N. @@ -155,7 +156,7 @@ * (See ISPEC=16 above for details.) * Default: 3. * -* ================================================================ +* ================================================================ * .. Parameters .. INTEGER INMIN, INWIN, INIBL, ISHFTS, IACC22 PARAMETER ( INMIN = 12, INWIN = 13, INIBL = 14, diff --git a/SRC/lsamen.f b/SRC/lsamen.f index ab41c4d6..fb85a1da 100644 --- a/SRC/lsamen.f +++ b/SRC/lsamen.f @@ -26,6 +26,7 @@ * The number of characters in CA and CB to be compared. * * CA (input) CHARACTER*(*) +* * CB (input) CHARACTER*(*) * CA and CB specify two character strings of length at least N. * Only the first N characters of each string will be accessed. diff --git a/SRC/sgbrfsx.f b/SRC/sgbrfsx.f index 53f9d628..ce387ef5 100644 --- a/SRC/sgbrfsx.f +++ b/SRC/sgbrfsx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SGBRFSX improves the computed solution to a system of linear @@ -44,8 +44,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -324,7 +324,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/sgbsvxx.f b/SRC/sgbsvxx.f index 57dc27c7..4d73239d 100644 --- a/SRC/sgbsvxx.f +++ b/SRC/sgbsvxx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SGBSVXX uses the LU factorization to compute the solution to a @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what SGBSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -438,7 +438,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/sgebak.f b/SRC/sgebak.f index 9c9592da..da006bb4 100644 --- a/SRC/sgebak.f +++ b/SRC/sgebak.f @@ -41,6 +41,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by SGEBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/sgebal.f b/SRC/sgebal.f index 631dd0aa..7094c86d 100644 --- a/SRC/sgebal.f +++ b/SRC/sgebal.f @@ -50,6 +50,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 if i > j and j = 1,...,ILO-1 or I = IHI+1,...,N. diff --git a/SRC/sgees.f b/SRC/sgees.f index e65022a0..188e75d5 100644 --- a/SRC/sgees.f +++ b/SRC/sgees.f @@ -86,6 +86,7 @@ * eigenvalue count as 2.) * * WR (output) REAL array, dimension (N) +* * WI (output) REAL array, dimension (N) * WR and WI contain the real and imaginary parts, * respectively, of the computed eigenvalues in the same order diff --git a/SRC/sgeesx.f b/SRC/sgeesx.f index f145dc6c..0f173cb1 100644 --- a/SRC/sgeesx.f +++ b/SRC/sgeesx.f @@ -103,6 +103,7 @@ * eigenvalue count as 2.) * * WR (output) REAL array, dimension (N) +* * WI (output) REAL array, dimension (N) * WR and WI contain the real and imaginary parts, respectively, * of the computed eigenvalues, in the same order that they diff --git a/SRC/sgeev.f b/SRC/sgeev.f index 0267cd54..8c915a77 100644 --- a/SRC/sgeev.f +++ b/SRC/sgeev.f @@ -53,6 +53,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * WR (output) REAL array, dimension (N) +* * WI (output) REAL array, dimension (N) * WR and WI contain the real and imaginary parts, * respectively, of the computed eigenvalues. Complex diff --git a/SRC/sgeevx.f b/SRC/sgeevx.f index ca242063..53f642d2 100644 --- a/SRC/sgeevx.f +++ b/SRC/sgeevx.f @@ -105,6 +105,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * WR (output) REAL array, dimension (N) +* * WI (output) REAL array, dimension (N) * WR and WI contain the real and imaginary parts, * respectively, of the computed eigenvalues. Complex @@ -143,6 +144,7 @@ * JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values determined when A was * balanced. The balanced A(i,j) = 0 if I > J and diff --git a/SRC/sgegv.f b/SRC/sgegv.f index 479abc48..d1f9c10d 100644 --- a/SRC/sgegv.f +++ b/SRC/sgegv.f @@ -48,8 +48,7 @@ * * are left eigenvectors of (A,B). * -* Note: this routine performs "full balancing" on A and B -- see -* "Further Details", below. +* Note: this routine performs "full balancing" on A and B * * Arguments * ========= diff --git a/SRC/sgeqp3.f b/SRC/sgeqp3.f index 9cb5eafd..c07a2c38 100644 --- a/SRC/sgeqp3.f +++ b/SRC/sgeqp3.f @@ -169,7 +169,7 @@ NFXD = NFXD - 1 * * Factorize fixed columns -* ======================= +* ======================= * * Compute the QR factorization of fixed columns and update * remaining columns. @@ -189,7 +189,7 @@ END IF * * Factorize free columns -* ====================== +* ====================== * IF( NFXD.LT.MINMN ) THEN * diff --git a/SRC/sgeqrt.f b/SRC/sgeqrt.f index f7cc033f..f03e0ec4 100644 --- a/SRC/sgeqrt.f +++ b/SRC/sgeqrt.f @@ -36,7 +36,7 @@ * On exit, the elements on and above the diagonal of the array * contain the min(M,N)-by-N upper trapezoidal matrix R (R is * upper triangular if M >= N); the elements below the diagonal -* are the columns of V. See below for further details. +* are the columns of V. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,M). @@ -45,7 +45,7 @@ * The upper triangular block reflectors stored in compact form * as a sequence of upper triangular blocks. See below * for further details. -* +* * LDT (input) INTEGER * The leading dimension of the array T. LDT >= NB. * diff --git a/SRC/sgerfsx.f b/SRC/sgerfsx.f index 6b029aa0..e1312dec 100644 --- a/SRC/sgerfsx.f +++ b/SRC/sgerfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SGERFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -305,7 +305,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/sgesvxx.f b/SRC/sgesvxx.f index 7bd0e626..5bb9bc51 100644 --- a/SRC/sgesvxx.f +++ b/SRC/sgesvxx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SGESVXX uses the LU factorization to compute the solution to a @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what SGESVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -424,7 +424,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/sggbak.f b/SRC/sggbak.f index b7064211..509a1cae 100644 --- a/SRC/sggbak.f +++ b/SRC/sggbak.f @@ -42,6 +42,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by SGGBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/sggbal.f b/SRC/sggbal.f index fd0feeb7..a66548bc 100644 --- a/SRC/sggbal.f +++ b/SRC/sggbal.f @@ -60,6 +60,7 @@ * The leading dimension of the array B. LDB >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and diff --git a/SRC/sgges.f b/SRC/sgges.f index 4d70f465..fb8de1b5 100644 --- a/SRC/sgges.f +++ b/SRC/sgges.f @@ -117,7 +117,9 @@ * SELCTG is true for either eigenvalue count as 2.) * * ALPHAR (output) REAL array, dimension (N) +* * ALPHAI (output) REAL array, dimension (N) +* * BETA (output) REAL array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. ALPHAR(j) + ALPHAI(j)*i, diff --git a/SRC/sggesx.f b/SRC/sggesx.f index ee99a537..09776ffa 100644 --- a/SRC/sggesx.f +++ b/SRC/sggesx.f @@ -130,7 +130,9 @@ * SELCTG is true for either eigenvalue count as 2.) * * ALPHAR (output) REAL array, dimension (N) +* * ALPHAI (output) REAL array, dimension (N) +* * BETA (output) REAL array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. ALPHAR(j) + ALPHAI(j)*i diff --git a/SRC/sggev.f b/SRC/sggev.f index 6dcf8d0a..4f5d1409 100644 --- a/SRC/sggev.f +++ b/SRC/sggev.f @@ -71,7 +71,9 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHAR (output) REAL array, dimension (N) +* * ALPHAI (output) REAL array, dimension (N) +* * BETA (output) REAL array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. If ALPHAI(j) is zero, then diff --git a/SRC/sggevx.f b/SRC/sggevx.f index 56379a18..e1807793 100644 --- a/SRC/sggevx.f +++ b/SRC/sggevx.f @@ -105,7 +105,9 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHAR (output) REAL array, dimension (N) +* * ALPHAI (output) REAL array, dimension (N) +* * BETA (output) REAL array, dimension (N) * On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will * be the generalized eigenvalues. If ALPHAI(j) is zero, then @@ -151,6 +153,7 @@ * if JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and diff --git a/SRC/shgeqz.f b/SRC/shgeqz.f index 83b6ebfb..3145e79d 100644 --- a/SRC/shgeqz.f +++ b/SRC/shgeqz.f @@ -100,6 +100,7 @@ * The order of the matrices H, T, Q, and Z. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * ILO and IHI mark the rows and columns of H which are in * Hessenberg form. It is assumed that A is already upper diff --git a/SRC/shseqr.f b/SRC/shseqr.f index 3c58c9eb..f40ce009 100644 --- a/SRC/shseqr.f +++ b/SRC/shseqr.f @@ -13,7 +13,7 @@ REAL H( LDH, * ), WI( * ), WORK( * ), WR( * ), $ Z( LDZ, * ) * .. -* Purpose +* Purpose * ======= * * SHSEQR computes the eigenvalues of a Hessenberg matrix H @@ -26,8 +26,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. * -* Arguments -* ========= +* Arguments +* ========= * * JOB (input) CHARACTER*1 * = 'E': compute eigenvalues only; @@ -159,7 +159,7 @@ * If INFO .GT. 0 and COMPZ = 'N', then Z is not * accessed. * -* ================================================================ +* ================================================================ * Default values supplied by * ILAENV(ISPEC,'SHSEQR',JOB(:1)//COMPZ(:1),N,ILO,IHI,LWORK). * It is suggested that these defaults be adjusted in order @@ -211,12 +211,12 @@ * for ISPEC=16 is 0. Otherwise the default for * ISPEC=16 is 2. * -* ================================================================ +* ================================================================ * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -227,7 +227,7 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/sla_lin_berr.f b/SRC/sla_lin_berr.f index 2d811a70..95d84f21 100644 --- a/SRC/sla_lin_berr.f +++ b/SRC/sla_lin_berr.f @@ -28,7 +28,7 @@ * or vector Z. * * Arguments -* ========== +* ========= * * N (input) INTEGER * The number of linear equations, i.e., the order of the diff --git a/SRC/sla_syamv.f b/SRC/sla_syamv.f index a8bd335a..ded91681 100644 --- a/SRC/sla_syamv.f +++ b/SRC/sla_syamv.f @@ -63,7 +63,7 @@ * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - REAL array of DIMENSION ( LDA, n ). +* A (input) REAL array of DIMENSION ( LDA, n ). * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. diff --git a/SRC/sla_wwaddw.f b/SRC/sla_wwaddw.f index 16d1fdd2..359238d9 100644 --- a/SRC/sla_wwaddw.f +++ b/SRC/sla_wwaddw.f @@ -17,7 +17,7 @@ REAL X( * ), Y( * ), W( * ) * .. * -* Purpose +* Purpose * ======= * * SLA_WWADDW adds a vector W into a doubled-single vector (X, Y). @@ -25,8 +25,8 @@ * This works for all extant IBM's hex and binary floating point * arithmetics, but not for decimal. * -* Arguments -* ========= +* Arguments +* ========= * * N (input) INTEGER * The length of vectors X, Y, and W. diff --git a/SRC/slacn2.f b/SRC/slacn2.f index db8109e8..316a502d 100644 --- a/SRC/slacn2.f +++ b/SRC/slacn2.f @@ -54,7 +54,7 @@ * ISAVE is used to save variables between calls to SLACN2 * * Further Details -* ======= ======= +* =============== * * Contributed by Nick Higham, University of Manchester. * Originally named SONEST, dated March 16, 1988. diff --git a/SRC/sladiv.f b/SRC/sladiv.f index a2817f31..5747dc35 100644 --- a/SRC/sladiv.f +++ b/SRC/sladiv.f @@ -25,12 +25,16 @@ * ========= * * A (input) REAL +* * B (input) REAL +* * C (input) REAL +* * D (input) REAL * The scalars a, b, c, and d in the above expression. * * P (output) REAL +* * Q (output) REAL * The scalars p and q in the above expression. * diff --git a/SRC/slaebz.f b/SRC/slaebz.f index 39fbbc21..ec684ce3 100644 --- a/SRC/slaebz.f +++ b/SRC/slaebz.f @@ -110,8 +110,9 @@ * * PIVMIN (input) REAL * The minimum absolute value of a "pivot" in the Sturm -* sequence loop. This *must* be at least max |e(j)**2| * -* safe_min and at least safe_min, where safe_min is at least +* sequence loop. +* This must be at least max |e(j)**2|*safe_min and at +* least safe_min, where safe_min is at least * the smallest number that can divide one without overflow. * * D (input) REAL array, dimension (N) diff --git a/SRC/slaed9.f b/SRC/slaed9.f index c10b5e9f..4a34baea 100644 --- a/SRC/slaed9.f +++ b/SRC/slaed9.f @@ -31,6 +31,7 @@ * SLAED4. K >= 0. * * KSTART (input) INTEGER +* * KSTOP (input) INTEGER * The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP * are to be computed. 1 <= KSTART <= KSTOP <= K. diff --git a/SRC/slaein.f b/SRC/slaein.f index c60b769f..bea2982b 100644 --- a/SRC/slaein.f +++ b/SRC/slaein.f @@ -44,11 +44,13 @@ * The leading dimension of the array H. LDH >= max(1,N). * * WR (input) REAL +* * WI (input) REAL * The real and imaginary parts of the eigenvalue of H whose * corresponding right or left eigenvector is to be computed. * * VR (input/output) REAL array, dimension (N) +* * VI (input/output) REAL array, dimension (N) * On entry, if NOINIT = .FALSE. and WI = 0.0, VR must contain * a real starting vector for inverse iteration using the real diff --git a/SRC/slaev2.f b/SRC/slaev2.f index f2263950..868c326e 100644 --- a/SRC/slaev2.f +++ b/SRC/slaev2.f @@ -42,6 +42,7 @@ * The eigenvalue of smaller absolute value. * * CS1 (output) REAL +* * SN1 (output) REAL * The vector (CS1, SN1) is a unit right eigenvector for RT1. * diff --git a/SRC/slags2.f b/SRC/slags2.f index 3415dbe9..d6533072 100644 --- a/SRC/slags2.f +++ b/SRC/slags2.f @@ -48,26 +48,33 @@ * = .FALSE.: the input matrices A and B are lower triangular. * * A1 (input) REAL +* * A2 (input) REAL +* * A3 (input) REAL * On entry, A1, A2 and A3 are elements of the input 2-by-2 * upper (lower) triangular matrix A. * * B1 (input) REAL +* * B2 (input) REAL +* * B3 (input) REAL * On entry, B1, B2 and B3 are elements of the input 2-by-2 * upper (lower) triangular matrix B. * * CSU (output) REAL +* * SNU (output) REAL * The desired orthogonal matrix U. * * CSV (output) REAL +* * SNV (output) REAL * The desired orthogonal matrix V. * * CSQ (output) REAL +* * SNQ (output) REAL * The desired orthogonal matrix Q. * diff --git a/SRC/slagv2.f b/SRC/slagv2.f index 666786ed..b58f27e0 100644 --- a/SRC/slagv2.f +++ b/SRC/slagv2.f @@ -64,7 +64,9 @@ * THe leading dimension of the array B. LDB >= 2. * * ALPHAR (output) REAL array, dimension (2) +* * ALPHAI (output) REAL array, dimension (2) +* * BETA (output) REAL array, dimension (2) * (ALPHAR(k)+i*ALPHAI(k))/BETA(k) are the eigenvalues of the * pencil (A,B), k=1,2, i = sqrt(-1). Note that BETA(k) may diff --git a/SRC/slahqr.f b/SRC/slahqr.f index 1737f679..f2517d7c 100644 --- a/SRC/slahqr.f +++ b/SRC/slahqr.f @@ -13,7 +13,7 @@ REAL H( LDH, * ), WI( * ), WR( * ), Z( LDZ, * ) * .. * -* Purpose +* Purpose * ======= * * SLAHQR is an auxiliary routine called by SHSEQR to update the @@ -21,8 +21,8 @@ * dealing with the Hessenberg submatrix in rows and columns ILO to * IHI. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -36,6 +36,7 @@ * The order of the matrix H. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper quasi-triangular in * rows and columns IHI+1:N, and that H(ILO,ILO-1) = 0 (unless @@ -57,6 +58,7 @@ * The leading dimension of the array H. LDH >= max(1,N). * * WR (output) REAL array, dimension (N) +* * WI (output) REAL array, dimension (N) * The real and imaginary parts, respectively, of the computed * eigenvalues ILO to IHI are stored in the corresponding @@ -70,6 +72,7 @@ * WI(i) = sqrt(H(i+1,i)*H(i,i+1)) and WI(i+1) = -WI(i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -110,8 +113,8 @@ * where U is the orthogonal matrix in (*) * (regardless of the value of WANTT.) * -* Further Details -* =============== +* Further Details +* =============== * * 02-96 Based on modifications by * David Day, Sandia National Laboratory, USA @@ -123,7 +126,7 @@ * (2) adopts the more conservative Ahues & Tisseur stopping * criterion (LAWN 122, 1997). * -* ========================================================= +* ========================================================= * * .. Parameters .. INTEGER ITMAX diff --git a/SRC/slamrg.f b/SRC/slamrg.f index 4d17a366..a6bfa336 100644 --- a/SRC/slamrg.f +++ b/SRC/slamrg.f @@ -24,6 +24,7 @@ * ========= * * N1 (input) INTEGER +* * N2 (input) INTEGER * These arguements contain the respective lengths of the two * sorted lists to be merged. @@ -34,6 +35,7 @@ * for the final N2 elements. * * STRD1 (input) INTEGER +* * STRD2 (input) INTEGER * These are the strides to be taken through the array A. * Allowable strides are 1 and -1. They indicate whether a diff --git a/SRC/slaneg.f b/SRC/slaneg.f index 4da92674..441a6c9a 100644 --- a/SRC/slaneg.f +++ b/SRC/slaneg.f @@ -42,10 +42,10 @@ * N (input) INTEGER * The order of the matrix. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The N diagonal elements of the diagonal matrix D. * -* LLD (input) REAL array, dimension (N-1) +* LLD (input) REAL array, dimension (N-1) * The (N-1) elements L(i)*L(i)*D(i). * * SIGMA (input) REAL diff --git a/SRC/slanv2.f b/SRC/slanv2.f index e027c78d..5c2199a5 100644 --- a/SRC/slanv2.f +++ b/SRC/slanv2.f @@ -27,21 +27,28 @@ * ========= * * A (input/output) REAL +* * B (input/output) REAL +* * C (input/output) REAL +* * D (input/output) REAL * On entry, the elements of the input matrix. * On exit, they are overwritten by the elements of the * standardised Schur form. * * RT1R (output) REAL +* * RT1I (output) REAL +* * RT2R (output) REAL +* * RT2I (output) REAL * The real and imaginary parts of the eigenvalues. If the * eigenvalues are a complex conjugate pair, RT1I > 0. * * CS (output) REAL +* * SN (output) REAL * Parameters of the rotation matrix. * diff --git a/SRC/slapy2.f b/SRC/slapy2.f index 916460c2..d6b16e22 100644 --- a/SRC/slapy2.f +++ b/SRC/slapy2.f @@ -19,6 +19,7 @@ * ========= * * X (input) REAL +* * Y (input) REAL * X and Y specify the values x and y. * diff --git a/SRC/slapy3.f b/SRC/slapy3.f index 4f7a22b3..dceb0f00 100644 --- a/SRC/slapy3.f +++ b/SRC/slapy3.f @@ -19,7 +19,9 @@ * ========= * * X (input) REAL +* * Y (input) REAL +* * Z (input) REAL * X, Y and Z specify the values x, y and z. * diff --git a/SRC/slaqr0.f b/SRC/slaqr0.f index f840e389..c5b76367 100644 --- a/SRC/slaqr0.f +++ b/SRC/slaqr0.f @@ -14,8 +14,8 @@ $ Z( LDZ, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * SLAQR0 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition @@ -27,8 +27,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -42,6 +42,7 @@ * The order of the matrix H. N .GE. 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows * and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1, @@ -71,6 +72,7 @@ * The leading dimension of the array H. LDH .GE. max(1,N). * * WR (output) REAL array, dimension (IHI) +* * WI (output) REAL array, dimension (IHI) * The real and imaginary parts, respectively, of the computed * eigenvalues of H(ILO:IHI,ILO:IHI) are stored in WR(ILO:IHI) @@ -85,6 +87,7 @@ * WI(i+1) = -WI(i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -152,12 +155,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -168,7 +172,7 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/slaqr1.f b/SRC/slaqr1.f index 4ba1f57f..31323059 100644 --- a/SRC/slaqr1.f +++ b/SRC/slaqr1.f @@ -12,6 +12,9 @@ REAL H( LDH, * ), V( * ) * .. * +* Purpose +* ======= +* * Given a 2-by-2 or 3-by-3 matrix H, SLAQR1 sets v to a * scalar multiple of the first column of the product * @@ -27,6 +30,8 @@ * This is useful for starting double implicit shift bulges * in the QR algorithm. * +* Arguments +* ========= * * N (input) integer * Order of the matrix H. N must be either 2 or 3. @@ -39,20 +44,26 @@ * the calling procedure. LDH.GE.N * * SR1 (input) REAL -* SI1 The shifts in (*). -* SR2 -* SI2 +* +* SI1 (input) REAL +* +* SR2 (input) REAL +* +* SI2 (input) REAL +* The shifts in (*). * * V (output) REAL array of dimension N * A scalar multiple of the first column of the * matrix K in (*). * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * * .. Parameters .. REAL ZERO diff --git a/SRC/slaqr2.f b/SRC/slaqr2.f index 3c01c3e7..be72e1ce 100644 --- a/SRC/slaqr2.f +++ b/SRC/slaqr2.f @@ -17,11 +17,12 @@ $ Z( LDZ, * ) * .. * -* This subroutine is identical to SLAQR3 except that it avoids -* recursion by calling SLAHQR instead of SLAQR4. +* Purpose +* ======= * +* SLAQR2 is identical to SLAQR3 except that it avoids +* recursion by calling SLAHQR instead of SLAQR4. * -* ****************************************************************** * Aggressive early deflation: * * This subroutine accepts as input an upper Hessenberg matrix @@ -33,7 +34,9 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the quasi-triangular Schur factor may be @@ -78,6 +81,7 @@ * subroutine. N .LE. LDH * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N. @@ -102,6 +106,7 @@ * subroutine. * * SR (output) REAL array, dimension KBOT +* * SI (output) REAL array, dimension KBOT * On output, the real and imaginary parts of approximate * eigenvalues that may be used for shifts are stored in @@ -152,12 +157,14 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * .. Parameters .. REAL ZERO, ONE PARAMETER ( ZERO = 0.0e0, ONE = 1.0e0 ) diff --git a/SRC/slaqr3.f b/SRC/slaqr3.f index 351a9343..885eeece 100644 --- a/SRC/slaqr3.f +++ b/SRC/slaqr3.f @@ -17,10 +17,12 @@ $ Z( LDZ, * ) * .. * -* ****************************************************************** +* Purpose +* ======= +* * Aggressive early deflation: * -* This subroutine accepts as input an upper Hessenberg matrix +* SLAQR3 accepts as input an upper Hessenberg matrix * H and performs an orthogonal similarity transformation * designed to detect and deflate fully converged eigenvalues from * a trailing principal submatrix. On output H has been over- @@ -29,7 +31,9 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the quasi-triangular Schur factor may be @@ -74,6 +78,7 @@ * subroutine. N .LE. LDH * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N. @@ -98,6 +103,7 @@ * subroutine. * * SR (output) REAL array, dimension KBOT +* * SI (output) REAL array, dimension KBOT * On output, the real and imaginary parts of approximate * eigenvalues that may be used for shifts are stored in @@ -148,12 +154,14 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * .. Parameters .. REAL ZERO, ONE PARAMETER ( ZERO = 0.0e0, ONE = 1.0e0 ) diff --git a/SRC/slaqr4.f b/SRC/slaqr4.f index 1a05898c..bd27750b 100644 --- a/SRC/slaqr4.f +++ b/SRC/slaqr4.f @@ -14,16 +14,16 @@ $ Z( LDZ, * ) * .. * -* This subroutine implements one level of recursion for SLAQR0. +* Purpose +* ======= +* +* SLAQR4 implements one level of recursion for SLAQR0. * It is a complete implementation of the small bulge multi-shift * QR algorithm. It may be called by SLAQR0 and, for large enough * deflation window size, it may be called by SLAQR3. This * subroutine is identical to SLAQR0 except that it calls SLAQR2 * instead of SLAQR3. * -* Purpose -* ======= -* * SLAQR4 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition * H = Z T Z**T, where T is an upper quasi-triangular matrix (the @@ -34,8 +34,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the orthogonal matrix Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -49,6 +49,7 @@ * The order of the matrix H. N .GE. 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows * and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1, @@ -78,6 +79,7 @@ * The leading dimension of the array H. LDH .GE. max(1,N). * * WR (output) REAL array, dimension (IHI) +* * WI (output) REAL array, dimension (IHI) * The real and imaginary parts, respectively, of the computed * eigenvalues of H(ILO:IHI,ILO:IHI) are stored in WR(ILO:IHI) @@ -92,6 +94,7 @@ * WI(i+1) = -WI(i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -159,12 +162,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -175,7 +179,8 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ +* * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/slaqr5.f b/SRC/slaqr5.f index 649527a7..c0d8bbaa 100644 --- a/SRC/slaqr5.f +++ b/SRC/slaqr5.f @@ -18,9 +18,15 @@ $ Z( LDZ, * ) * .. * -* This auxiliary subroutine called by SLAQR0 performs a +* Purpose +* ======= +* +* SLAQR5, called by SLAQR0, performs a * single small-bulge multi-shift QR sweep. * +* Arguments +* ========= +* * WANTT (input) logical scalar * WANTT = .true. if the quasi-triangular Schur factor * is being computed. WANTT is set to .false. otherwise. @@ -47,6 +53,7 @@ * subroutine operates. * * KTOP (input) integer scalar +* * KBOT (input) integer scalar * These are the first and last rows and columns of an * isolated diagonal block upon which the QR sweep is to be @@ -60,6 +67,7 @@ * must be positive and even. * * SR (input/output) REAL array of size (NSHFTS) +* * SI (input/output) REAL array of size (NSHFTS) * SR contains the real parts and SI contains the imaginary * parts of the NSHFTS shifts of origin that define the @@ -77,6 +85,7 @@ * calling procedure. LDH.GE.MAX(1,N). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N @@ -125,12 +134,13 @@ * LDWV is the leading dimension of WV as declared in the * in the calling subroutine. LDWV.GE.NV. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * Reference: * * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR @@ -138,7 +148,7 @@ * Level 3 Performance, SIAM Journal of Matrix Analysis, * volume 23, pages 929--947, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. REAL ZERO, ONE PARAMETER ( ZERO = 0.0e0, ONE = 1.0e0 ) diff --git a/SRC/slarra.f b/SRC/slarra.f index 969b23cd..e85c8151 100644 --- a/SRC/slarra.f +++ b/SRC/slarra.f @@ -28,17 +28,17 @@ * N (input) INTEGER * The order of the matrix. N > 0. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * On entry, the N diagonal elements of the tridiagonal * matrix T. * -* E (input/output) REAL array, dimension (N) +* E (input/output) REAL array, dimension (N) * On entry, the first (N-1) entries contain the subdiagonal * elements of the tridiagonal matrix T; E(N) need not be set. * On exit, the entries E( ISPLIT( I ) ), 1 <= I <= NSPLIT, * are set to zero, the other entries of E are untouched. * -* E2 (input/output) REAL array, dimension (N) +* E2 (input/output) REAL array, dimension (N) * On entry, the first (N-1) entries contain the SQUARES of the * subdiagonal elements of the tridiagonal matrix T; * E2(N) need not be set. diff --git a/SRC/slarrb.f b/SRC/slarrb.f index 17cecd3e..b6cacffb 100644 --- a/SRC/slarrb.f +++ b/SRC/slarrb.f @@ -35,10 +35,10 @@ * N (input) INTEGER * The order of the matrix. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The N diagonal elements of the diagonal matrix D. * -* LLD (input) REAL array, dimension (N-1) +* LLD (input) REAL array, dimension (N-1) * The (N-1) elements L(i)*L(i)*D(i). * * IFIRST (input) INTEGER @@ -48,6 +48,7 @@ * The index of the last eigenvalue to be computed. * * RTOL1 (input) REAL +* * RTOL2 (input) REAL * Tolerance for the convergence of the bisection intervals. * An interval [LEFT,RIGHT] has converged if @@ -59,25 +60,25 @@ * Offset for the arrays W, WGAP and WERR, i.e., the IFIRST-OFFSET * through ILAST-OFFSET elements of these arrays are to be used. * -* W (input/output) REAL array, dimension (N) +* W (input/output) REAL array, dimension (N) * On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are * estimates of the eigenvalues of L D L^T indexed IFIRST throug * ILAST. * On output, these estimates are refined. * -* WGAP (input/output) REAL array, dimension (N-1) +* WGAP (input/output) REAL array, dimension (N-1) * On input, the (estimated) gaps between consecutive * eigenvalues of L D L^T, i.e., WGAP(I-OFFSET) is the gap between * eigenvalues I and I+1. Note that if IFIRST.EQ.ILAST * then WGAP(IFIRST-OFFSET) must be set to ZERO. * On output, these gaps are refined. * -* WERR (input/output) REAL array, dimension (N) +* WERR (input/output) REAL array, dimension (N) * On input, WERR( IFIRST-OFFSET ) through WERR( ILAST-OFFSET ) are * the errors in the estimates of the corresponding elements in W. * On output, these errors are refined. * -* WORK (workspace) REAL array, dimension (2*N) +* WORK (workspace) REAL array, dimension (2*N) * Workspace. * * IWORK (workspace) INTEGER array, dimension (2*N) diff --git a/SRC/slarrc.f b/SRC/slarrc.f index 5126c39c..618bc5a6 100644 --- a/SRC/slarrc.f +++ b/SRC/slarrc.f @@ -33,6 +33,7 @@ * The order of the matrix. N > 0. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * The lower and upper bounds for the eigenvalues. * @@ -52,6 +53,7 @@ * that are in the interval (VL,VU] * * LCNT (output) INTEGER +* * RCNT (output) INTEGER * The left and right negcounts of the interval. * diff --git a/SRC/slarrd.f b/SRC/slarrd.f index c48b6d9f..1a56d6f8 100644 --- a/SRC/slarrd.f +++ b/SRC/slarrd.f @@ -63,6 +63,7 @@ * The order of the tridiagonal matrix T. N >= 0. * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. Eigenvalues less than or equal @@ -70,13 +71,14 @@ * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. * 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0. * Not referenced if RANGE = 'A' or 'V'. * -* GERS (input) REAL array, dimension (2*N) +* GERS (input) REAL array, dimension (2*N) * The N Gerschgorin intervals (the i-th Gerschgorin interval * is (GERS(2*i-1), GERS(2*i)). * @@ -87,13 +89,13 @@ * sufficiently small, i.e., converged. Note: this should * always be at least radix*machine epsilon. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The n diagonal elements of the tridiagonal matrix T. * -* E (input) REAL array, dimension (N-1) +* E (input) REAL array, dimension (N-1) * The (n-1) off-diagonal elements of the tridiagonal matrix T. * -* E2 (input) REAL array, dimension (N-1) +* E2 (input) REAL array, dimension (N-1) * The (n-1) squared off-diagonal elements of the tridiagonal matrix T. * * PIVMIN (input) REAL @@ -117,7 +119,7 @@ * The actual number of eigenvalues found. 0 <= M <= N. * (See also the description of INFO=2,3.) * -* W (output) REAL array, dimension (N) +* W (output) REAL array, dimension (N) * On exit, the first M elements of W will contain the * eigenvalue approximations. SLARRD computes an interval * I_j = (a_j, b_j] that includes eigenvalue j. The eigenvalue @@ -125,11 +127,12 @@ * W(j)= ( a_j + b_j)/2. The corresponding error is bounded by * WERR(j) = abs( a_j - b_j)/2 * -* WERR (output) REAL array, dimension (N) +* WERR (output) REAL array, dimension (N) * The error bound on the corresponding eigenvalue approximation * in W. * * WL (output) REAL +* * WU (output) REAL * The interval (WL, WU] contains all the wanted eigenvalues. * If RANGE='V', then WL=VL and WU=VU. @@ -151,7 +154,7 @@ * for example, INDEXW(i)= j and IBLOCK(i)=k imply that the * i-th eigenvalue W(i) is the j-th eigenvalue in block k. * -* WORK (workspace) REAL array, dimension (4*N) +* WORK (workspace) REAL array, dimension (4*N) * * IWORK (workspace) INTEGER array, dimension (3*N) * diff --git a/SRC/slarre.f b/SRC/slarre.f index a3d6060b..a0933cd0 100644 --- a/SRC/slarre.f +++ b/SRC/slarre.f @@ -52,6 +52,7 @@ * The order of the matrix. N > 0. * * VL (input/output) REAL +* * VU (input/output) REAL * If RANGE='V', the lower and upper bounds for the eigenvalues. * Eigenvalues less than or equal to VL, or greater than VU, @@ -60,25 +61,26 @@ * part of the spectrum. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. * 1 <= IL <= IU <= N. * -* D (input/output) REAL array, dimension (N) +* D (input/output) REAL array, dimension (N) * On entry, the N diagonal elements of the tridiagonal * matrix T. * On exit, the N diagonal elements of the diagonal * matrices D_i. * -* E (input/output) REAL array, dimension (N) +* E (input/output) REAL array, dimension (N) * On entry, the first (N-1) entries contain the subdiagonal * elements of the tridiagonal matrix T; E(N) need not be set. * On exit, E contains the subdiagonal elements of the unit * bidiagonal matrices L_i. The entries E( ISPLIT( I ) ), * 1 <= I <= NSPLIT, contain the base points sigma_i on output. * -* E2 (input/output) REAL array, dimension (N) +* E2 (input/output) REAL array, dimension (N) * On entry, the first (N-1) entries contain the SQUARES of the * subdiagonal elements of the tridiagonal matrix T; * E2(N) need not be set. @@ -86,6 +88,7 @@ * 1 <= I <= NSPLIT, have been set to zero * * RTOL1 (input) REAL +* * RTOL2 (input) REAL * Parameters for bisection. * An interval [LEFT,RIGHT] has converged if @@ -108,16 +111,16 @@ * The total number of eigenvalues (of all L_i D_i L_i^T) * found. * -* W (output) REAL array, dimension (N) +* W (output) REAL array, dimension (N) * The first M elements contain the eigenvalues. The * eigenvalues of each of the blocks, L_i D_i L_i^T, are * sorted in ascending order ( SLARRE may use the * remaining N-M elements as workspace). * -* WERR (output) REAL array, dimension (N) +* WERR (output) REAL array, dimension (N) * The error bound on the corresponding eigenvalue in W. * -* WGAP (output) REAL array, dimension (N) +* WGAP (output) REAL array, dimension (N) * The separation from the right neighbor eigenvalue in W. * The gap is only with respect to the eigenvalues of the same block * as each block has its own representation tree. @@ -134,14 +137,14 @@ * for example, INDEXW(i)= 10 and IBLOCK(i)=2 imply that the * i-th eigenvalue W(i) is the 10-th eigenvalue in block 2 * -* GERS (output) REAL array, dimension (2*N) +* GERS (output) REAL array, dimension (2*N) * The N Gerschgorin intervals (the i-th Gerschgorin interval * is (GERS(2*i-1), GERS(2*i)). * * PIVMIN (output) REAL * The minimum pivot in the Sturm sequence for T. * -* WORK (workspace) REAL array, dimension (6*N) +* WORK (workspace) REAL array, dimension (6*N) * Workspace. * * IWORK (workspace) INTEGER array, dimension (5*N) @@ -165,10 +168,11 @@ * =-6: Problem in SLASQ2. * * Further Details +* =============== +* * The base representations are required to suffer very little * element growth and consequently define all their eigenvalues to * high relative accuracy. -* =============== * * Based on contributions by * Beresford Parlett, University of California, Berkeley, USA diff --git a/SRC/slarrf.f b/SRC/slarrf.f index 74eaefc8..53bbb955 100644 --- a/SRC/slarrf.f +++ b/SRC/slarrf.f @@ -80,10 +80,10 @@ * SIGMA (output) REAL * The shift used to form L(+) D(+) L(+)^T. * -* DPLUS (output) REAL array, dimension (N) +* DPLUS (output) REAL array, dimension (N) * The N diagonal elements of the diagonal matrix D(+). * -* LPLUS (output) REAL array, dimension (N-1) +* LPLUS (output) REAL array, dimension (N-1) * The first (N-1) elements of LPLUS contain the subdiagonal * elements of the unit bidiagonal matrix L(+). * diff --git a/SRC/slarrj.f b/SRC/slarrj.f index aec8ddc0..3d6b30b5 100644 --- a/SRC/slarrj.f +++ b/SRC/slarrj.f @@ -34,10 +34,10 @@ * N (input) INTEGER * The order of the matrix. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The N diagonal elements of T. * -* E2 (input) REAL array, dimension (N-1) +* E2 (input) REAL array, dimension (N-1) * The Squares of the (N-1) subdiagonal elements of T. * * IFIRST (input) INTEGER @@ -55,18 +55,18 @@ * Offset for the arrays W and WERR, i.e., the IFIRST-OFFSET * through ILAST-OFFSET elements of these arrays are to be used. * -* W (input/output) REAL array, dimension (N) +* W (input/output) REAL array, dimension (N) * On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are * estimates of the eigenvalues of L D L^T indexed IFIRST through * ILAST. * On output, these estimates are refined. * -* WERR (input/output) REAL array, dimension (N) +* WERR (input/output) REAL array, dimension (N) * On input, WERR( IFIRST-OFFSET ) through WERR( ILAST-OFFSET ) are * the errors in the estimates of the corresponding elements in W. * On output, these errors are refined. * -* WORK (workspace) REAL array, dimension (2*N) +* WORK (workspace) REAL array, dimension (2*N) * Workspace. * * IWORK (workspace) INTEGER array, dimension (2*N) diff --git a/SRC/slarrk.f b/SRC/slarrk.f index f0533138..fac58ee7 100644 --- a/SRC/slarrk.f +++ b/SRC/slarrk.f @@ -41,13 +41,14 @@ * The index of the eigenvalues to be returned. * * GL (input) REAL +* * GU (input) REAL * An upper and a lower bound on the eigenvalue. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The n diagonal elements of the tridiagonal matrix T. * -* E2 (input) REAL array, dimension (N-1) +* E2 (input) REAL array, dimension (N-1) * The (n-1) squared off-diagonal elements of the tridiagonal matrix T. * * PIVMIN (input) REAL diff --git a/SRC/slarrr.f b/SRC/slarrr.f index a1e98d22..e86e8c2d 100644 --- a/SRC/slarrr.f +++ b/SRC/slarrr.f @@ -26,7 +26,7 @@ * N (input) INTEGER * The order of the matrix. N > 0. * -* D (input) REAL array, dimension (N) +* D (input) REAL array, dimension (N) * The N diagonal elements of the tridiagonal matrix T. * * E (input/output) REAL array, dimension (N) diff --git a/SRC/slarrv.f b/SRC/slarrv.f index 76dc1292..4afa7440 100644 --- a/SRC/slarrv.f +++ b/SRC/slarrv.f @@ -35,6 +35,7 @@ * The order of the matrix. N >= 0. * * VL (input) REAL +* * VU (input) REAL * Lower and upper bounds of the interval that contains the desired * eigenvalues. VL < VU. Needed to compute gaps on the left or right @@ -64,6 +65,7 @@ * The total number of input eigenvalues. 0 <= M <= N. * * DOL (input) INTEGER +* * DOU (input) INTEGER * If the user wants to compute only selected eigenvectors from all * the eigenvalues supplied, he can specify an index range DOL:DOU. @@ -77,12 +79,13 @@ * MINRGP (input) REAL * * RTOL1 (input) REAL +* * RTOL2 (input) REAL * Parameters for bisection. * An interval [LEFT,RIGHT] has converged if * RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) ) * -* W (input/output) REAL array, dimension (N) +* W (input/output) REAL array, dimension (N) * The first M elements of W contain the APPROXIMATE eigenvalues for * which eigenvectors are to be computed. The eigenvalues * should be grouped by split-off block and ordered from diff --git a/SRC/slascl.f b/SRC/slascl.f index 8be809a9..824e34dd 100644 --- a/SRC/slascl.f +++ b/SRC/slascl.f @@ -50,6 +50,7 @@ * 'Q' or 'Z'. * * CFROM (input) REAL +* * CTO (input) REAL * The matrix A is multiplied by CTO/CFROM. A(I,J) is computed * without over/underflow if the final result CTO*A(I,J)/CFROM diff --git a/SRC/slasv2.f b/SRC/slasv2.f index 4e92517a..ee4464c4 100644 --- a/SRC/slasv2.f +++ b/SRC/slasv2.f @@ -42,11 +42,13 @@ * abs(SSMAX) is the larger singular value. * * SNL (output) REAL +* * CSL (output) REAL * The vector (CSL, SNL) is a unit left singular vector for the * singular value abs(SSMAX). * * SNR (output) REAL +* * CSR (output) REAL * The vector (CSR, SNR) is a unit right singular vector for the * singular value abs(SSMAX). diff --git a/SRC/sporfsx.f b/SRC/sporfsx.f index c542d380..30071016 100644 --- a/SRC/sporfsx.f +++ b/SRC/sporfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SPORFSX improves the computed solution to a system of linear @@ -44,8 +44,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -291,7 +291,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/sposvxx.f b/SRC/sposvxx.f index b281f858..adb845c8 100644 --- a/SRC/sposvxx.f +++ b/SRC/sposvxx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SPOSVXX uses the Cholesky factorization A = U**T*U or A = L*L**T @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what SPOSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -91,8 +91,8 @@ * diag(S) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -385,7 +385,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/ssbevx.f b/SRC/ssbevx.f index b4cdc613..58130b52 100644 --- a/SRC/ssbevx.f +++ b/SRC/ssbevx.f @@ -78,12 +78,14 @@ * LDQ >= max(1,N). * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/sspevx.f b/SRC/sspevx.f index e73d11a7..1439a366 100644 --- a/SRC/sspevx.f +++ b/SRC/sspevx.f @@ -60,12 +60,14 @@ * corresponding elements of A. * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/sstevr.f b/SRC/sstevr.f index 94bac8d2..9e65739e 100644 --- a/SRC/sstevr.f +++ b/SRC/sstevr.f @@ -73,8 +73,8 @@ * = 'V': all eigenvalues in the half-open interval (VL,VU] * will be found. * = 'I': the IL-th through IU-th eigenvalues will be found. -********** For RANGE = 'V' or 'I' and IU - IL < N - 1, SSTEBZ and -********** SSTEIN are called +* For RANGE = 'V' or 'I' and IU - IL < N - 1, SSTEBZ and +* SSTEIN are called * * N (input) INTEGER * The order of the matrix. N >= 0. @@ -92,12 +92,14 @@ * to avoid over/underflow in computing the eigenvalues. * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. @@ -158,7 +160,7 @@ * indicating the nonzero elements in Z. The i-th eigenvector * is nonzero only in elements ISUPPZ( 2*i-1 ) through * ISUPPZ( 2*i ). -********** Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 +* Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 * * WORK (workspace/output) REAL array, dimension (MAX(1,LWORK)) * On exit, if INFO = 0, WORK(1) returns the optimal (and diff --git a/SRC/sstevx.f b/SRC/sstevx.f index 028c5ae6..6770dbc4 100644 --- a/SRC/sstevx.f +++ b/SRC/sstevx.f @@ -53,12 +53,14 @@ * to avoid over/underflow in computing the eigenvalues. * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/ssyconv.f b/SRC/ssyconv.f index e42ab6c6..b8b15fcd 100644 --- a/SRC/ssyconv.f +++ b/SRC/ssyconv.f @@ -1,7 +1,6 @@ SUBROUTINE SSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO ) * * -- LAPACK PROTOTYPE routine (version 3.2.2) -- -* * -- Written by Julie Langou of the Univ. of TN -- * May 2010 * @@ -32,7 +31,7 @@ * as an upper or lower triangular matrix. * = 'U': Upper triangular, form is A = U*D*U**T; * = 'L': Lower triangular, form is A = L*D*L**T. -* +* * WAY (input) CHARACTER*1 * = 'C': Convert * = 'R': Revert diff --git a/SRC/ssyevr.f b/SRC/ssyevr.f index 3c415341..3be1d4f8 100644 --- a/SRC/ssyevr.f +++ b/SRC/ssyevr.f @@ -90,8 +90,8 @@ * = 'V': all eigenvalues in the half-open interval (VL,VU] * will be found. * = 'I': the IL-th through IU-th eigenvalues will be found. -********** For RANGE = 'V' or 'I' and IU - IL < N - 1, SSTEBZ and -********** SSTEIN are called +* For RANGE = 'V' or 'I' and IU - IL < N - 1, SSTEBZ and +* SSTEIN are called * * UPLO (input) CHARACTER*1 * = 'U': Upper triangle of A is stored; @@ -114,12 +114,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. @@ -182,7 +184,7 @@ * indicating the nonzero elements in Z. The i-th eigenvector * is nonzero only in elements ISUPPZ( 2*i-1 ) through * ISUPPZ( 2*i ). -********** Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 +* Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 * * WORK (workspace/output) REAL array, dimension (MAX(1,LWORK)) * On exit, if INFO = 0, WORK(1) returns the optimal LWORK. diff --git a/SRC/ssyevx.f b/SRC/ssyevx.f index 1bf53a2b..c92ced10 100644 --- a/SRC/ssyevx.f +++ b/SRC/ssyevx.f @@ -59,12 +59,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/ssygvx.f b/SRC/ssygvx.f index ae01d217..162b402f 100644 --- a/SRC/ssygvx.f +++ b/SRC/ssygvx.f @@ -83,12 +83,14 @@ * The leading dimension of the array B. LDB >= max(1,N). * * VL (input) REAL +* * VU (input) REAL * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/ssyrfsx.f b/SRC/ssyrfsx.f index 825f24c6..9e0e16f4 100644 --- a/SRC/ssyrfsx.f +++ b/SRC/ssyrfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SSYRFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -296,7 +296,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/ssysvxx.f b/SRC/ssysvxx.f index 2558b42c..f7765812 100644 --- a/SRC/ssysvxx.f +++ b/SRC/ssysvxx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * SSYSVXX uses the diagonal pivoting factorization to compute the @@ -50,8 +50,8 @@ * user-provided factorizations and equilibration factors if they * differ from what SSYSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -93,8 +93,8 @@ * diag(R) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -393,7 +393,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. REAL ZERO, ONE diff --git a/SRC/stgexc.f b/SRC/stgexc.f index ef4db2e9..73cd09b5 100644 --- a/SRC/stgexc.f +++ b/SRC/stgexc.f @@ -88,6 +88,7 @@ * If WANTZ = .TRUE., LDZ >= N. * * IFST (input/output) INTEGER +* * ILST (input/output) INTEGER * Specify the reordering of the diagonal blocks of (A, B). * The block with row index IFST is moved to row ILST, by a diff --git a/SRC/zgbrfsx.f b/SRC/zgbrfsx.f index 0069775a..871f0f3e 100644 --- a/SRC/zgbrfsx.f +++ b/SRC/zgbrfsx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * ZGBRFSX improves the computed solution to a system of linear @@ -44,8 +44,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -324,7 +324,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zgbsvxx.f b/SRC/zgbsvxx.f index 21f2b53e..4c02a2f0 100644 --- a/SRC/zgbsvxx.f +++ b/SRC/zgbsvxx.f @@ -29,8 +29,8 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * ZGBSVXX uses the LU factorization to compute the solution to a * complex*16 system of linear equations A * X = B, where A is an @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what ZGBSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -435,7 +435,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zgebak.f b/SRC/zgebak.f index f2553e7d..e557ea52 100644 --- a/SRC/zgebak.f +++ b/SRC/zgebak.f @@ -42,6 +42,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by ZGEBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/zgebal.f b/SRC/zgebal.f index 137f228d..a3000f52 100644 --- a/SRC/zgebal.f +++ b/SRC/zgebal.f @@ -51,6 +51,7 @@ * The leading dimension of the array A. LDA >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 if i > j and j = 1,...,ILO-1 or I = IHI+1,...,N. diff --git a/SRC/zgeevx.f b/SRC/zgeevx.f index 20fc5799..6c5e11d5 100644 --- a/SRC/zgeevx.f +++ b/SRC/zgeevx.f @@ -130,6 +130,7 @@ * JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values determined when A was * balanced. The balanced A(i,j) = 0 if I > J and diff --git a/SRC/zgegv.f b/SRC/zgegv.f index 48670d79..824eb809 100644 --- a/SRC/zgegv.f +++ b/SRC/zgegv.f @@ -45,8 +45,7 @@ * u**H*A = lambda*u**H*B or mu*v**H*A = v**H*B * are left eigenvectors of (A,B). * -* Note: this routine performs "full balancing" on A and B -- see -* "Further Details", below. +* Note: this routine performs "full balancing" on A and B * * Arguments * ========= diff --git a/SRC/zgeqp3.f b/SRC/zgeqp3.f index b4b6e4b6..3ae73f9f 100644 --- a/SRC/zgeqp3.f +++ b/SRC/zgeqp3.f @@ -114,7 +114,7 @@ * .. Executable Statements .. * * Test input arguments -* ==================== +* ==================== * INFO = 0 LQUERY = ( LWORK.EQ.-1 ) @@ -176,7 +176,7 @@ NFXD = NFXD - 1 * * Factorize fixed columns -* ======================= +* ======================= * * Compute the QR factorization of fixed columns and update * remaining columns. @@ -198,7 +198,7 @@ END IF * * Factorize free columns -* ====================== +* ====================== * IF( NFXD.LT.MINMN ) THEN * diff --git a/SRC/zgeqrt.f b/SRC/zgeqrt.f index 67904349..666cc887 100644 --- a/SRC/zgeqrt.f +++ b/SRC/zgeqrt.f @@ -36,7 +36,7 @@ * On exit, the elements on and above the diagonal of the array * contain the min(M,N)-by-N upper trapezoidal matrix R (R is * upper triangular if M >= N); the elements below the diagonal -* are the columns of V. See below for further details. +* are the columns of V. * * LDA (input) INTEGER * The leading dimension of the array A. LDA >= max(1,M). @@ -45,7 +45,7 @@ * The upper triangular block reflectors stored in compact form * as a sequence of upper triangular blocks. See below * for further details. -* +* * LDT (input) INTEGER * The leading dimension of the array T. LDT >= NB. * diff --git a/SRC/zgerfsx.f b/SRC/zgerfsx.f index 633a52ba..1f4dfebd 100644 --- a/SRC/zgerfsx.f +++ b/SRC/zgerfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * ZGERFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * and C below. In this case, the solution and error bounds returned * are for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -305,7 +305,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zgesvxx.f b/SRC/zgesvxx.f index b752a3d5..711cb111 100644 --- a/SRC/zgesvxx.f +++ b/SRC/zgesvxx.f @@ -29,7 +29,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * ZGESVXX uses the LU factorization to compute the solution to a @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what ZGESVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -95,8 +95,8 @@ * diag(C) (if TRANS = 'N') or diag(R) (if TRANS = 'T' or 'C') so * that it solves the original system before equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -421,7 +421,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zggbak.f b/SRC/zggbak.f index d5cb78cc..6a09ce3d 100644 --- a/SRC/zggbak.f +++ b/SRC/zggbak.f @@ -43,6 +43,7 @@ * The number of rows of the matrix V. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * The integers ILO and IHI determined by ZGGBAL. * 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. diff --git a/SRC/zggbal.f b/SRC/zggbal.f index 0ac77978..ee7d6d28 100644 --- a/SRC/zggbal.f +++ b/SRC/zggbal.f @@ -60,6 +60,7 @@ * The leading dimension of the array B. LDB >= max(1,N). * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are set to integers such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and diff --git a/SRC/zgges.f b/SRC/zgges.f index 5f41fb61..b37a2fce 100644 --- a/SRC/zgges.f +++ b/SRC/zgges.f @@ -109,6 +109,7 @@ * for which SELCTG is true. * * ALPHA (output) COMPLEX*16 array, dimension (N) +* * BETA (output) COMPLEX*16 array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the * generalized eigenvalues. ALPHA(j), j=1,...,N and BETA(j), diff --git a/SRC/zggesx.f b/SRC/zggesx.f index 66fc5b96..1aaa2a7d 100644 --- a/SRC/zggesx.f +++ b/SRC/zggesx.f @@ -118,6 +118,7 @@ * for which SELCTG is true. * * ALPHA (output) COMPLEX*16 array, dimension (N) +* * BETA (output) COMPLEX*16 array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the * generalized eigenvalues. ALPHA(j) and BETA(j),j=1,...,N are diff --git a/SRC/zggev.f b/SRC/zggev.f index d460f011..c596b86a 100644 --- a/SRC/zggev.f +++ b/SRC/zggev.f @@ -71,6 +71,7 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHA (output) COMPLEX*16 array, dimension (N) +* * BETA (output) COMPLEX*16 array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the * generalized eigenvalues. diff --git a/SRC/zggevx.f b/SRC/zggevx.f index eb621968..f3e53898 100644 --- a/SRC/zggevx.f +++ b/SRC/zggevx.f @@ -102,6 +102,7 @@ * The leading dimension of B. LDB >= max(1,N). * * ALPHA (output) COMPLEX*16 array, dimension (N) +* * BETA (output) COMPLEX*16 array, dimension (N) * On exit, ALPHA(j)/BETA(j), j=1,...,N, will be the generalized * eigenvalues. @@ -138,6 +139,7 @@ * if JOBVR = 'V', LDVR >= N. * * ILO (output) INTEGER +* * IHI (output) INTEGER * ILO and IHI are integer values such that on exit * A(i,j) = 0 and B(i,j) = 0 if i > j and @@ -245,6 +247,8 @@ * For further explanation of the reciprocal condition numbers RCONDE * and RCONDV, see section 4.11 of LAPACK User's Guide. * +* ===================================================================== +* * .. Parameters .. DOUBLE PRECISION ZERO, ONE PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 ) diff --git a/SRC/zhbevx.f b/SRC/zhbevx.f index b3eea5eb..1a4c831c 100644 --- a/SRC/zhbevx.f +++ b/SRC/zhbevx.f @@ -75,12 +75,14 @@ * LDQ >= max(1,N). * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/zheevr.f b/SRC/zheevr.f index 44e3554e..d142ea26 100644 --- a/SRC/zheevr.f +++ b/SRC/zheevr.f @@ -116,12 +116,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/zheevx.f b/SRC/zheevx.f index eb64770e..796e2bb9 100644 --- a/SRC/zheevx.f +++ b/SRC/zheevx.f @@ -61,12 +61,14 @@ * The leading dimension of the array A. LDA >= max(1,N). * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/zherfsx.f b/SRC/zherfsx.f index 6115ba00..12a63765 100644 --- a/SRC/zherfsx.f +++ b/SRC/zherfsx.f @@ -27,7 +27,7 @@ $ ERR_BNDS_NORM( NRHS, * ), $ ERR_BNDS_COMP( NRHS, * ) * -* Purpose +* Purpose * ======= * * ZHERFSX improves the computed solution to a system of linear @@ -42,8 +42,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -295,7 +295,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zhesvxx.f b/SRC/zhesvxx.f index 09337195..88e4d5d2 100644 --- a/SRC/zhesvxx.f +++ b/SRC/zhesvxx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * ZHESVXX uses the diagonal pivoting factorization to compute the @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what ZHESVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -94,8 +94,8 @@ * diag(R) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -387,7 +387,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zhgeqz.f b/SRC/zhgeqz.f index 123146de..ced2f48d 100644 --- a/SRC/zhgeqz.f +++ b/SRC/zhgeqz.f @@ -89,6 +89,7 @@ * The order of the matrices H, T, Q, and Z. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * ILO and IHI mark the rows and columns of H which are in * Hessenberg form. It is assumed that A is already upper diff --git a/SRC/zhpevx.f b/SRC/zhpevx.f index 01e53101..40a26f5c 100644 --- a/SRC/zhpevx.f +++ b/SRC/zhpevx.f @@ -61,12 +61,14 @@ * corresponding elements of A. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * If RANGE='V', the lower and upper bounds of the interval to * be searched for eigenvalues. VL < VU. * Not referenced if RANGE = 'A' or 'I'. * * IL (input) INTEGER +* * IU (input) INTEGER * If RANGE='I', the indices (in ascending order) of the * smallest and largest eigenvalues to be returned. diff --git a/SRC/zhseqr.f b/SRC/zhseqr.f index d3aae7a4..c965fd46 100644 --- a/SRC/zhseqr.f +++ b/SRC/zhseqr.f @@ -12,7 +12,7 @@ * .. Array Arguments .. COMPLEX*16 H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * ) * .. -* Purpose +* Purpose * ======= * * ZHSEQR computes the eigenvalues of a Hessenberg matrix H @@ -25,8 +25,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. * -* Arguments -* ========= +* Arguments +* ========= * * JOB (input) CHARACTER*1 * = 'E': compute eigenvalues only; @@ -147,7 +147,7 @@ * If INFO .GT. 0 and COMPZ = 'N', then Z is not * accessed. * -* ================================================================ +* ================================================================ * Default values supplied by * ILAENV(ISPEC,'ZHSEQR',JOB(:1)//COMPZ(:1),N,ILO,IHI,LWORK). * It is suggested that these defaults be adjusted in order @@ -199,12 +199,12 @@ * for ISPEC=16 is 0. Otherwise the default for * ISPEC=16 is 2. * -* ================================================================ +* ================================================================ * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -215,7 +215,7 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/zla_heamv.f b/SRC/zla_heamv.f index 31946f44..fea569c3 100644 --- a/SRC/zla_heamv.f +++ b/SRC/zla_heamv.f @@ -60,11 +60,11 @@ * N must be at least zero. * Unchanged on exit. * -* ALPHA - DOUBLE PRECISION . +* ALPHA (input) DOUBLE PRECISION . * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - COMPLEX*16 array of DIMENSION ( LDA, n ). +* A (input) COMPLEX*16 array, DIMENSION ( LDA, n ). * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. @@ -75,7 +75,7 @@ * max( 1, n ). * Unchanged on exit. * -* X - COMPLEX*16 array of DIMENSION at least +* X (input) COMPLEX*16 array, DIMENSION at least * ( 1 + ( n - 1 )*abs( INCX ) ) * Before entry, the incremented array X must contain the * vector x. @@ -86,7 +86,7 @@ * X. INCX must not be zero. * Unchanged on exit. * -* BETA - DOUBLE PRECISION . +* BETA (input) DOUBLE PRECISION . * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. diff --git a/SRC/zla_lin_berr.f b/SRC/zla_lin_berr.f index 26ba3967..5a710171 100644 --- a/SRC/zla_lin_berr.f +++ b/SRC/zla_lin_berr.f @@ -27,6 +27,9 @@ * where abs(Z) is the componentwise absolute value of the matrix * or vector Z. * +* Arguments +* ========= +* * N (input) INTEGER * The number of linear equations, i.e., the order of the * matrix A. N >= 0. diff --git a/SRC/zla_syamv.f b/SRC/zla_syamv.f index abcd0212..c086fa10 100644 --- a/SRC/zla_syamv.f +++ b/SRC/zla_syamv.f @@ -61,11 +61,11 @@ * N must be at least zero. * Unchanged on exit. * -* ALPHA - DOUBLE PRECISION . +* ALPHA (input) DOUBLE PRECISION . * On entry, ALPHA specifies the scalar alpha. * Unchanged on exit. * -* A - COMPLEX*16 array of DIMENSION ( LDA, n ). +* A (input) COMPLEX*16 array, DIMENSION ( LDA, n ). * Before entry, the leading m by n part of the array A must * contain the matrix of coefficients. * Unchanged on exit. @@ -76,7 +76,7 @@ * max( 1, n ). * Unchanged on exit. * -* X - COMPLEX*16 array of DIMENSION at least +* X (input) COMPLEX*16 array, DIMENSION at least * ( 1 + ( n - 1 )*abs( INCX ) ) * Before entry, the incremented array X must contain the * vector x. @@ -87,7 +87,7 @@ * X. INCX must not be zero. * Unchanged on exit. * -* BETA - DOUBLE PRECISION . +* BETA (input) DOUBLE PRECISION . * On entry, BETA specifies the scalar beta. When BETA is * supplied as zero then Y need not be set on input. * Unchanged on exit. diff --git a/SRC/zla_wwaddw.f b/SRC/zla_wwaddw.f index 9ee9a396..50158f89 100644 --- a/SRC/zla_wwaddw.f +++ b/SRC/zla_wwaddw.f @@ -17,7 +17,7 @@ COMPLEX*16 X( * ), Y( * ), W( * ) * .. * -* Purpose +* Purpose * ======= * * ZLA_WWADDW adds a vector W into a doubled-single vector (X, Y). @@ -25,8 +25,8 @@ * This works for all extant IBM's hex and binary floating point * arithmetics, but not for decimal. * -* Arguments -* ========= +* Arguments +* ========= * * N (input) INTEGER * The length of vectors X, Y, and W. diff --git a/SRC/zlacn2.f b/SRC/zlacn2.f index b3564089..5f0bd742 100644 --- a/SRC/zlacn2.f +++ b/SRC/zlacn2.f @@ -52,7 +52,7 @@ * ISAVE is used to save variables between calls to ZLACN2 * * Further Details -* ======= ======= +* =============== * * Contributed by Nick Higham, University of Manchester. * Originally named CONEST, dated March 16, 1988. diff --git a/SRC/zlacon.f b/SRC/zlacon.f index d49f1574..9ab482d7 100644 --- a/SRC/zlacon.f +++ b/SRC/zlacon.f @@ -48,7 +48,7 @@ * On the final return from ZLACON, KASE will again be 0. * * Further Details -* ======= ======= +* =============== * * Contributed by Nick Higham, University of Manchester. * Originally named CONEST, dated March 16, 1988. diff --git a/SRC/zlacrt.f b/SRC/zlacrt.f index 21bc9ba8..bd3b1691 100644 --- a/SRC/zlacrt.f +++ b/SRC/zlacrt.f @@ -44,6 +44,7 @@ * The increment between successive values of CY. INCY <> 0. * * C (input) COMPLEX*16 +* * S (input) COMPLEX*16 * C and S define the matrix * [ C S ]. diff --git a/SRC/zladiv.f b/SRC/zladiv.f index 1e68c364..eff0ccd4 100644 --- a/SRC/zladiv.f +++ b/SRC/zladiv.f @@ -20,6 +20,7 @@ * ========= * * X (input) COMPLEX*16 +* * Y (input) COMPLEX*16 * The complex scalars X and Y. * diff --git a/SRC/zlaesy.f b/SRC/zlaesy.f index 12d0904f..e56bfebf 100644 --- a/SRC/zlaesy.f +++ b/SRC/zlaesy.f @@ -52,6 +52,7 @@ * value THRESH (set below). * * CS1 (output) COMPLEX*16 +* * SN1 (output) COMPLEX*16 * If EVSCAL .NE. 0, ( CS1, SN1 ) is the unit right eigenvector * for RT1. diff --git a/SRC/zlaev2.f b/SRC/zlaev2.f index 6b647070..1f31ff7b 100644 --- a/SRC/zlaev2.f +++ b/SRC/zlaev2.f @@ -43,6 +43,7 @@ * The eigenvalue of smaller absolute value. * * CS1 (output) DOUBLE PRECISION +* * SN1 (output) COMPLEX*16 * The vector (CS1, SN1) is a unit right eigenvector for RT1. * diff --git a/SRC/zlags2.f b/SRC/zlags2.f index 2bae869b..6daa241b 100644 --- a/SRC/zlags2.f +++ b/SRC/zlags2.f @@ -54,26 +54,33 @@ * = .FALSE.: the input matrices A and B are lower triangular. * * A1 (input) DOUBLE PRECISION +* * A2 (input) COMPLEX*16 +* * A3 (input) DOUBLE PRECISION * On entry, A1, A2 and A3 are elements of the input 2-by-2 * upper (lower) triangular matrix A. * * B1 (input) DOUBLE PRECISION +* * B2 (input) COMPLEX*16 +* * B3 (input) DOUBLE PRECISION * On entry, B1, B2 and B3 are elements of the input 2-by-2 * upper (lower) triangular matrix B. * * CSU (output) DOUBLE PRECISION +* * SNU (output) COMPLEX*16 * The desired unitary matrix U. * * CSV (output) DOUBLE PRECISION +* * SNV (output) COMPLEX*16 * The desired unitary matrix V. * * CSQ (output) DOUBLE PRECISION +* * SNQ (output) COMPLEX*16 * The desired unitary matrix Q. * diff --git a/SRC/zlahqr.f b/SRC/zlahqr.f index d6216d98..84c53ba8 100644 --- a/SRC/zlahqr.f +++ b/SRC/zlahqr.f @@ -13,16 +13,16 @@ COMPLEX*16 H( LDH, * ), W( * ), Z( LDZ, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * ZLAHQR is an auxiliary routine called by CHSEQR to update the * eigenvalues and Schur decomposition already computed by CHSEQR, by * dealing with the Hessenberg submatrix in rows and columns ILO to * IHI. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -36,6 +36,7 @@ * The order of the matrix H. N >= 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows and * columns IHI+1:N, and that H(ILO,ILO-1) = 0 (unless ILO = 1). @@ -62,6 +63,7 @@ * of the Schur form returned in H, with W(i) = H(i,i). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. @@ -102,8 +104,8 @@ * where U is the orthogonal matrix in (*) * (regardless of the value of WANTT.) * -* Further Details -* =============== +* Further Details +* =============== * * 02-96 Based on modifications by * David Day, Sandia National Laboratory, USA @@ -115,7 +117,7 @@ * (2) adopts the more conservative Ahues & Tisseur stopping * criterion (LAWN 122, 1997). * -* ========================================================= +* ========================================================= * * .. Parameters .. INTEGER ITMAX diff --git a/SRC/zlaqr0.f b/SRC/zlaqr0.f index 464d40f1..b55d1303 100644 --- a/SRC/zlaqr0.f +++ b/SRC/zlaqr0.f @@ -13,8 +13,8 @@ COMPLEX*16 H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * ) * .. * -* Purpose -* ======= +* Purpose +* ======= * * ZLAQR0 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition @@ -26,8 +26,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -134,12 +134,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -150,7 +151,8 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ +* * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/zlaqr1.f b/SRC/zlaqr1.f index ba62ccd9..a12c3d82 100644 --- a/SRC/zlaqr1.f +++ b/SRC/zlaqr1.f @@ -12,6 +12,9 @@ COMPLEX*16 H( LDH, * ), V( * ) * .. * +* Purpose +* ======= +* * Given a 2-by-2 or 3-by-3 matrix H, ZLAQR1 sets v to a * scalar multiple of the first column of the product * @@ -22,6 +25,8 @@ * This is useful for starting double implicit shift bulges * in the QR algorithm. * +* Arguments +* ========= * * N (input) integer * Order of the matrix H. N must be either 2 or 3. @@ -40,12 +45,14 @@ * A scalar multiple of the first column of the * matrix K in (*). * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * * .. Parameters .. COMPLEX*16 ZERO diff --git a/SRC/zlaqr2.f b/SRC/zlaqr2.f index 2b900ab5..a4ac8186 100644 --- a/SRC/zlaqr2.f +++ b/SRC/zlaqr2.f @@ -16,14 +16,15 @@ $ WORK( * ), WV( LDWV, * ), Z( LDZ, * ) * .. * -* This subroutine is identical to ZLAQR3 except that it avoids -* recursion by calling ZLAHQR instead of ZLAQR4. +* Purpose +* ======= * +* ZLAQR2 is identical to ZLAQR3 except that it avoids +* recursion by calling ZLAHQR instead of ZLAQR4. * -* ****************************************************************** * Aggressive early deflation: * -* This subroutine accepts as input an upper Hessenberg matrix +* ZLAQR2 accepts as input an upper Hessenberg matrix * H and performs an unitary similarity transformation * designed to detect and deflate fully converged eigenvalues from * a trailing principal submatrix. On output H has been over- @@ -32,7 +33,10 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the triangular Schur factor may be @@ -147,12 +151,15 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ +* * .. Parameters .. COMPLEX*16 ZERO, ONE PARAMETER ( ZERO = ( 0.0d0, 0.0d0 ), diff --git a/SRC/zlaqr3.f b/SRC/zlaqr3.f index 2a10ac9f..79a1fff4 100644 --- a/SRC/zlaqr3.f +++ b/SRC/zlaqr3.f @@ -16,10 +16,12 @@ $ WORK( * ), WV( LDWV, * ), Z( LDZ, * ) * .. * -* ****************************************************************** +* Purpose +* ======= +* * Aggressive early deflation: * -* This subroutine accepts as input an upper Hessenberg matrix +* ZLAQR3 accepts as input an upper Hessenberg matrix * H and performs an unitary similarity transformation * designed to detect and deflate fully converged eigenvalues from * a trailing principal submatrix. On output H has been over- @@ -28,7 +30,10 @@ * hoped that the final version of H has many zero subdiagonal * entries. * -* ****************************************************************** +* +* Arguments +* ========= +* * WANTT (input) LOGICAL * If .TRUE., then the Hessenberg matrix H is fully updated * so that the triangular Schur factor may be @@ -73,6 +78,7 @@ * subroutine. N .LE. LDH * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N. @@ -143,12 +149,15 @@ * in WORK(1). No error message related to LWORK is issued * by XERBLA. Neither H nor Z are accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ +* * .. Parameters .. COMPLEX*16 ZERO, ONE PARAMETER ( ZERO = ( 0.0d0, 0.0d0 ), diff --git a/SRC/zlaqr4.f b/SRC/zlaqr4.f index b5209e8d..962817cf 100644 --- a/SRC/zlaqr4.f +++ b/SRC/zlaqr4.f @@ -13,16 +13,16 @@ COMPLEX*16 H( LDH, * ), W( * ), WORK( * ), Z( LDZ, * ) * .. * -* This subroutine implements one level of recursion for ZLAQR0. +* Purpose +* ======= +* +* ZLAQR4 implements one level of recursion for ZLAQR0. * It is a complete implementation of the small bulge multi-shift * QR algorithm. It may be called by ZLAQR0 and, for large enough * deflation window size, it may be called by ZLAQR3. This * subroutine is identical to ZLAQR0 except that it calls ZLAQR2 * instead of ZLAQR3. * -* Purpose -* ======= -* * ZLAQR4 computes the eigenvalues of a Hessenberg matrix H * and, optionally, the matrices T and Z from the Schur decomposition * H = Z T Z**H, where T is an upper triangular matrix (the @@ -33,8 +33,8 @@ * of a matrix A which has been reduced to the Hessenberg form H * by the unitary matrix Q: A = Q*H*Q**H = (QZ)*H*(QZ)**H. * -* Arguments -* ========= +* Arguments +* ========= * * WANTT (input) LOGICAL * = .TRUE. : the full Schur form T is required; @@ -48,6 +48,7 @@ * The order of the matrix H. N .GE. 0. * * ILO (input) INTEGER +* * IHI (input) INTEGER * It is assumed that H is already upper triangular in rows * and columns 1:ILO-1 and IHI+1:N and, if ILO.GT.1, @@ -141,12 +142,13 @@ * If INFO .GT. 0 and WANTZ is .FALSE., then Z is not * accessed. * -* ================================================================ +* Further Details +* =============== +* * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ * References: * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR * Algorithm Part I: Maintaining Well Focused Shifts, and Level 3 @@ -157,7 +159,8 @@ * Algorithm Part II: Aggressive Early Deflation, SIAM Journal * of Matrix Analysis, volume 23, pages 948--973, 2002. * -* ================================================================ +* ================================================================ +* * .. Parameters .. * * ==== Matrices of order NTINY or smaller must be processed by diff --git a/SRC/zlaqr5.f b/SRC/zlaqr5.f index 15c8b113..9e7effa8 100644 --- a/SRC/zlaqr5.f +++ b/SRC/zlaqr5.f @@ -16,9 +16,15 @@ $ WH( LDWH, * ), WV( LDWV, * ), Z( LDZ, * ) * .. * -* This auxiliary subroutine called by ZLAQR0 performs a +* Purpose +* ======= +* +* ZLAQR5, called by ZLAQR0, performs a * single small-bulge multi-shift QR sweep. * +* Arguments +* ========= +* * WANTT (input) logical scalar * WANTT = .true. if the triangular Schur factor * is being computed. WANTT is set to .false. otherwise. @@ -45,6 +51,7 @@ * subroutine operates. * * KTOP (input) integer scalar +* * KBOT (input) integer scalar * These are the first and last rows and columns of an * isolated diagonal block upon which the QR sweep is to be @@ -72,6 +79,7 @@ * calling procedure. LDH.GE.MAX(1,N). * * ILOZ (input) INTEGER +* * IHIZ (input) INTEGER * Specify the rows of Z to which transformations must be * applied if WANTZ is .TRUE.. 1 .LE. ILOZ .LE. IHIZ .LE. N @@ -120,12 +128,12 @@ * LDWV is the leading dimension of WV as declared in the * in the calling subroutine. LDWV.GE.NV. * -* ================================================================ +* ================================================================ * Based on contributions by * Karen Braman and Ralph Byers, Department of Mathematics, * University of Kansas, USA * -* ================================================================ +* ================================================================ * Reference: * * K. Braman, R. Byers and R. Mathias, The Multi-Shift QR @@ -133,7 +141,7 @@ * Level 3 Performance, SIAM Journal of Matrix Analysis, * volume 23, pages 929--947, 2002. * -* ================================================================ +* ================================================================ * .. Parameters .. COMPLEX*16 ZERO, ONE PARAMETER ( ZERO = ( 0.0d0, 0.0d0 ), diff --git a/SRC/zlarf.f b/SRC/zlarf.f index cdfd2225..f29d6da4 100644 --- a/SRC/zlarf.f +++ b/SRC/zlarf.f @@ -93,8 +93,8 @@ LASTV = 0 LASTC = 0 IF( TAU.NE.ZERO ) THEN -! Set up variables for scanning V. LASTV begins pointing to the end -! of V. +* Set up variables for scanning V. LASTV begins pointing to the end +* of V. IF( APPLYLEFT ) THEN LASTV = M ELSE @@ -105,21 +105,21 @@ ELSE I = 1 END IF -! Look for the last non-zero row in V. +* Look for the last non-zero row in V. DO WHILE( LASTV.GT.0 .AND. V( I ).EQ.ZERO ) LASTV = LASTV - 1 I = I - INCV END DO IF( APPLYLEFT ) THEN -! Scan for the last non-zero column in C(1:lastv,:). +* Scan for the last non-zero column in C(1:lastv,:). LASTC = ILAZLC(LASTV, N, C, LDC) ELSE -! Scan for the last non-zero row in C(:,1:lastv). +* Scan for the last non-zero row in C(:,1:lastv). LASTC = ILAZLR(M, LASTV, C, LDC) END IF END IF -! Note that lastc.eq.0 renders the BLAS operations null; no special -! case is needed at this level. +* Note that lastc.eq.0 renders the BLAS operations null; no special +* case is needed at this level. IF( APPLYLEFT ) THEN * * Form H * C diff --git a/SRC/zlargv.f b/SRC/zlargv.f index ec270bce..f097cb13 100644 --- a/SRC/zlargv.f +++ b/SRC/zlargv.f @@ -57,7 +57,7 @@ * The increment between elements of C. INCC > 0. * * Further Details -* ======= ======= +* =============== * * 6-6-96 - Modified with a new algorithm by W. Kahan and J. Demmel * diff --git a/SRC/zlarrv.f b/SRC/zlarrv.f index dfb3b239..395a0f80 100644 --- a/SRC/zlarrv.f +++ b/SRC/zlarrv.f @@ -35,6 +35,7 @@ * The order of the matrix. N >= 0. * * VL (input) DOUBLE PRECISION +* * VU (input) DOUBLE PRECISION * Lower and upper bounds of the interval that contains the desired * eigenvalues. VL < VU. Needed to compute gaps on the left or right @@ -64,6 +65,7 @@ * The total number of input eigenvalues. 0 <= M <= N. * * DOL (input) INTEGER +* * DOU (input) INTEGER * If the user wants to compute only selected eigenvectors from all * the eigenvalues supplied, he can specify an index range DOL:DOU. @@ -77,6 +79,7 @@ * MINRGP (input) DOUBLE PRECISION * * RTOL1 (input) DOUBLE PRECISION +* * RTOL2 (input) DOUBLE PRECISION * Parameters for bisection. * An interval [LEFT,RIGHT] has converged if diff --git a/SRC/zlascl.f b/SRC/zlascl.f index e9afdfd9..f69159b9 100644 --- a/SRC/zlascl.f +++ b/SRC/zlascl.f @@ -50,6 +50,7 @@ * 'Q' or 'Z'. * * CFROM (input) DOUBLE PRECISION +* * CTO (input) DOUBLE PRECISION * The matrix A is multiplied by CTO/CFROM. A(I,J) is computed * without over/underflow if the final result CTO*A(I,J)/CFROM diff --git a/SRC/zlatbs.f b/SRC/zlatbs.f index 7f467df0..80fb1099 100644 --- a/SRC/zlatbs.f +++ b/SRC/zlatbs.f @@ -101,7 +101,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, ZTBSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/zlatps.f b/SRC/zlatps.f index 0d70f5a3..3e47d6c1 100644 --- a/SRC/zlatps.f +++ b/SRC/zlatps.f @@ -95,7 +95,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, ZTPSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/zlatrs.f b/SRC/zlatrs.f index 26ad436b..19daca18 100644 --- a/SRC/zlatrs.f +++ b/SRC/zlatrs.f @@ -100,7 +100,7 @@ * < 0: if INFO = -k, the k-th argument had an illegal value * * Further Details -* ======= ======= +* =============== * * A rough bound on x is computed; if that is less than overflow, ZTRSV * is called, otherwise, specific code is used which checks for possible diff --git a/SRC/zporfsx.f b/SRC/zporfsx.f index 04ff87aa..553b3991 100644 --- a/SRC/zporfsx.f +++ b/SRC/zporfsx.f @@ -27,7 +27,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * ZPORFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -290,7 +290,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zposvxx.f b/SRC/zposvxx.f index a6a25031..155278e9 100644 --- a/SRC/zposvxx.f +++ b/SRC/zposvxx.f @@ -27,7 +27,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * ZPOSVXX uses the Cholesky factorization A = U**T*U or A = L*L**T @@ -50,8 +50,8 @@ * user-provided factorizations and equilibration factors if they * differ from what ZPOSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -90,8 +90,8 @@ * diag(S) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -381,7 +381,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zsyconv.f b/SRC/zsyconv.f index 43cae75c..91752637 100644 --- a/SRC/zsyconv.f +++ b/SRC/zsyconv.f @@ -1,7 +1,6 @@ SUBROUTINE ZSYCONV( UPLO, WAY, N, A, LDA, IPIV, WORK, INFO ) * * -- LAPACK PROTOTYPE routine (version 3.2.2) -- -* * -- Written by Julie Langou of the Univ. of TN -- * May 2010 * @@ -32,7 +31,7 @@ * as an upper or lower triangular matrix. * = 'U': Upper triangular, form is A = U*D*U**T; * = 'L': Lower triangular, form is A = L*D*L**T. -* +* * WAY (input) CHARACTER*1 * = 'C': Convert * = 'R': Revert diff --git a/SRC/zsyrfsx.f b/SRC/zsyrfsx.f index 95213ec2..701cd55c 100644 --- a/SRC/zsyrfsx.f +++ b/SRC/zsyrfsx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ) * .. * -* Purpose +* Purpose * ======= * * ZSYRFSX improves the computed solution to a system of linear @@ -43,8 +43,8 @@ * below. In this case, the solution and error bounds returned are * for the original unequilibrated system. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -296,7 +296,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/zsysvxx.f b/SRC/zsysvxx.f index a2bb288a..33b90b70 100644 --- a/SRC/zsysvxx.f +++ b/SRC/zsysvxx.f @@ -28,7 +28,7 @@ $ ERR_BNDS_COMP( NRHS, * ), RWORK( * ) * .. * -* Purpose +* Purpose * ======= * * ZSYSVXX uses the diagonal pivoting factorization to compute the @@ -51,8 +51,8 @@ * user-provided factorizations and equilibration factors if they * differ from what ZSYSVXX would itself produce. * -* Description -* =========== +* Description +* =========== * * The following steps are performed: * @@ -94,8 +94,8 @@ * diag(R) so that it solves the original system before * equilibration. * -* Arguments -* ========= +* Arguments +* ========= * * Some optional parameters are bundled in the PARAMS array. These * settings determine how refinement is performed, but often the @@ -391,7 +391,7 @@ * about all of the right-hand sides check ERR_BNDS_NORM or * ERR_BNDS_COMP. * -* ================================================================== +* ================================================================== * * .. Parameters .. DOUBLE PRECISION ZERO, ONE diff --git a/SRC/ztgexc.f b/SRC/ztgexc.f index ca26a797..e534f64f 100644 --- a/SRC/ztgexc.f +++ b/SRC/ztgexc.f @@ -79,6 +79,7 @@ * If WANTZ = .TRUE., LDZ >= N. * * IFST (input) INTEGER +* * ILST (input/output) INTEGER * Specify the reordering of the diagonal blocks of (A, B). * The block with row index IFST is moved to row ILST, by a |