111 SUBROUTINE zlacrm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
118 INTEGER LDA, LDB, LDC, M, N
121 DOUBLE PRECISION B( LDB, * ), RWORK( * )
122 COMPLEX*16 A( LDA, * ), C( LDC, * )
128 DOUBLE PRECISION ONE, ZERO
129 parameter( one = 1.0d0, zero = 0.0d0 )
135 INTRINSIC dble, dcmplx, dimag
144 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
149 rwork( ( j-1 )*m+i ) = dble( a( i, j ) )
154 CALL dgemm(
'N',
'N', m, n, n, one, rwork, m, b, ldb, zero,
158 c( i, j ) = rwork( l+( j-1 )*m+i-1 )
164 rwork( ( j-1 )*m+i ) = dimag( a( i, j ) )
167 CALL dgemm(
'N',
'N', m, n, n, one, rwork, m, b, ldb, zero,
171 c( i, j ) = dcmplx( dble( c( i, j ) ),
172 $ 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.