Skip to content

Commit 8e4ad31

Browse files
committed
Use potrf2 in Cholesky variants
Replace the scalar potf2 with the recursive potrf2 implementation. The latter is already used in the default Cholesky factorization.
1 parent 129637e commit 8e4ad31

File tree

8 files changed

+32
-32
lines changed

8 files changed

+32
-32
lines changed

SRC/VARIANTS/cholesky/RL/cpotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
129129
EXTERNAL LSAME, ILAENV
130130
* ..
131131
* .. External Subroutines ..
132-
EXTERNAL CGEMM, CPOTF2, CHERK, CTRSM, XERBLA
132+
EXTERNAL CGEMM, CHERK, CPOTRF2, CTRSM, XERBLA
133133
* ..
134134
* .. Intrinsic Functions ..
135135
INTRINSIC MAX, MIN
@@ -164,7 +164,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
164164
*
165165
* Use unblocked code.
166166
*
167-
CALL CPOTF2( UPLO, N, A, LDA, INFO )
167+
CALL CPOTRF2( UPLO, N, A, LDA, INFO )
168168
ELSE
169169
*
170170
* Use blocked code.
@@ -180,7 +180,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
180180
*
181181
JB = MIN( NB, N-J+1 )
182182

183-
CALL CPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
183+
CALL CPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
184184

185185
IF( INFO.NE.0 )
186186
$ GO TO 30
@@ -209,7 +209,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
209209
*
210210
JB = MIN( NB, N-J+1 )
211211

212-
CALL CPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
212+
CALL CPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
213213

214214
IF( INFO.NE.0 )
215215
$ GO TO 30

SRC/VARIANTS/cholesky/RL/dpotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
128128
EXTERNAL LSAME, ILAENV
129129
* ..
130130
* .. External Subroutines ..
131-
EXTERNAL DGEMM, DPOTF2, DSYRK, DTRSM, XERBLA
131+
EXTERNAL DGEMM, DPOTRF2, DSYRK, DTRSM, XERBLA
132132
* ..
133133
* .. Intrinsic Functions ..
134134
INTRINSIC MAX, MIN
@@ -163,7 +163,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
163163
*
164164
* Use unblocked code.
165165
*
166-
CALL DPOTF2( UPLO, N, A, LDA, INFO )
166+
CALL DPOTRF2( UPLO, N, A, LDA, INFO )
167167
ELSE
168168
*
169169
* Use blocked code.
@@ -179,7 +179,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
179179
*
180180
JB = MIN( NB, N-J+1 )
181181

182-
CALL DPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
182+
CALL DPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
183183

184184
IF( INFO.NE.0 )
185185
$ GO TO 30
@@ -208,7 +208,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
208208
*
209209
JB = MIN( NB, N-J+1 )
210210

211-
CALL DPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
211+
CALL DPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
212212

213213
IF( INFO.NE.0 )
214214
$ GO TO 30

SRC/VARIANTS/cholesky/RL/spotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
128128
EXTERNAL LSAME, ILAENV
129129
* ..
130130
* .. External Subroutines ..
131-
EXTERNAL SGEMM, SPOTF2, SSYRK, STRSM, XERBLA
131+
EXTERNAL SGEMM, SPOTRF2, SSYRK, STRSM, XERBLA
132132
* ..
133133
* .. Intrinsic Functions ..
134134
INTRINSIC MAX, MIN
@@ -163,7 +163,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
163163
*
164164
* Use unblocked code.
165165
*
166-
CALL SPOTF2( UPLO, N, A, LDA, INFO )
166+
CALL SPOTRF2( UPLO, N, A, LDA, INFO )
167167
ELSE
168168
*
169169
* Use blocked code.
@@ -179,7 +179,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
179179
*
180180
JB = MIN( NB, N-J+1 )
181181

182-
CALL SPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
182+
CALL SPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
183183

184184
IF( INFO.NE.0 )
185185
$ GO TO 30
@@ -208,7 +208,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
208208
*
209209
JB = MIN( NB, N-J+1 )
210210

211-
CALL SPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
211+
CALL SPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
212212

213213
IF( INFO.NE.0 )
214214
$ GO TO 30

SRC/VARIANTS/cholesky/RL/zpotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
129129
EXTERNAL LSAME, ILAENV
130130
* ..
131131
* .. External Subroutines ..
132-
EXTERNAL ZGEMM, ZPOTF2, ZHERK, ZTRSM, XERBLA
132+
EXTERNAL XERBLA, ZGEMM, ZHERK, ZPOTRF2, ZTRSM
133133
* ..
134134
* .. Intrinsic Functions ..
135135
INTRINSIC MAX, MIN
@@ -164,7 +164,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
164164
*
165165
* Use unblocked code.
166166
*
167-
CALL ZPOTF2( UPLO, N, A, LDA, INFO )
167+
CALL ZPOTRF2( UPLO, N, A, LDA, INFO )
168168
ELSE
169169
*
170170
* Use blocked code.
@@ -180,7 +180,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
180180
*
181181
JB = MIN( NB, N-J+1 )
182182

183-
CALL ZPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
183+
CALL ZPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
184184

185185
IF( INFO.NE.0 )
186186
$ GO TO 30
@@ -209,7 +209,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
209209
*
210210
JB = MIN( NB, N-J+1 )
211211

212-
CALL ZPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
212+
CALL ZPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
213213

214214
IF( INFO.NE.0 )
215215
$ GO TO 30

