- SUBROUTINE DSYSWAPR( UPLO, N, A, I1, I2)
+ SUBROUTINE DSYSWAPR( UPLO, N, A, LDA, I1, I2)
*
* -- LAPACK auxiliary routine (version 3.3.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
*
* .. Scalar Arguments ..
CHARACTER UPLO
- INTEGER I1, I2, N
+ INTEGER I1, I2, LDA, N
* ..
* .. Array Arguments ..
- DOUBLE PRECISION A(N,N)
+ DOUBLE PRECISION A( LDA, N )
*
* Purpose
* =======
* 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
*
* LOWER
* first swap
* - swap row I1 and I2 from I1 to I1-1
- CALL DSWAP( I1-1, A(I1,1), N, A(I2,1), N )
+ CALL DSWAP( I1-1, A(I1,1), LDA, A(I2,1), LDA )
*
* second swap :
* - swap A(I1,I1) and A(I2,I2)
DO WHILE ( I .LE. N )
IF( IPIV(I) .GT. 0 ) THEN
IP=IPIV(I)
- IF (I .LT. IP) CALL DSYSWAPR( UPLO, N, A, I ,IP )
- IF (I .GT. IP) CALL DSYSWAPR( UPLO, N, A, IP ,I )
+ IF (I .LT. IP) CALL DSYSWAPR( UPLO, N, A, LDA, I ,IP )
+ IF (I .GT. IP) CALL DSYSWAPR( UPLO, N, A, LDA, IP ,I )
ELSE
IP=-IPIV(I)
I=I+1
IF ( (I-1) .LT. IP)
- $ CALL DSYSWAPR( UPLO, N, A, I-1 ,IP )
+ $ CALL DSYSWAPR( UPLO, N, A, LDA, I-1 ,IP )
IF ( (I-1) .GT. IP)
- $ CALL DSYSWAPR( UPLO, N, A, IP ,I-1 )
+ $ CALL DSYSWAPR( UPLO, N, A, LDA, IP ,I-1 )
ENDIF
I=I+1
END DO
DO WHILE ( I .GE. 1 )
IF( IPIV(I) .GT. 0 ) THEN
IP=IPIV(I)
- IF (I .LT. IP) CALL DSYSWAPR( UPLO, N, A, I ,IP )
- IF (I .GT. IP) CALL DSYSWAPR( UPLO, N, A, IP ,I )
+ IF (I .LT. IP) CALL DSYSWAPR( UPLO, N, A, LDA, I ,IP )
+ IF (I .GT. IP) CALL DSYSWAPR( UPLO, N, A, LDA, IP ,I )
ELSE
IP=-IPIV(I)
- IF ( I .LT. IP) CALL DSYSWAPR( UPLO, N, A, I ,IP )
- IF ( I .GT. IP) CALL DSYSWAPR( UPLO, N, A, IP ,I )
+ IF ( I .LT. IP) CALL DSYSWAPR( UPLO, N, A, LDA, I ,IP )
+ IF ( I .GT. IP) CALL DSYSWAPR( UPLO, N, A, LDA, IP ,I )
I=I-1
ENDIF
I=I-1