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 ) )
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
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.
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j