SRC/VARIANTS/cholesky/TOP/cpotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
129129
EXTERNAL LSAME, ILAENV
130130
* ..
131131
* .. External Subroutines ..
132-
EXTERNAL CGEMM, CPOTF2, CHERK, CTRSM, XERBLA
132+
EXTERNAL CGEMM, CHERK, CPOTRF2, CTRSM, XERBLA
133133
* ..
134134
* .. Intrinsic Functions ..
135135
INTRINSIC MAX, MIN
@@ -164,7 +164,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
164164
*
165165
* Use unblocked code.
166166
*
167-
CALL CPOTF2( UPLO, N, A, LDA, INFO )
167+
CALL CPOTRF2( UPLO, N, A, LDA, INFO )
168168
ELSE
169169
*
170170
* Use blocked code.
@@ -189,7 +189,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
189189
* Update and factorize the current diagonal block and test
190190
* for non-positive-definiteness.
191191
*
192-
CALL CPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
192+
CALL CPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
193193
IF( INFO.NE.0 )
194194
$ GO TO 30
195195

@@ -216,7 +216,7 @@ SUBROUTINE CPOTRF ( UPLO, N, A, LDA, INFO )
216216
* Update and factorize the current diagonal block and test
217217
* for non-positive-definiteness.
218218
*
219-
CALL CPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
219+
CALL CPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
220220
IF( INFO.NE.0 )
221221
$ GO TO 30
222222

SRC/VARIANTS/cholesky/TOP/dpotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
128128
EXTERNAL LSAME, ILAENV
129129
* ..
130130
* .. External Subroutines ..
131-
EXTERNAL DGEMM, DPOTF2, DSYRK, DTRSM, XERBLA
131+
EXTERNAL DGEMM, DPOTRF2, DSYRK, DTRSM, XERBLA
132132
* ..
133133
* .. Intrinsic Functions ..
134134
INTRINSIC MAX, MIN
@@ -163,7 +163,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
163163
*
164164
* Use unblocked code.
165165
*
166-
CALL DPOTF2( UPLO, N, A, LDA, INFO )
166+
CALL DPOTRF2( UPLO, N, A, LDA, INFO )
167167
ELSE
168168
*
169169
* Use blocked code.
@@ -189,7 +189,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
189189
* Update and factorize the current diagonal block and test
190190
* for non-positive-definiteness.
191191
*
192-
CALL DPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
192+
CALL DPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
193193
IF( INFO.NE.0 )
194194
$ GO TO 30
195195

@@ -217,7 +217,7 @@ SUBROUTINE DPOTRF ( UPLO, N, A, LDA, INFO )
217217
* Update and factorize the current diagonal block and test
218218
* for non-positive-definiteness.
219219
*
220-
CALL DPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
220+
CALL DPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
221221
IF( INFO.NE.0 )
222222
$ GO TO 30
223223

SRC/VARIANTS/cholesky/TOP/spotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
128128
EXTERNAL LSAME, ILAENV
129129
* ..
130130
* .. External Subroutines ..
131-
EXTERNAL SGEMM, SPOTF2, SSYRK, STRSM, XERBLA
131+
EXTERNAL SGEMM, SPOTRF2, SSYRK, STRSM, XERBLA
132132
* ..
133133
* .. Intrinsic Functions ..
134134
INTRINSIC MAX, MIN
@@ -163,7 +163,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
163163
*
164164
* Use unblocked code.
165165
*
166-
CALL SPOTF2( UPLO, N, A, LDA, INFO )
166+
CALL SPOTRF2( UPLO, N, A, LDA, INFO )
167167
ELSE
168168
*
169169
* Use blocked code.
@@ -189,7 +189,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
189189
* Update and factorize the current diagonal block and test
190190
* for non-positive-definiteness.
191191
*
192-
CALL SPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
192+
CALL SPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
193193
IF( INFO.NE.0 )
194194
$ GO TO 30
195195

@@ -216,7 +216,7 @@ SUBROUTINE SPOTRF ( UPLO, N, A, LDA, INFO )
216216
* Update and factorize the current diagonal block and test
217217
* for non-positive-definiteness.
218218
*
219-
CALL SPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
219+
CALL SPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
220220
IF( INFO.NE.0 )
221221
$ GO TO 30
222222

SRC/VARIANTS/cholesky/TOP/zpotrf.f

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
129129
EXTERNAL LSAME, ILAENV
130130
* ..
131131
* .. External Subroutines ..
132-
EXTERNAL ZGEMM, ZPOTF2, ZHERK, ZTRSM, XERBLA
132+
EXTERNAL XERBLA, ZGEMM, ZHERK, ZPOTRF2, ZTRSM
133133
* ..
134134
* .. Intrinsic Functions ..
135135
INTRINSIC MAX, MIN
@@ -164,7 +164,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
164164
*
165165
* Use unblocked code.
166166
*
167-
CALL ZPOTF2( UPLO, N, A, LDA, INFO )
167+
CALL ZPOTRF2( UPLO, N, A, LDA, INFO )
168168
ELSE
169169
*
170170
* Use blocked code.
@@ -189,7 +189,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
189189
* Update and factorize the current diagonal block and test
190190
* for non-positive-definiteness.
191191
*
192-
CALL ZPOTF2( 'Upper', JB, A( J, J ), LDA, INFO )
192+
CALL ZPOTRF2( 'Upper', JB, A( J, J ), LDA, INFO )
193193
IF( INFO.NE.0 )
194194
$ GO TO 30
195195

@@ -216,7 +216,7 @@ SUBROUTINE ZPOTRF ( UPLO, N, A, LDA, INFO )
216216
* Update and factorize the current diagonal block and test
217217
* for non-positive-definiteness.
218218
*
219-
CALL ZPOTF2( 'Lower', JB, A( J, J ), LDA, INFO )
219+
CALL ZPOTRF2( 'Lower', JB, A( J, J ), LDA, INFO )
220220
IF( INFO.NE.0 )
221221
$ GO TO 30
222222

0 commit comments

Comments
 (0)