Skip to content

Aasen #317

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 25, 2019
Merged

Aasen #317

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions SRC/chetrf_aa_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -457,9 +457,9 @@ SUBROUTINE CHETRF_AA_2STAGE( UPLO, N, A, LDA, TB, LTB, IPIV,
IF( I2.GT.(I1+1) ) THEN
CALL CSWAP( I2-I1-1, A( I1, I1+1 ), LDA,
$ A( I1+1, I2 ), 1 )
CALL CLACGV( I2-I1, A( I1, I1+1 ), LDA )
CALL CLACGV( I2-I1-1, A( I1+1, I2 ), 1 )
END IF
CALL CLACGV( I2-I1, A( I1, I1+1 ), LDA )
* > Swap A(I2+1:M, I1) with A(I2+1:M, I2)
IF( I2.LT.N )
$ CALL CSWAP( N-I2, A( I1, I2+1 ), LDA,
Expand Down Expand Up @@ -633,13 +633,13 @@ SUBROUTINE CHETRF_AA_2STAGE( UPLO, N, A, LDA, TB, LTB, IPIV,
* > Apply pivots to previous columns of L
CALL CSWAP( K-1, A( I1, (J+1)*NB+1 ), LDA,
$ A( I2, (J+1)*NB+1 ), LDA )
* > Swap A(I1+1:M, I1) with A(I2, I1+1:M)
* > Swap A(I1+1:M, I1) with A(I2, I1+1:M)
IF( I2.GT.(I1+1) ) THEN
CALL CSWAP( I2-I1-1, A( I1+1, I1 ), 1,
$ A( I2, I1+1 ), LDA )
CALL CLACGV( I2-I1, A( I1+1, I1 ), 1 )
CALL CLACGV( I2-I1-1, A( I2, I1+1 ), LDA )
END IF
CALL CLACGV( I2-I1, A( I1+1, I1 ), 1 )
* > Swap A(I2+1:M, I1) with A(I2+1:M, I2)
IF( I2.LT.N )
$ CALL CSWAP( N-I2, A( I2+1, I1 ), 1,
Expand Down
42 changes: 24 additions & 18 deletions SRC/clahef_aa.f
Original file line number Diff line number Diff line change
Expand Up @@ -288,8 +288,9 @@ SUBROUTINE CLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I1, I2+1:N) with A(I2, I2+1:N)
*
CALL CSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
IF( I2.LT.M )
$ CALL CSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
*
* Swap A(I1, I1) with A(I2,I2)
*
Expand Down Expand Up @@ -329,13 +330,15 @@ SUBROUTINE CLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* 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)
*
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL CSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
IF( J.LT.(M-1) ) THEN
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL CSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
END IF
END IF
J = J + 1
Expand Down Expand Up @@ -440,8 +443,9 @@ SUBROUTINE CLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I2+1:N, I1) with A(I2+1:N, I2)
*
CALL CSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
IF( I2.LT.M )
$ CALL CSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
*
* Swap A(I1, I1) with A(I2, I2)
*
Expand Down Expand Up @@ -481,13 +485,15 @@ SUBROUTINE CLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* 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)
*
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL CSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL CLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
IF( J.LT.(M-1) ) THEN
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL CSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL CLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
END IF
END IF
J = J + 1
Expand Down
42 changes: 24 additions & 18 deletions SRC/clasyf_aa.f
Original file line number Diff line number Diff line change
Expand Up @@ -284,8 +284,9 @@ SUBROUTINE CLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I1, I2+1:M) with A(I2, I2+1:M)
*
CALL CSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
IF( I2.LT.M )
$ CALL CSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
*
* Swap A(I1, I1) with A(I2,I2)
*
Expand Down Expand Up @@ -325,13 +326,15 @@ SUBROUTINE CLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
* where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
*
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL CSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
IF( J.LT.(M-1) ) THEN
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL CSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
END IF
END IF
J = J + 1
Expand Down Expand Up @@ -432,8 +435,9 @@ SUBROUTINE CLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I2+1:M, I1) with A(I2+1:M, I2)
*
CALL CSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
IF( I2.LT.M )
$ CALL CSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
*
* Swap A(I1, I1) with A(I2, I2)
*
Expand Down Expand Up @@ -473,13 +477,15 @@ SUBROUTINE CLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
* where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
*
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL CSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL CLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
IF( J.LT.(M-1) ) THEN
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL CSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL CLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
END IF
END IF
J = J + 1
Expand Down
42 changes: 24 additions & 18 deletions SRC/dlasyf_aa.f
Original file line number Diff line number Diff line change
Expand Up @@ -284,8 +284,9 @@ SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I1, I2+1:M) with A(I2, I2+1:M)
*
CALL DSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
IF( I2.LT.M )
$ CALL DSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
*
* Swap A(I1, I1) with A(I2,I2)
*
Expand Down Expand Up @@ -325,13 +326,15 @@ SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
* where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
*
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL DCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL DSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL DLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
IF( J.LT.(M-1) ) THEN
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL DCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL DSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL DLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
END IF
END IF
J = J + 1
Expand Down Expand Up @@ -432,8 +435,9 @@ SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I2+1:M, I1) with A(I2+1:M, I2)
*
CALL DSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
IF( I2.LT.M )
$ CALL DSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
*
* Swap A(I1, I1) with A(I2, I2)
*
Expand Down Expand Up @@ -473,13 +477,15 @@ SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
* where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
*
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL DCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL DSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL DLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
IF( J.LT.(M-1) ) THEN
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL DCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL DSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL DLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
END IF
END IF
J = J + 1
Expand Down
42 changes: 24 additions & 18 deletions SRC/slasyf_aa.f
Original file line number Diff line number Diff line change
Expand Up @@ -284,8 +284,9 @@ SUBROUTINE SLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I1, I2+1:M) with A(I2, I2+1:M)
*
CALL SSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
IF( I2.LT.M )
$ CALL SSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
$ A( J1+I2-1, I2+1 ), LDA )
*
* Swap A(I1, I1) with A(I2,I2)
*
Expand Down Expand Up @@ -325,13 +326,15 @@ SUBROUTINE SLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
* where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
*
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL SCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL SSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL SLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
IF( J.LT.(M-1) ) THEN
IF( A( K, J+1 ).NE.ZERO ) THEN
ALPHA = ONE / A( K, J+1 )
CALL SCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
CALL SSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
ELSE
CALL SLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
END IF
END IF
J = J + 1
Expand Down Expand Up @@ -432,8 +435,9 @@ SUBROUTINE SLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
*
* Swap A(I2+1:M, I1) with A(I2+1:M, I2)
*
CALL SSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
IF( I2.LT.M )
$ CALL SSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
$ A( I2+1, J1+I2-1 ), 1 )
*
* Swap A(I1, I1) with A(I2, I2)
*
Expand Down Expand Up @@ -473,13 +477,15 @@ SUBROUTINE SLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
* Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
* where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
*
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL SCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL SSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL SLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
IF( J.LT.(M-1) ) THEN
IF( A( J+1, K ).NE.ZERO ) THEN
ALPHA = ONE / A( J+1, K )
CALL SCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
CALL SSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
ELSE
CALL SLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
END IF
END IF
J = J + 1
Expand Down
4 changes: 1 addition & 3 deletions SRC/zhesv_aa_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,7 @@ SUBROUTINE ZHESV_AA_2STAGE( UPLO, N, NRHS, A, LDA, TB, LTB,
*
* .. Local Scalars ..
LOGICAL UPPER, TQUERY, WQUERY
INTEGER I, J, K, I1, I2, TD
INTEGER LDTB, LWKOPT, NB, KB, NT, IINFO
COMPLEX PIV
INTEGER LWKOPT
* ..
* .. External Functions ..
LOGICAL LSAME
Expand Down
4 changes: 2 additions & 2 deletions SRC/zhetrf_aa_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -456,9 +456,9 @@ SUBROUTINE ZHETRF_AA_2STAGE( UPLO, N, A, LDA, TB, LTB, IPIV,
IF( I2.GT.(I1+1) ) THEN
CALL ZSWAP( I2-I1-1, A( I1, I1+1 ), LDA,
$ A( I1+1, I2 ), 1 )
CALL ZLACGV( I2-I1, A( I1, I1+1 ), LDA )
CALL ZLACGV( I2-I1-1, A( I1+1, I2 ), 1 )
END IF
CALL ZLACGV( I2-I1, A( I1, I1+1 ), LDA )
* > Swap A(I2+1:M, I1) with A(I2+1:M, I2)
IF( I2.LT.N )
$ CALL ZSWAP( N-I2, A( I1, I2+1 ), LDA,
Expand Down Expand Up @@ -636,9 +636,9 @@ SUBROUTINE ZHETRF_AA_2STAGE( UPLO, N, A, LDA, TB, LTB, IPIV,
IF( I2.GT.(I1+1) ) THEN
CALL ZSWAP( I2-I1-1, A( I1+1, I1 ), 1,
$ A( I2, I1+1 ), LDA )
CALL ZLACGV( I2-I1, A( I1+1, I1 ), 1 )
CALL ZLACGV( I2-I1-1, A( I2, I1+1 ), LDA )
END IF
CALL ZLACGV( I2-I1, A( I1+1, I1 ), 1 )
* > Swap A(I2+1:M, I1) with A(I2+1:M, I2)
IF( I2.LT.N )
$ CALL ZSWAP( N-I2, A( I2+1, I1 ), 1,
Expand Down
Loading