summaryrefslogtreecommitdiff
path: root/SRC/chesv.f
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2010-09-30 06:58:55 +0000
committerjulie <julielangou@users.noreply.github.com>2010-09-30 06:58:55 +0000
commita4462006fa683e35a6105a0866245ede836387e4 (patch)
treeec9c05c54739040dd3c7534258ee166b7935ceac /SRC/chesv.f
parentf327dddb7f08d3738dc267f46b6fb06849b0a6a4 (diff)
downloadlapack-a4462006fa683e35a6105a0866245ede836387e4.tar.gz
lapack-a4462006fa683e35a6105a0866245ede836387e4.tar.bz2
lapack-a4462006fa683e35a6105a0866245ede836387e4.zip
Add hetrs2 for c and z, a Level BLAS 3 version of hetrs (same than rev 751)
Diffstat (limited to 'SRC/chesv.f')
-rw-r--r--SRC/chesv.f14
1 files changed, 11 insertions, 3 deletions
diff --git a/SRC/chesv.f b/SRC/chesv.f
index c2c19752..47d5f689 100644
--- a/SRC/chesv.f
+++ b/SRC/chesv.f
@@ -105,7 +105,7 @@
*
* .. Local Scalars ..
LOGICAL LQUERY
- INTEGER LWKOPT, NB
+ INTEGER IINFO, LWKOPT, NB
* ..
* .. External Functions ..
LOGICAL LSAME
@@ -113,7 +113,7 @@
EXTERNAL ILAENV, LSAME
* ..
* .. External Subroutines ..
- EXTERNAL CHETRF, CHETRS, XERBLA
+ EXTERNAL CHETRF, CHETRS2, CSYCONV, XERBLA
* ..
* .. Intrinsic Functions ..
INTRINSIC MAX
@@ -160,9 +160,17 @@
CALL CHETRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
IF( INFO.EQ.0 ) THEN
*
+* Convert A
+*
+ CALL CSYCONV( UPLO, 'C', N, A, LDA, IPIV, WORK, IINFO )
+*
* Solve the system A*X = B, overwriting B with X.
*
- CALL CHETRS( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO )
+ CALL CHETRS2( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO )
+*
+* Revert A
+*
+ CALL CSYCONV( UPLO, 'R', N, A, LDA, IPIV, WORK, IINFO )
*
END IF
*