115 SUBROUTINE zlacrm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
123 INTEGER LDA, LDB, LDC, M, N
126 DOUBLE PRECISION B( ldb, * ), RWORK( * )
127 COMPLEX*16 A( lda, * ), C( ldc, * )
133 DOUBLE PRECISION ONE, ZERO
134 parameter ( one = 1.0d0, zero = 0.0d0 )
140 INTRINSIC dble, dcmplx, dimag
149 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
154 rwork( ( j-1 )*m+i ) = dble( a( i, j ) )
159 CALL dgemm(
'N',
'N', m, n, n, one, rwork, m, b, ldb, zero,
163 c( i, j ) = rwork( l+( j-1 )*m+i-1 )
169 rwork( ( j-1 )*m+i ) = dimag( a( i, j ) )
172 CALL dgemm(
'N',
'N', m, n, n, one, rwork, m, b, ldb, zero,
176 c( i, j ) = dcmplx( dble( c( i, j ) ),
177 $ rwork( l+( j-1 )*m+i-1 ) )
subroutine dgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
DGEMM
subroutine zlacrm(M, N, A, LDA, B, LDB, C, LDC, RWORK)
ZLACRM multiplies a complex matrix by a square real matrix.