| @@ -433,9 +433,9 @@ | |||||
| * block factorization, LWORK is the length of AINV. | * block factorization, LWORK is the length of AINV. | ||||
| * | * | ||||
| SRNAMT = 'CHETRF_AA_2STAGE' | SRNAMT = 'CHETRF_AA_2STAGE' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| CALL CHETRF_AA_2STAGE( UPLO, N, AFAC, LDA, | |||||
| $ AINV, (3*NB+1)*N, | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX) | |||||
| CALL CHETRF_AA_2STAGE( UPLO, N, AFAC, LDA, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ WORK, LWORK, | $ WORK, LWORK, | ||||
| $ INFO ) | $ INFO ) | ||||
| @@ -517,7 +517,6 @@ c NT = 1 | |||||
| CALL CLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) | CALL CLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) | ||||
| * | * | ||||
| SRNAMT = 'CHETRS_AA_2STAGE' | SRNAMT = 'CHETRS_AA_2STAGE' | ||||
| LWORK = MAX( 1, 3*N-2 ) | |||||
| CALL CHETRS_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | CALL CHETRS_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, IWORK, IWORK( 1+N ), | $ AINV, (3*NB+1)*N, IWORK, IWORK( 1+N ), | ||||
| $ X, LDA, INFO ) | $ X, LDA, INFO ) | ||||
| @@ -400,9 +400,9 @@ | |||||
| * Factor the matrix and solve the system using CHESV_AA. | * Factor the matrix and solve the system using CHESV_AA. | ||||
| * | * | ||||
| SRNAMT = 'CHESV_AA_2STAGE ' | SRNAMT = 'CHESV_AA_2STAGE ' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX) | |||||
| CALL CHESV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | CALL CHESV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ X, LDA, WORK, LWORK, INFO ) | $ X, LDA, WORK, LWORK, INFO ) | ||||
| * | * | ||||
| @@ -421,9 +421,9 @@ | |||||
| * block factorization, LWORK is the length of AINV. | * block factorization, LWORK is the length of AINV. | ||||
| * | * | ||||
| SRNAMT = 'DSYTRF_AA_2STAGE' | SRNAMT = 'DSYTRF_AA_2STAGE' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX ) | |||||
| CALL DSYTRF_AA_2STAGE( UPLO, N, AFAC, LDA, | CALL DSYTRF_AA_2STAGE( UPLO, N, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ WORK, LWORK, | $ WORK, LWORK, | ||||
| $ INFO ) | $ INFO ) | ||||
| @@ -503,7 +503,6 @@ c NT = 1 | |||||
| CALL DLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) | CALL DLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) | ||||
| * | * | ||||
| SRNAMT = 'DSYTRS_AA_2STAGE' | SRNAMT = 'DSYTRS_AA_2STAGE' | ||||
| LWORK = MAX( 1, 3*N-2 ) | |||||
| CALL DSYTRS_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | CALL DSYTRS_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, IWORK, IWORK( 1+N ), | $ AINV, (3*NB+1)*N, IWORK, IWORK( 1+N ), | ||||
| $ X, LDA, INFO ) | $ X, LDA, INFO ) | ||||
| @@ -400,9 +400,9 @@ | |||||
| * Factor the matrix and solve the system using DSYSV_AA. | * Factor the matrix and solve the system using DSYSV_AA. | ||||
| * | * | ||||
| SRNAMT = 'DSYSV_AA_2STAGE ' | SRNAMT = 'DSYSV_AA_2STAGE ' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX ) | |||||
| CALL DSYSV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | CALL DSYSV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ X, LDA, WORK, LWORK, INFO ) | $ X, LDA, WORK, LWORK, INFO ) | ||||
| * | * | ||||
| @@ -423,9 +423,9 @@ | |||||
| * block factorization, LWORK is the length of AINV. | * block factorization, LWORK is the length of AINV. | ||||
| * | * | ||||
| SRNAMT = 'SSYTRF_AA_2STAGE' | SRNAMT = 'SSYTRF_AA_2STAGE' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX ) | |||||
| CALL SSYTRF_AA_2STAGE( UPLO, N, AFAC, LDA, | CALL SSYTRF_AA_2STAGE( UPLO, N, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ WORK, LWORK, | $ WORK, LWORK, | ||||
| $ INFO ) | $ INFO ) | ||||
| @@ -505,7 +505,6 @@ | |||||
| CALL SLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) | CALL SLACPY( 'Full', N, NRHS, B, LDA, X, LDA ) | ||||
| * | * | ||||
| SRNAMT = 'SSYTRS_AA_2STAGE' | SRNAMT = 'SSYTRS_AA_2STAGE' | ||||
| LWORK = MAX( 1, 3*N-2 ) | |||||
| CALL SSYTRS_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | CALL SSYTRS_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, IWORK, IWORK( 1+N ), | $ AINV, (3*NB+1)*N, IWORK, IWORK( 1+N ), | ||||
| $ X, LDA, INFO ) | $ X, LDA, INFO ) | ||||
| @@ -400,9 +400,9 @@ | |||||
| * Factor the matrix and solve the system using SSYSV_AA. | * Factor the matrix and solve the system using SSYSV_AA. | ||||
| * | * | ||||
| SRNAMT = 'SSYSV_AA_2STAGE ' | SRNAMT = 'SSYSV_AA_2STAGE ' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX ) | |||||
| CALL SSYSV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | CALL SSYSV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ X, LDA, WORK, LWORK, INFO ) | $ X, LDA, WORK, LWORK, INFO ) | ||||
| * | * | ||||
| @@ -8,7 +8,7 @@ | |||||
| * Definition: | * Definition: | ||||
| * =========== | * =========== | ||||
| * | * | ||||
| * SUBROUTINE ZCHKHE_AA_2STAGE( DOTYPE, NN, NVAL, NNB, NBVAL, | |||||
| * SUBROUTINE ZCHKHE_AA_2STAGE( DOTYPE, NN, NVAL, NNB, NBVAL, | |||||
| * NNS, NSVAL, THRESH, TSTERR, NMAX, A, | * NNS, NSVAL, THRESH, TSTERR, NMAX, A, | ||||
| * AFAC, AINV, B, X, XACT, WORK, RWORK, | * AFAC, AINV, B, X, XACT, WORK, RWORK, | ||||
| * IWORK, NOUT ) | * IWORK, NOUT ) | ||||
| @@ -185,7 +185,8 @@ | |||||
| LOGICAL DOTYPE( * ) | LOGICAL DOTYPE( * ) | ||||
| INTEGER IWORK( * ), NBVAL( * ), NSVAL( * ), NVAL( * ) | INTEGER IWORK( * ), NBVAL( * ), NSVAL( * ), NVAL( * ) | ||||
| COMPLEX*16 A( * ), AFAC( * ), AINV( * ), B( * ), | COMPLEX*16 A( * ), AFAC( * ), AINV( * ), B( * ), | ||||
| $ RWORK( * ), WORK( * ), X( * ), XACT( * ) | |||||
| $ WORK( * ), X( * ), XACT( * ) | |||||
| DOUBLE PRECISION RWORK( * ) | |||||
| * .. | * .. | ||||
| * | * | ||||
| * ===================================================================== | * ===================================================================== | ||||
| @@ -430,9 +431,9 @@ | |||||
| * block factorization, LWORK is the length of AINV. | * block factorization, LWORK is the length of AINV. | ||||
| * | * | ||||
| SRNAMT = 'ZHETRF_AA_2STAGE' | SRNAMT = 'ZHETRF_AA_2STAGE' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| CALL ZHETRF_AA_2STAGE( UPLO, N, AFAC, LDA, | |||||
| $ AINV, (3*NB+1)*N, | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX ) | |||||
| CALL ZHETRF_AA_2STAGE( UPLO, N, AFAC, LDA, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ WORK, LWORK, | $ WORK, LWORK, | ||||
| $ INFO ) | $ INFO ) | ||||
| @@ -400,9 +400,9 @@ | |||||
| * Factor the matrix and solve the system using ZHESV_AA. | * Factor the matrix and solve the system using ZHESV_AA. | ||||
| * | * | ||||
| SRNAMT = 'ZHESV_AA_2STAGE ' | SRNAMT = 'ZHESV_AA_2STAGE ' | ||||
| LWORK = MIN(N*NB, 3*NMAX*NMAX) | |||||
| LWORK = MIN( MAX( 1, N*NB ), 3*NMAX*NMAX ) | |||||
| CALL ZHESV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | CALL ZHESV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA, | ||||
| $ AINV, (3*NB+1)*N, | |||||
| $ AINV, MAX( 1, (3*NB+1)*N ), | |||||
| $ IWORK, IWORK( 1+N ), | $ IWORK, IWORK( 1+N ), | ||||
| $ X, LDA, WORK, LWORK, INFO ) | $ X, LDA, WORK, LWORK, INFO ) | ||||
| * | * | ||||