diff options
author | langou <langou@users.noreply.github.com> | 2011-01-26 14:02:05 +0000 |
---|---|---|
committer | langou <langou@users.noreply.github.com> | 2011-01-26 14:02:05 +0000 |
commit | 890ff5ee9c7fd351957abd45b6c64990b4c7759d (patch) | |
tree | cfd4d8feb85994e4067b38c235764e4bd96fb1ee /SRC/zsyswapr.f | |
parent | 99c4971bd83367bd650ca2c39199aa9fa22b1141 (diff) | |
download | lapack-890ff5ee9c7fd351957abd45b6c64990b4c7759d.tar.gz lapack-890ff5ee9c7fd351957abd45b6c64990b4c7759d.tar.bz2 lapack-890ff5ee9c7fd351957abd45b6c64990b4c7759d.zip |
1) Je viens de modifier le fichier timer_dsytri2.c de telle sorte a ce qu'il
traite les matrices avec des lda.
Exemple:
> gfortran timer_dsytri2.c /Users/langou/Documents/lapack-dev-trunk.svn/lapack_LINUX.a -framework vecLib
> ./a.out -U -lda 1079 -n 100
DSYTRI2 info=0, check=1.891597e-14
Dispo dans ldlt.git. Marche bien. Upper ou Lower. LDA different de N ou pas. Le
check est
|| A . inv(A) - I || / || A ||
(Je pense que il faut diviser par || A || * || inv(A) ||, pas tres important.)
2) Du coup, dans ce commit, je rectifie tous les codes. Cela compile. Je n'ai
pas verifie les testings. Je n'ai pas ecrit de driver pour verifier. (Le driver
n'est que pour la version DOUBLE.)
JL
Diffstat (limited to 'SRC/zsyswapr.f')
-rw-r--r-- | SRC/zsyswapr.f | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/SRC/zsyswapr.f b/SRC/zsyswapr.f index 64b0807b..ffc6d59e 100644 --- a/SRC/zsyswapr.f +++ b/SRC/zsyswapr.f @@ -1,4 +1,4 @@ - SUBROUTINE ZSYSWAPR( UPLO, N, A, I1, I2) + SUBROUTINE ZSYSWAPR( UPLO, N, A, LDA, I1, I2) * * -- LAPACK auxiliary routine (version 3.3.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- @@ -7,10 +7,10 @@ * * .. Scalar Arguments .. CHARACTER UPLO - INTEGER I1, I2, N + INTEGER I1, I2, LDA, N * .. * .. Array Arguments .. - DOUBLE COMPLEX A(N,N) + DOUBLE COMPLEX A( LDA, N ) * * Purpose * ======= @@ -41,6 +41,9 @@ * inverse is formed and the part of A above the diagonal is * not referenced. * +* LDA (input) INTEGER +* The leading dimension of the array A. LDA >= max(1,N). +* * I1 (input) INTEGER * Index of the first row to swap * @@ -98,7 +101,7 @@ * LOWER * first swap * - swap row I1 and I2 from I1 to I1-1 - CALL ZSWAP( I1-1, A(I1,1), N, A(I2,1), N ) + CALL ZSWAP( I1-1, A(I1,1), LDA, A(I2,1), LDA ) * * second swap : * - swap A(I1,I1) and A(I2,I2) |