115 SUBROUTINE clacrm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
123 INTEGER LDA, LDB, LDC, M, N
126 REAL B( ldb, * ), RWORK( * )
127 COMPLEX A( lda, * ), C( ldc, * )
134 parameter ( one = 1.0e0, zero = 0.0e0 )
140 INTRINSIC aimag, cmplx, real
149 IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
154 rwork( ( j-1 )*m+i ) =
REAL( A( I, J ) )
159 CALL sgemm(
'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 ) = aimag( a( i, j ) )
172 CALL sgemm(
'N',
'N', m, n, n, one, rwork, m, b, ldb, zero,
176 c( i, j ) = cmplx(
REAL( C( I, J ) ),
177 $ rwork( l+( j-1 )*m+i-1 ) )
subroutine sgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
SGEMM
subroutine clacrm(M, N, A, LDA, B, LDB, C, LDC, RWORK)
CLACRM multiplies a complex matrix by a square real matrix.