# ?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.