141 SUBROUTINE dlagtm( TRANS, N, NRHS, ALPHA, DL, D, DU, X, LDX,
151 INTEGER LDB, LDX, N, NRHS
152 DOUBLE PRECISION ALPHA, BETA
155 DOUBLE PRECISION B( LDB, * ), D( * ), DL( * ), DU( * ),
162 DOUBLE PRECISION ONE, ZERO
163 PARAMETER ( ONE = 1.0d+0, zero = 0.0d+0 )
179 IF( beta.EQ.zero )
THEN
185 ELSE IF( beta.EQ.-one )
THEN
188 b( i, j ) = -b( i, j )
193 IF( alpha.EQ.one )
THEN
194 IF( lsame( trans,
'N' ) )
THEN
200 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j )
202 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j ) +
204 b( n, j ) = b( n, j ) + dl( n-1 )*x( n-1, j ) +
207 b( i, j ) = b( i, j ) + dl( i-1 )*x( i-1, j ) +
208 $ d( i )*x( i, j ) + du( i )*x( i+1, j )
218 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j )
220 b( 1, j ) = b( 1, j ) + d( 1 )*x( 1, j ) +
222 b( n, j ) = b( n, j ) + du( n-1 )*x( n-1, j ) +
225 b( i, j ) = b( i, j ) + du( i-1 )*x( i-1, j ) +
226 $ d( i )*x( i, j ) + dl( i )*x( i+1, j )
231 ELSE IF( alpha.EQ.-one )
THEN
232 IF( lsame( trans,
'N' ) )
THEN
238 b( 1, j ) = b( 1, j ) - d( 1 )*x( 1, j )
240 b( 1, j ) = b( 1, j ) - d( 1 )*x( 1, j ) -
242 b( n, j ) = b( n, j ) - dl( n-1 )*x( n-1, j ) -
245 b( i, j ) = b( i, j ) - dl( i-1 )*x( i-1, j ) -
246 $ d( i )*x( i, j ) - du( i )*x( i+1, j )
256 b( 1, j ) = b( 1, j ) - d( 1 )*x( 1, j )
258 b( 1, j ) = b( 1, j ) - d( 1 )*x( 1, j ) -
260 b( n, j ) = b( n, j ) - du( n-1 )*x( n-1, j ) -
263 b( i, j ) = b( i, j ) - du( i-1 )*x( i-1, j ) -
264 $ d( i )*x( i, j ) - dl( i )*x( i+1, j )
subroutine dlagtm(trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb)
DLAGTM performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix,...