?lagtm

Performs a matrix-matrix product of the form C = alpha*A*B+beta*C, where A is a tridiagonal matrix, B and C are rectangular matrices, and alpha and beta are scalars, which may be 0, 1, or -1.

Syntax

call slagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb )

call dlagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb )

call clagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb )

call zlagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb )

Include Files

  • Fortran: mkl.fi
  • C: mkl.h

Description

The routine performs a matrix-vector product of the form:

B := alpha*A*X + beta*B

where A is a tridiagonal matrix of order n, B and X are n-by-nrhs matrices, and alpha and beta are real scalars, each of which may be 0., 1., or -1.

Input Parameters

trans

CHARACTER*1. Must be 'N' or 'T' or 'C'.

Indicates the form of the equations:

If trans = 'N', then B := alpha*A*X + beta*B (no transpose);

If trans = 'T', then B := alpha*AT*X + beta*B (transpose);

If trans = 'C', then B := alpha*AH*X + beta*B (conjugate transpose)

n

INTEGER. The order of the matrix A (n 0).

nrhs

INTEGER. The number of right-hand sides, i.e., the number of columns in X and B (nrhs 0).

alpha, beta

REAL for slagtm/clagtm

DOUBLE PRECISION for dlagtm/zlagtm

Specify the scalars alpha and beta respectively. alpha must be 0., 1., or -1.; otherwise, it is assumed to be 0. beta must be 0., 1., or -1.; otherwise, it is assumed to be 1.

dl, d, du

REAL for slagtm

DOUBLE PRECISION for dlagtm

COMPLEX for clagtm

DOUBLE COMPLEX for zlagtm.

Arrays: dl(n - 1), d(n), du(n - 1).

The array dl contains the (n - 1) sub-diagonal elements of T.

The array d contains the n diagonal elements of T.

The array du contains the (n - 1) super-diagonal elements of T.

x, b

REAL for slagtm

DOUBLE PRECISION for dlagtm

COMPLEX for clagtm

DOUBLE COMPLEX for zlagtm.

Arrays:

x(ldx,*) contains the n-by-nrhs matrix X. The second dimension of x must be at least max(1, nrhs).

b(ldb,*) contains the n-by-nrhs matrix B. The second dimension of b must be at least max(1, nrhs).

ldx

INTEGER. The leading dimension of the array x; ldx max(1, n).

ldb

INTEGER. The leading dimension of the array b; ldb max(1, n).

Output Parameters

b

Overwritten by the matrix expression B := alpha*A*X + beta*B

Einzelheiten zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.