# lagtm - Man Page

lagtm: tridiagonal matrix-matrix multiply

## Synopsis

### Functions

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, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

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, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

subroutine **slagtm** (trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb)**SLAGTM** performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

subroutine **zlagtm** (trans, n, nrhs, alpha, dl, d, du, x, ldx, beta, b, ldb)**ZLAGTM** performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

## Detailed Description

## Function Documentation

### subroutine clagtm (character trans, integer n, integer nrhs, real alpha, complex, dimension( * ) dl, complex, dimension( * ) d, complex, dimension( * ) du, complex, dimension( ldx, * ) x, integer ldx, real beta, complex, dimension( ldb, * ) b, integer ldb)

**CLAGTM** performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

**Purpose:**

CLAGTM performs a matrix-matrix 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.

**Parameters***TRANS*TRANS is CHARACTER*1 Specifies the operation applied to A. = 'N': No transpose, B := alpha * A * X + beta * B = 'T': Transpose, B := alpha * A**T * X + beta * B = 'C': Conjugate transpose, B := alpha * A**H * X + beta * B

*N*N is INTEGER The order of the matrix A. N >= 0.

*NRHS*NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices X and B.

*ALPHA*ALPHA is REAL The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.

*DL*DL is COMPLEX array, dimension (N-1) The (n-1) sub-diagonal elements of T.

*D*D is COMPLEX array, dimension (N) The diagonal elements of T.

*DU*DU is COMPLEX array, dimension (N-1) The (n-1) super-diagonal elements of T.

*X*X is COMPLEX array, dimension (LDX,NRHS) The N by NRHS matrix X.

*LDX*LDX is INTEGER The leading dimension of the array X. LDX >= max(N,1).

*BETA*BETA is REAL The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.

*B*B is COMPLEX array, dimension (LDB,NRHS) On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.

*LDB*LDB is INTEGER The leading dimension of the array B. LDB >= max(N,1).

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **143** of file **clagtm.f**.

### subroutine dlagtm (character trans, integer n, integer nrhs, double precision alpha, double precision, dimension( * ) dl, double precision, dimension( * ) d, double precision, dimension( * ) du, double precision, dimension( ldx, * ) x, integer ldx, double precision beta, double precision, dimension( ldb, * ) b, integer ldb)

**DLAGTM** performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

**Purpose:**

DLAGTM performs a matrix-matrix 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.

**Parameters***TRANS*TRANS is CHARACTER*1 Specifies the operation applied to A. = 'N': No transpose, B := alpha * A * X + beta * B = 'T': Transpose, B := alpha * A'* X + beta * B = 'C': Conjugate transpose = Transpose

*N*N is INTEGER The order of the matrix A. N >= 0.

*NRHS*NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices X and B.

*ALPHA*ALPHA is DOUBLE PRECISION The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.

*DL*DL is DOUBLE PRECISION array, dimension (N-1) The (n-1) sub-diagonal elements of T.

*D*D is DOUBLE PRECISION array, dimension (N) The diagonal elements of T.

*DU*DU is DOUBLE PRECISION array, dimension (N-1) The (n-1) super-diagonal elements of T.

*X*X is DOUBLE PRECISION array, dimension (LDX,NRHS) The N by NRHS matrix X.

*LDX*LDX is INTEGER The leading dimension of the array X. LDX >= max(N,1).

*BETA*BETA is DOUBLE PRECISION The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.

*B*B is DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.

*LDB*LDB is INTEGER The leading dimension of the array B. LDB >= max(N,1).

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **143** of file **dlagtm.f**.

### subroutine slagtm (character trans, integer n, integer nrhs, real alpha, real, dimension( * ) dl, real, dimension( * ) d, real, dimension( * ) du, real, dimension( ldx, * ) x, integer ldx, real beta, real, dimension( ldb, * ) b, integer ldb)

**SLAGTM** performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

**Purpose:**

SLAGTM performs a matrix-matrix 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.

**Parameters***TRANS*TRANS is CHARACTER*1 Specifies the operation applied to A. = 'N': No transpose, B := alpha * A * X + beta * B = 'T': Transpose, B := alpha * A'* X + beta * B = 'C': Conjugate transpose = Transpose

*N*N is INTEGER The order of the matrix A. N >= 0.

*NRHS*NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices X and B.

*ALPHA*ALPHA is REAL The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.

*DL*DL is REAL array, dimension (N-1) The (n-1) sub-diagonal elements of T.

*D*D is REAL array, dimension (N) The diagonal elements of T.

*DU*DU is REAL array, dimension (N-1) The (n-1) super-diagonal elements of T.

*X*X is REAL array, dimension (LDX,NRHS) The N by NRHS matrix X.

*LDX*LDX is INTEGER The leading dimension of the array X. LDX >= max(N,1).

*BETA*BETA is REAL The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.

*B*B is REAL array, dimension (LDB,NRHS) On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.

*LDB*LDB is INTEGER The leading dimension of the array B. LDB >= max(N,1).

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **143** of file **slagtm.f**.

### subroutine zlagtm (character trans, integer n, integer nrhs, double precision alpha, complex*16, dimension( * ) dl, complex*16, dimension( * ) d, complex*16, dimension( * ) du, complex*16, dimension( ldx, * ) x, integer ldx, double precision beta, complex*16, dimension( ldb, * ) b, integer ldb)

**ZLAGTM** performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.

**Purpose:**

ZLAGTM performs a matrix-matrix 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.

**Parameters***TRANS*TRANS is CHARACTER*1 Specifies the operation applied to A. = 'N': No transpose, B := alpha * A * X + beta * B = 'T': Transpose, B := alpha * A**T * X + beta * B = 'C': Conjugate transpose, B := alpha * A**H * X + beta * B

*N*N is INTEGER The order of the matrix A. N >= 0.

*NRHS*NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices X and B.

*ALPHA*ALPHA is DOUBLE PRECISION The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise, it is assumed to be 0.

*DL*DL is COMPLEX*16 array, dimension (N-1) The (n-1) sub-diagonal elements of T.

*D*D is COMPLEX*16 array, dimension (N) The diagonal elements of T.

*DU*DU is COMPLEX*16 array, dimension (N-1) The (n-1) super-diagonal elements of T.

*X*X is COMPLEX*16 array, dimension (LDX,NRHS) The N by NRHS matrix X.

*LDX*LDX is INTEGER The leading dimension of the array X. LDX >= max(N,1).

*BETA*BETA is DOUBLE PRECISION The scalar beta. BETA must be 0., 1., or -1.; otherwise, it is assumed to be 1.

*B*B is COMPLEX*16 array, dimension (LDB,NRHS) On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B.

*LDB*LDB is INTEGER The leading dimension of the array B. LDB >= max(N,1).

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **143** of file **zlagtm.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.