* Definition:
* ===========
*
-* SUBROUTINE CLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
+* SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
* INFO, PATH)
*
* .. Scalar Arguments ..
-* INTEGER T, N, NRHS, LDA, LDX, LDB, INFO
+* INTEGER N, NRHS, LDA, LDX, LDB, INFO
* .. Array Arguments ..
* REAL WORK(N)
* COMPLEX A(LDA,N), X(LDX, NRHS), B(LDB, NRHS)
*>
*> \param[in] NRHS
*> \verbatim
-*> NRHS is NRHS
+*> NRHS is INTEGER
*> The requested number of right-hand sides.
*> \endverbatim
*>
*> \ingroup complex_lin
*
* =====================================================================
- SUBROUTINE CLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
+ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
$ INFO, PATH)
*
* -- LAPACK test routine (version 3.7.0) --
* December 2016
*
* .. Scalar Arguments ..
- INTEGER T, N, NRHS, LDA, LDX, LDB, INFO
+ INTEGER N, NRHS, LDA, LDX, LDB, INFO
* .. Array Arguments ..
REAL WORK(N)
COMPLEX A(LDA,N), X(LDX, NRHS), B(LDB, NRHS)
END DO
*
* Generate the scaled Hilbert matrix in A
-* If we are testing SY routines, take D1_i = D2_i, else, D1_i = D2_i*
+* If we are testing SY routines, take
+* D1_i = D2_i, else, D1_i = D2_i*
IF ( LSAMEN( 2, C2, 'SY' ) ) THEN
DO J = 1, N
DO I = 1, N
WORK(J) = ( ( (WORK(J-1)/(J-1)) * (J-1 - N) ) /(J-1) )
$ * (N +J -1)
END DO
-*
-* If we are testing SY routines, take D1_i = D2_i, else, D1_i = D2_i*
+
+* If we are testing SY routines,
+* take D1_i = D2_i, else, D1_i = D2_i*
IF ( LSAMEN( 2, C2, 'SY' ) ) THEN
DO J = 1, NRHS
DO I = 1, N
* Definition:
* ===========
*
-* SUBROUTINE DLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
+* SUBROUTINE DLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
*
* .. Scalar Arguments ..
* INTEGER N, NRHS, LDA, LDX, LDB, INFO
*>
*> \param[in] NRHS
*> \verbatim
-*> NRHS is NRHS
+*> NRHS is INTEGER
*> The requested number of right-hand sides.
*> \endverbatim
*>
*> \ingroup double_lin
*
* =====================================================================
- SUBROUTINE DLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
+ SUBROUTINE DLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
*
* -- LAPACK test routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
INTEGER TM, TI, R
INTEGER M
INTEGER I, J
- COMPLEX*16 TMP
* ..
* .. Parameters ..
* NMAX_EXACT the largest dimension where the generated data is
*
* Generate matrix B as simply the first NRHS columns of M * the
* identity.
- TMP = DBLE(M)
- CALL DLASET('Full', N, NRHS, 0.0D+0, TMP, B, LDB)
-*
+ CALL DLASET('Full', N, NRHS, 0.0D+0, DBLE(M), B, LDB)
+
* Generate the true solutions in X. Because B = the first NRHS
* columns of M*I, the true solutions are just the first NRHS columns
* of the inverse Hilbert matrix.
* Definition:
* ===========
*
-* SUBROUTINE SLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
+* SUBROUTINE SLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
*
* .. Scalar Arguments ..
* INTEGER N, NRHS, LDA, LDX, LDB, INFO
*>
*> \param[in] NRHS
*> \verbatim
-*> NRHS is NRHS
+*> NRHS is INTEGER
*> The requested number of right-hand sides.
*> \endverbatim
*>
*> \ingroup single_lin
*
* =====================================================================
- SUBROUTINE SLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
+ SUBROUTINE SLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK, INFO)
*
* -- LAPACK test routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* Definition:
* ===========
*
-* SUBROUTINE ZLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
+* SUBROUTINE ZLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
* INFO, PATH)
*
* .. Scalar Arguments ..
*>
*> \param[in] NRHS
*> \verbatim
-*> NRHS is NRHS
+*> NRHS is INTEGER
*> The requested number of right-hand sides.
*> \endverbatim
*>
*> \ingroup complex16_lin
*
* =====================================================================
- SUBROUTINE ZLAHILB(N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
+ SUBROUTINE ZLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
$ INFO, PATH)
*
* -- LAPACK test routine (version 3.7.0) --
END DO
*
* Generate the scaled Hilbert matrix in A
-* If we are testing SY routines, take D1_i = D2_i, else, D1_i = D2_i*
+* If we are testing SY routines,
+* take D1_i = D2_i, else, D1_i = D2_i*
IF ( LSAMEN( 2, C2, 'SY' ) ) THEN
DO J = 1, N
DO I = 1, N
WORK(J) = ( ( (WORK(J-1)/(J-1)) * (J-1 - N) ) /(J-1) )
$ * (N +J -1)
END DO
-*
-* If we are testing SY routines, take D1_i = D2_i, else, D1_i = D2_i*
+
+* If we are testing SY routines,
+* take D1_i = D2_i, else, D1_i = D2_i*
IF ( LSAMEN( 2, C2, 'SY' ) ) THEN
DO J = 1, NRHS
DO I = 1, N
INTEGER I, J
COMPLEX TMP
CHARACTER*2 C2
-
+* ..
* .. Parameters ..
* NMAX_EXACT the largest dimension where the generated data is
* exact.
* ??? complex uses how many bits ???
INTEGER NMAX_EXACT, NMAX_APPROX, SIZE_D
PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11, SIZE_D = 8)
-
+*
* d's are generated from random permuation of those eight elements.
COMPLEX D1(8), D2(8), INVD1(8), INVD2(8)
DATA D1 /(-1,0),(0,1),(-1,-1),(0,-1),(1,0),(-1,1),(1,1),(1,-1)/
$ (-.5,-.5),(.5,-.5),(.5,.5)/
DATA INVD2 /(-1,0),(0,1),(-.5,-.5),(0,-1),(1,0),
$ (-.5,.5),(.5,.5),(.5,-.5)/
-
* ..
* .. External Functions
EXTERNAL CLASET, LSAMEN
IF (N .GT. NMAX_EXACT) THEN
INFO = 1
END IF
-
+*
* Compute M = the LCM of the integers [1, 2*N-1]. The largest
* reasonable N is small enough that integers suffice (up to N = 11).
M = 1
END DO
M = (M / TI) * I
END DO
-
+*
* Generate the scaled Hilbert matrix in A
* If we are testing SY routines, take
* D1_i = D2_i, else, D1_i = D2_i*
END DO
END DO
END IF
-
+*
* Generate matrix B as simply the first NRHS columns of M * the
* identity.
TMP = REAL(M)
CALL CLASET('Full', N, NRHS, (0.0,0.0), TMP, B, LDB)
-
+*
* Generate the true solutions in X. Because B = the first NRHS
* columns of M*I, the true solutions are just the first NRHS columns
* of the inverse Hilbert matrix.
-C> \brief \b DLAHILB
+*> \brief \b DLAHILB
*
* =========== DOCUMENTATION ===========
*
INTEGER TM, TI, R
INTEGER M
INTEGER I, J
-
+* ..
* .. Parameters ..
* NMAX_EXACT the largest dimension where the generated data is
* exact.
IF (N .GT. NMAX_EXACT) THEN
INFO = 1
END IF
-
+*
* Compute M = the LCM of the integers [1, 2*N-1]. The largest
* reasonable N is small enough that integers suffice (up to N = 11).
M = 1
END DO
M = (M / TI) * I
END DO
-
+*
* Generate the scaled Hilbert matrix in A
DO J = 1, N
DO I = 1, N
A(I, J) = DBLE(M) / (I + J - 1)
END DO
END DO
-
+*
* Generate matrix B as simply the first NRHS columns of M * the
* identity.
CALL DLASET('Full', N, NRHS, 0.0D+0, DBLE(M), B, LDB)
WORK(J) = ( ( (WORK(J-1)/(J-1)) * (J-1 - N) ) /(J-1) )
$ * (N +J -1)
END DO
-
+*
DO J = 1, NRHS
DO I = 1, N
X(I, J) = (WORK(I)*WORK(J)) / (I + J - 1)
END DO
END DO
-
+*
END
INTEGER TM, TI, R
INTEGER M
INTEGER I, J
-
+* ..
* .. Parameters ..
* NMAX_EXACT the largest dimension where the generated data is
* exact.
* a small componentwise relative error.
INTEGER NMAX_EXACT, NMAX_APPROX
PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11)
-
* ..
* .. External Functions
EXTERNAL SLASET
IF (N .GT. NMAX_EXACT) THEN
INFO = 1
END IF
-
+*
* Compute M = the LCM of the integers [1, 2*N-1]. The largest
* reasonable N is small enough that integers suffice (up to N = 11).
M = 1
END DO
M = (M / TI) * I
END DO
-
+*
* Generate the scaled Hilbert matrix in A
DO J = 1, N
DO I = 1, N
A(I, J) = REAL(M) / (I + J - 1)
END DO
END DO
-
+*
* Generate matrix B as simply the first NRHS columns of M * the
* identity.
CALL SLASET('Full', N, NRHS, 0.0, REAL(M), B, LDB)
-
+*
* Generate the true solutions in X. Because B = the first NRHS
* columns of M*I, the true solutions are just the first NRHS columns
* of the inverse Hilbert matrix.
WORK(J) = ( ( (WORK(J-1)/(J-1)) * (J-1 - N) ) /(J-1) )
$ * (N +J -1)
END DO
-
+*
DO J = 1, NRHS
DO I = 1, N
X(I, J) = (WORK(I)*WORK(J)) / (I + J - 1)
END DO
END DO
-
+*
END
INTEGER I, J
COMPLEX*16 TMP
CHARACTER*2 C2
-
+* ..
* .. Parameters ..
* NMAX_EXACT the largest dimension where the generated data is
* exact.
* ??? complex uses how many bits ???
INTEGER NMAX_EXACT, NMAX_APPROX, SIZE_D
PARAMETER (NMAX_EXACT = 6, NMAX_APPROX = 11, SIZE_D = 8)
-
+*
* d's are generated from random permuation of those eight elements.
COMPLEX*16 d1(8), d2(8), invd1(8), invd2(8)
DATA D1 /(-1,0),(0,1),(-1,-1),(0,-1),(1,0),(-1,1),(1,1),(1,-1)/
IF (N .GT. NMAX_EXACT) THEN
INFO = 1
END IF
-
+*
* Compute M = the LCM of the integers [1, 2*N-1]. The largest
* reasonable N is small enough that integers suffice (up to N = 11).
M = 1
END DO
M = (M / TI) * I
END DO
-
+*
* Generate the scaled Hilbert matrix in A
* If we are testing SY routines,
* take D1_i = D2_i, else, D1_i = D2_i*
END DO
END DO
END IF
-
+*
* Generate matrix B as simply the first NRHS columns of M * the
* identity.
TMP = DBLE(M)
CALL ZLASET('Full', N, NRHS, (0.0D+0,0.0D+0), TMP, B, LDB)
-
+*
* Generate the true solutions in X. Because B = the first NRHS
* columns of M*I, the true solutions are just the first NRHS columns
* of the inverse Hilbert matrix.