version 1.5, 2010/12/21 13:53:47
|
version 1.6, 2011/07/22 07:38:15
|
Line 1
|
Line 1
|
SUBROUTINE ZHFRK( TRANSR, UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, |
SUBROUTINE ZHFRK( TRANSR, UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, |
+ C ) |
$ C ) |
* |
* |
* -- LAPACK routine (version 3.3.0) -- |
* -- LAPACK routine (version 3.3.1) -- |
* |
* |
* -- Contributed by Julien Langou of the Univ. of Colorado Denver -- |
* -- Contributed by Julien Langou of the Univ. of Colorado Denver -- |
* November 2010 |
* -- April 2011 -- |
* |
* |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
Line 26
|
Line 26
|
* |
* |
* ZHFRK performs one of the Hermitian rank--k operations |
* ZHFRK performs one of the Hermitian rank--k operations |
* |
* |
* C := alpha*A*conjg( A' ) + beta*C, |
* C := alpha*A*A**H + beta*C, |
* |
* |
* or |
* or |
* |
* |
* C := alpha*conjg( A' )*A + beta*C, |
* C := alpha*A**H*A + beta*C, |
* |
* |
* where alpha and beta are real scalars, C is an n--by--n Hermitian |
* where alpha and beta are real scalars, C is an n--by--n Hermitian |
* matrix and A is an n--by--k matrix in the first case and a k--by--n |
* matrix and A is an n--by--k matrix in the first case and a k--by--n |
Line 60
|
Line 60
|
* On entry, TRANS specifies the operation to be performed as |
* On entry, TRANS specifies the operation to be performed as |
* follows: |
* follows: |
* |
* |
* TRANS = 'N' or 'n' C := alpha*A*conjg( A' ) + beta*C. |
* TRANS = 'N' or 'n' C := alpha*A*A**H + beta*C. |
* |
* |
* TRANS = 'C' or 'c' C := alpha*conjg( A' )*A + beta*C. |
* TRANS = 'C' or 'c' C := alpha*A**H*A + beta*C. |
* |
* |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
Line 107
|
Line 107
|
* parts of the diagonal elements need not be set, they are |
* parts of the diagonal elements need not be set, they are |
* assumed to be zero, and on exit they are set to zero. |
* assumed to be zero, and on exit they are set to zero. |
* |
* |
* Arguments |
* ===================================================================== |
* ========== |
|
* |
* |
* .. |
|
* .. Parameters .. |
* .. Parameters .. |
DOUBLE PRECISION ONE, ZERO |
DOUBLE PRECISION ONE, ZERO |
COMPLEX*16 CZERO |
COMPLEX*16 CZERO |
Line 172
|
Line 170
|
* done (it is in ZHERK for example) and left in the general case. |
* done (it is in ZHERK for example) and left in the general case. |
* |
* |
IF( ( N.EQ.0 ) .OR. ( ( ( ALPHA.EQ.ZERO ) .OR. ( K.EQ.0 ) ) .AND. |
IF( ( N.EQ.0 ) .OR. ( ( ( ALPHA.EQ.ZERO ) .OR. ( K.EQ.0 ) ) .AND. |
+ ( BETA.EQ.ONE ) ) )RETURN |
$ ( BETA.EQ.ONE ) ) )RETURN |
* |
* |
IF( ( ALPHA.EQ.ZERO ) .AND. ( BETA.EQ.ZERO ) ) THEN |
IF( ( ALPHA.EQ.ZERO ) .AND. ( BETA.EQ.ZERO ) ) THEN |
DO J = 1, ( ( N*( N+1 ) ) / 2 ) |
DO J = 1, ( ( N*( N+1 ) ) / 2 ) |
Line 219
|
Line 217
|
* N is odd, TRANSR = 'N', UPLO = 'L', and TRANS = 'N' |
* N is odd, TRANSR = 'N', UPLO = 'L', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'L', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( 1 ), N ) |
$ BETA, C( 1 ), N ) |
CALL ZHERK( 'U', 'N', N2, K, ALPHA, A( N1+1, 1 ), LDA, |
CALL ZHERK( 'U', 'N', N2, K, ALPHA, A( N1+1, 1 ), LDA, |
+ BETA, C( N+1 ), N ) |
$ BETA, C( N+1 ), N ) |
CALL ZGEMM( 'N', 'C', N2, N1, K, CALPHA, A( N1+1, 1 ), |
CALL ZGEMM( 'N', 'C', N2, N1, K, CALPHA, A( N1+1, 1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( N1+1 ), N ) |
$ LDA, A( 1, 1 ), LDA, CBETA, C( N1+1 ), N ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is odd, TRANSR = 'N', UPLO = 'L', and TRANS = 'C' |
* N is odd, TRANSR = 'N', UPLO = 'L', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'L', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( 1 ), N ) |
$ BETA, C( 1 ), N ) |
CALL ZHERK( 'U', 'C', N2, K, ALPHA, A( 1, N1+1 ), LDA, |
CALL ZHERK( 'U', 'C', N2, K, ALPHA, A( 1, N1+1 ), LDA, |
+ BETA, C( N+1 ), N ) |
$ BETA, C( N+1 ), N ) |
CALL ZGEMM( 'C', 'N', N2, N1, K, CALPHA, A( 1, N1+1 ), |
CALL ZGEMM( 'C', 'N', N2, N1, K, CALPHA, A( 1, N1+1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( N1+1 ), N ) |
$ LDA, A( 1, 1 ), LDA, CBETA, C( N1+1 ), N ) |
* |
* |
END IF |
END IF |
* |
* |
Line 247
|
Line 245
|
* N is odd, TRANSR = 'N', UPLO = 'U', and TRANS = 'N' |
* N is odd, TRANSR = 'N', UPLO = 'U', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'L', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( N2+1 ), N ) |
$ BETA, C( N2+1 ), N ) |
CALL ZHERK( 'U', 'N', N2, K, ALPHA, A( N2, 1 ), LDA, |
CALL ZHERK( 'U', 'N', N2, K, ALPHA, A( N2, 1 ), LDA, |
+ BETA, C( N1+1 ), N ) |
$ BETA, C( N1+1 ), N ) |
CALL ZGEMM( 'N', 'C', N1, N2, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'N', 'C', N1, N2, K, CALPHA, A( 1, 1 ), |
+ LDA, A( N2, 1 ), LDA, CBETA, C( 1 ), N ) |
$ LDA, A( N2, 1 ), LDA, CBETA, C( 1 ), N ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is odd, TRANSR = 'N', UPLO = 'U', and TRANS = 'C' |
* N is odd, TRANSR = 'N', UPLO = 'U', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'L', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( N2+1 ), N ) |
$ BETA, C( N2+1 ), N ) |
CALL ZHERK( 'U', 'C', N2, K, ALPHA, A( 1, N2 ), LDA, |
CALL ZHERK( 'U', 'C', N2, K, ALPHA, A( 1, N2 ), LDA, |
+ BETA, C( N1+1 ), N ) |
$ BETA, C( N1+1 ), N ) |
CALL ZGEMM( 'C', 'N', N1, N2, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'C', 'N', N1, N2, K, CALPHA, A( 1, 1 ), |
+ LDA, A( 1, N2 ), LDA, CBETA, C( 1 ), N ) |
$ LDA, A( 1, N2 ), LDA, CBETA, C( 1 ), N ) |
* |
* |
END IF |
END IF |
* |
* |
Line 281
|
Line 279
|
* N is odd, TRANSR = 'C', UPLO = 'L', and TRANS = 'N' |
* N is odd, TRANSR = 'C', UPLO = 'L', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'U', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( 1 ), N1 ) |
$ BETA, C( 1 ), N1 ) |
CALL ZHERK( 'L', 'N', N2, K, ALPHA, A( N1+1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', N2, K, ALPHA, A( N1+1, 1 ), LDA, |
+ BETA, C( 2 ), N1 ) |
$ BETA, C( 2 ), N1 ) |
CALL ZGEMM( 'N', 'C', N1, N2, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'N', 'C', N1, N2, K, CALPHA, A( 1, 1 ), |
+ LDA, A( N1+1, 1 ), LDA, CBETA, |
$ LDA, A( N1+1, 1 ), LDA, CBETA, |
+ C( N1*N1+1 ), N1 ) |
$ C( N1*N1+1 ), N1 ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is odd, TRANSR = 'C', UPLO = 'L', and TRANS = 'C' |
* N is odd, TRANSR = 'C', UPLO = 'L', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'U', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( 1 ), N1 ) |
$ BETA, C( 1 ), N1 ) |
CALL ZHERK( 'L', 'C', N2, K, ALPHA, A( 1, N1+1 ), LDA, |
CALL ZHERK( 'L', 'C', N2, K, ALPHA, A( 1, N1+1 ), LDA, |
+ BETA, C( 2 ), N1 ) |
$ BETA, C( 2 ), N1 ) |
CALL ZGEMM( 'C', 'N', N1, N2, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'C', 'N', N1, N2, K, CALPHA, A( 1, 1 ), |
+ LDA, A( 1, N1+1 ), LDA, CBETA, |
$ LDA, A( 1, N1+1 ), LDA, CBETA, |
+ C( N1*N1+1 ), N1 ) |
$ C( N1*N1+1 ), N1 ) |
* |
* |
END IF |
END IF |
* |
* |
Line 311
|
Line 309
|
* N is odd, TRANSR = 'C', UPLO = 'U', and TRANS = 'N' |
* N is odd, TRANSR = 'C', UPLO = 'U', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'U', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'N', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( N2*N2+1 ), N2 ) |
$ BETA, C( N2*N2+1 ), N2 ) |
CALL ZHERK( 'L', 'N', N2, K, ALPHA, A( N1+1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', N2, K, ALPHA, A( N1+1, 1 ), LDA, |
+ BETA, C( N1*N2+1 ), N2 ) |
$ BETA, C( N1*N2+1 ), N2 ) |
CALL ZGEMM( 'N', 'C', N2, N1, K, CALPHA, A( N1+1, 1 ), |
CALL ZGEMM( 'N', 'C', N2, N1, K, CALPHA, A( N1+1, 1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), N2 ) |
$ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), N2 ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is odd, TRANSR = 'C', UPLO = 'U', and TRANS = 'C' |
* N is odd, TRANSR = 'C', UPLO = 'U', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'U', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'C', N1, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( N2*N2+1 ), N2 ) |
$ BETA, C( N2*N2+1 ), N2 ) |
CALL ZHERK( 'L', 'C', N2, K, ALPHA, A( 1, N1+1 ), LDA, |
CALL ZHERK( 'L', 'C', N2, K, ALPHA, A( 1, N1+1 ), LDA, |
+ BETA, C( N1*N2+1 ), N2 ) |
$ BETA, C( N1*N2+1 ), N2 ) |
CALL ZGEMM( 'C', 'N', N2, N1, K, CALPHA, A( 1, N1+1 ), |
CALL ZGEMM( 'C', 'N', N2, N1, K, CALPHA, A( 1, N1+1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), N2 ) |
$ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), N2 ) |
* |
* |
END IF |
END IF |
* |
* |
Line 351
|
Line 349
|
* N is even, TRANSR = 'N', UPLO = 'L', and TRANS = 'N' |
* N is even, TRANSR = 'N', UPLO = 'L', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( 2 ), N+1 ) |
$ BETA, C( 2 ), N+1 ) |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
+ BETA, C( 1 ), N+1 ) |
$ BETA, C( 1 ), N+1 ) |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( NK+1, 1 ), |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( NK+1, 1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( NK+2 ), |
$ LDA, A( 1, 1 ), LDA, CBETA, C( NK+2 ), |
+ N+1 ) |
$ N+1 ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is even, TRANSR = 'N', UPLO = 'L', and TRANS = 'C' |
* N is even, TRANSR = 'N', UPLO = 'L', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( 2 ), N+1 ) |
$ BETA, C( 2 ), N+1 ) |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
+ BETA, C( 1 ), N+1 ) |
$ BETA, C( 1 ), N+1 ) |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, NK+1 ), |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, NK+1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( NK+2 ), |
$ LDA, A( 1, 1 ), LDA, CBETA, C( NK+2 ), |
+ N+1 ) |
$ N+1 ) |
* |
* |
END IF |
END IF |
* |
* |
Line 381
|
Line 379
|
* N is even, TRANSR = 'N', UPLO = 'U', and TRANS = 'N' |
* N is even, TRANSR = 'N', UPLO = 'U', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( NK+2 ), N+1 ) |
$ BETA, C( NK+2 ), N+1 ) |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
+ BETA, C( NK+1 ), N+1 ) |
$ BETA, C( NK+1 ), N+1 ) |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( 1, 1 ), |
+ LDA, A( NK+1, 1 ), LDA, CBETA, C( 1 ), |
$ LDA, A( NK+1, 1 ), LDA, CBETA, C( 1 ), |
+ N+1 ) |
$ N+1 ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is even, TRANSR = 'N', UPLO = 'U', and TRANS = 'C' |
* N is even, TRANSR = 'N', UPLO = 'U', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( NK+2 ), N+1 ) |
$ BETA, C( NK+2 ), N+1 ) |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
+ BETA, C( NK+1 ), N+1 ) |
$ BETA, C( NK+1 ), N+1 ) |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, 1 ), |
+ LDA, A( 1, NK+1 ), LDA, CBETA, C( 1 ), |
$ LDA, A( 1, NK+1 ), LDA, CBETA, C( 1 ), |
+ N+1 ) |
$ N+1 ) |
* |
* |
END IF |
END IF |
* |
* |
Line 417
|
Line 415
|
* N is even, TRANSR = 'C', UPLO = 'L', and TRANS = 'N' |
* N is even, TRANSR = 'C', UPLO = 'L', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( NK+1 ), NK ) |
$ BETA, C( NK+1 ), NK ) |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
+ BETA, C( 1 ), NK ) |
$ BETA, C( 1 ), NK ) |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( 1, 1 ), |
+ LDA, A( NK+1, 1 ), LDA, CBETA, |
$ LDA, A( NK+1, 1 ), LDA, CBETA, |
+ C( ( ( NK+1 )*NK )+1 ), NK ) |
$ C( ( ( NK+1 )*NK )+1 ), NK ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is even, TRANSR = 'C', UPLO = 'L', and TRANS = 'C' |
* N is even, TRANSR = 'C', UPLO = 'L', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( NK+1 ), NK ) |
$ BETA, C( NK+1 ), NK ) |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
+ BETA, C( 1 ), NK ) |
$ BETA, C( 1 ), NK ) |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, 1 ), |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, 1 ), |
+ LDA, A( 1, NK+1 ), LDA, CBETA, |
$ LDA, A( 1, NK+1 ), LDA, CBETA, |
+ C( ( ( NK+1 )*NK )+1 ), NK ) |
$ C( ( ( NK+1 )*NK )+1 ), NK ) |
* |
* |
END IF |
END IF |
* |
* |
Line 447
|
Line 445
|
* N is even, TRANSR = 'C', UPLO = 'U', and TRANS = 'N' |
* N is even, TRANSR = 'C', UPLO = 'U', and TRANS = 'N' |
* |
* |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'N', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( NK*( NK+1 )+1 ), NK ) |
$ BETA, C( NK*( NK+1 )+1 ), NK ) |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
CALL ZHERK( 'L', 'N', NK, K, ALPHA, A( NK+1, 1 ), LDA, |
+ BETA, C( NK*NK+1 ), NK ) |
$ BETA, C( NK*NK+1 ), NK ) |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( NK+1, 1 ), |
CALL ZGEMM( 'N', 'C', NK, NK, K, CALPHA, A( NK+1, 1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), NK ) |
$ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), NK ) |
* |
* |
ELSE |
ELSE |
* |
* |
* N is even, TRANSR = 'C', UPLO = 'U', and TRANS = 'C' |
* N is even, TRANSR = 'C', UPLO = 'U', and TRANS = 'C' |
* |
* |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
CALL ZHERK( 'U', 'C', NK, K, ALPHA, A( 1, 1 ), LDA, |
+ BETA, C( NK*( NK+1 )+1 ), NK ) |
$ BETA, C( NK*( NK+1 )+1 ), NK ) |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
CALL ZHERK( 'L', 'C', NK, K, ALPHA, A( 1, NK+1 ), LDA, |
+ BETA, C( NK*NK+1 ), NK ) |
$ BETA, C( NK*NK+1 ), NK ) |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, NK+1 ), |
CALL ZGEMM( 'C', 'N', NK, NK, K, CALPHA, A( 1, NK+1 ), |
+ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), NK ) |
$ LDA, A( 1, 1 ), LDA, CBETA, C( 1 ), NK ) |
* |
* |
END IF |
END IF |
* |
* |