version 1.4, 2018/05/29 07:18:25
|
version 1.5, 2020/05/21 21:46:07
|
Line 288
|
Line 288
|
* |
* |
* Swap A(I1, I2+1:N) with A(I2, I2+1:N) |
* Swap A(I1, I2+1:N) with A(I2, I2+1:N) |
* |
* |
CALL ZSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA, |
IF( I2.LT.M ) |
$ A( J1+I2-1, I2+1 ), LDA ) |
$ CALL ZSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA, |
|
$ A( J1+I2-1, I2+1 ), LDA ) |
* |
* |
* Swap A(I1, I1) with A(I2,I2) |
* Swap A(I1, I1) with A(I2,I2) |
* |
* |
Line 329
|
Line 330
|
* Compute L(J+2, J+1) = WORK( 3:N ) / T(J, J+1), |
* Compute L(J+2, J+1) = WORK( 3:N ) / T(J, J+1), |
* where A(J, J+1) = T(J, J+1) and A(J+2:N, J) = L(J+2:N, J+1) |
* where A(J, J+1) = T(J, J+1) and A(J+2:N, J) = L(J+2:N, J+1) |
* |
* |
IF( A( K, J+1 ).NE.ZERO ) THEN |
IF( J.LT.(M-1) ) THEN |
ALPHA = ONE / A( K, J+1 ) |
IF( A( K, J+1 ).NE.ZERO ) THEN |
CALL ZCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA ) |
ALPHA = ONE / A( K, J+1 ) |
CALL ZSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA ) |
CALL ZCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA ) |
ELSE |
CALL ZSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA ) |
CALL ZLASET( 'Full', 1, M-J-1, ZERO, ZERO, |
ELSE |
$ A( K, J+2 ), LDA) |
CALL ZLASET( 'Full', 1, M-J-1, ZERO, ZERO, |
|
$ A( K, J+2 ), LDA) |
|
END IF |
END IF |
END IF |
END IF |
END IF |
J = J + 1 |
J = J + 1 |
Line 440
|
Line 443
|
* |
* |
* Swap A(I2+1:N, I1) with A(I2+1:N, I2) |
* Swap A(I2+1:N, I1) with A(I2+1:N, I2) |
* |
* |
CALL ZSWAP( M-I2, A( I2+1, J1+I1-1 ), 1, |
IF( I2.LT.M ) |
$ A( I2+1, J1+I2-1 ), 1 ) |
$ CALL ZSWAP( M-I2, A( I2+1, J1+I1-1 ), 1, |
|
$ A( I2+1, J1+I2-1 ), 1 ) |
* |
* |
* Swap A(I1, I1) with A(I2, I2) |
* Swap A(I1, I1) with A(I2, I2) |
* |
* |
Line 481
|
Line 485
|
* Compute L(J+2, J+1) = WORK( 3:N ) / T(J, J+1), |
* Compute L(J+2, J+1) = WORK( 3:N ) / T(J, J+1), |
* where A(J, J+1) = T(J, J+1) and A(J+2:N, J) = L(J+2:N, J+1) |
* where A(J, J+1) = T(J, J+1) and A(J+2:N, J) = L(J+2:N, J+1) |
* |
* |
IF( A( J+1, K ).NE.ZERO ) THEN |
IF( J.LT.(M-1) ) THEN |
ALPHA = ONE / A( J+1, K ) |
IF( A( J+1, K ).NE.ZERO ) THEN |
CALL ZCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 ) |
ALPHA = ONE / A( J+1, K ) |
CALL ZSCAL( M-J-1, ALPHA, A( J+2, K ), 1 ) |
CALL ZCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 ) |
ELSE |
CALL ZSCAL( M-J-1, ALPHA, A( J+2, K ), 1 ) |
CALL ZLASET( 'Full', M-J-1, 1, ZERO, ZERO, |
ELSE |
$ A( J+2, K ), LDA ) |
CALL ZLASET( 'Full', M-J-1, 1, ZERO, ZERO, |
|
$ A( J+2, K ), LDA ) |
|
END IF |
END IF |
END IF |
END IF |
END IF |
J = J + 1 |
J = J + 1 |