111      SUBROUTINE clacrm( M, N, A, LDA, B, LDB, C, LDC, RWORK )
 
  118      INTEGER            LDA, LDB, LDC, M, N
 
  121      REAL               B( LDB, * ), RWORK( * )
 
  122      COMPLEX            A( LDA, * ), C( LDC, * )
 
  129      parameter( one = 1.0e0, zero = 0.0e0 )
 
  135      INTRINSIC          aimag, cmplx, real
 
  144      IF( ( m.EQ.0 ) .OR. ( n.EQ.0 ) )
 
  149            rwork( ( j-1 )*m+i ) = real( a( i, j ) )
 
  154      CALL sgemm( 
'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 ) = aimag( a( i, j ) )
 
  167      CALL sgemm( 
'N', 
'N', m, n, n, one, rwork, m, b, ldb, zero,
 
  171            c( i, j ) = cmplx( real( c( i, j ) ),
 
  172     $                  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.