143 SUBROUTINE clagtm( TRANS, N, NRHS, ALPHA, DL, D, DU, X, LDX, BETA,
152 INTEGER LDB, LDX, N, NRHS
156 COMPLEX B( LDB, * ), D( * ), DL( * ), DU( * ),
164 parameter( one = 1.0e+0, zero = 0.0e+0 )
183 IF( beta.EQ.zero )
THEN
189 ELSE IF( beta.EQ.-one )
THEN
192 b( i, j ) = -b( i, j )
197 IF( alpha.EQ.one )
THEN
198 IF( lsame( trans,
'N' ) )
THEN
204 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j )
206 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j ) +
208 b( n, j ) = b( n, j ) + dl( n-1 )*x( n-1, j ) +
211 b( i, j ) = b( i, j ) + dl( i-1 )*x( i-1, j ) +
212 $ d( i )*x( i, j ) + du( i )*x( i+1, j )
216 ELSE IF( lsame( trans,
'T' ) )
THEN
222 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j )
224 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j ) +
226 b( n, j ) = b( n, j ) + du( n-1 )*x( n-1, j ) +
229 b( i, j ) = b( i, j ) + du( i-1 )*x( i-1, j ) +
230 $ d( i )*x( i, j ) + dl( i )*x( i+1, j )
234 ELSE IF( lsame( trans, 'c
' ) ) THEN
240 B( 1, J ) = B( 1, J ) + CONJG( D( 1 ) )*X( 1, J )
242 B( 1, J ) = B( 1, J ) + CONJG( D( 1 ) )*X( 1, J ) +
243 $ CONJG( DL( 1 ) )*X( 2, J )
244 B( N, J ) = B( N, J ) + CONJG( DU( N-1 ) )*
245 $ X( N-1, J ) + CONJG( D( N ) )*X( N, J )
247 B( I, J ) = B( I, J ) + CONJG( DU( I-1 ) )*
248 $ X( I-1, J ) + CONJG( D( I ) )*
249 $ X( I, J ) + CONJG( DL( I ) )*
255.EQ.
ELSE IF( ALPHA-ONE ) THEN
256 IF( LSAME( TRANS, 'n
' ) ) THEN
262 B( 1, J ) = B( 1, J ) - D( 1 )*X( 1, J )
264 B( 1, J ) = B( 1, J ) - D( 1 )*X( 1, J ) -
266 B( N, J ) = B( N, J ) - DL( N-1 )*X( N-1, J ) -
269 B( I, J ) = B( I, J ) - DL( I-1 )*X( I-1, J ) -
270 $ D( I )*X( I, J ) - DU( I )*X( I+1, J )
274 ELSE IF( LSAME( TRANS, 't
' ) ) THEN
280 B( 1, J ) = B( 1, J ) - D( 1 )*X( 1, J )
282 B( 1, J ) = B( 1, J ) - D( 1 )*X( 1, J ) -
284 B( N, J ) = B( N, J ) - DU( N-1 )*X( N-1, J ) -
287 B( I, J ) = B( I, J ) - DU( I-1 )*X( I-1, J ) -
288 $ D( I )*X( I, J ) - DL( I )*X( I+1, J )
292 ELSE IF( LSAME( TRANS, 'c
' ) ) THEN
298 B( 1, J ) = B( 1, J ) - CONJG( D( 1 ) )*X( 1, J )
300 B( 1, J ) = B( 1, J ) - CONJG( D( 1 ) )*X( 1, J ) -
301 $ CONJG( DL( 1 ) )*X( 2, J )
302 B( N, J ) = B( N, J ) - CONJG( DU( N-1 ) )*
303 $ X( N-1, J ) - CONJG( D( N ) )*X( N, J )
305 B( I, J ) = B( I, J ) - CONJG( DU( I-1 ) )*
306 $ X( I-1, J ) - CONJG( D( I ) )*
307 $ X( I, J ) - CONJG( DL( I ) )*
subroutine clagtm(trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb)
CLAGTM performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix,...