lagtm#

Functions

void slagtm(
    const char*          trans,
    const INT            n,
    const INT            nrhs,
    const f32            alpha,
    const f32*  restrict DL,
    const f32*  restrict D,
    const f32*  restrict DU,
    const f32*  restrict X,
    const INT            ldx,
    const f32            beta,
          f32*  restrict B,
    const INT            ldb
);
void slagtm(const char *trans, const INT n, const INT nrhs, const f32 alpha, const f32 *restrict DL, const f32 *restrict D, const f32 *restrict DU, const f32 *restrict X, const INT ldx, const f32 beta, f32 *restrict B, const INT ldb)#

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

in
trans

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

in
n

The order of the matrix A. n >= 0.

in
nrhs

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

in
alpha

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

in
DL

The (n-1) sub-diagonal elements of A. Array of dimension (n-1).

in
D

The diagonal elements of A. Array of dimension (n).

in
DU

The (n-1) super-diagonal elements of A. Array of dimension (n-1).

in
X

The N by NRHS matrix X. Array of dimension (ldx, nrhs).

in
ldx

The leading dimension of the array X. ldx >= max(n, 1).

in
beta

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

inout
B

On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(n, 1).

Functions

void dlagtm(
    const char*          trans,
    const INT            n,
    const INT            nrhs,
    const f64            alpha,
    const f64*  restrict DL,
    const f64*  restrict D,
    const f64*  restrict DU,
    const f64*  restrict X,
    const INT            ldx,
    const f64            beta,
          f64*  restrict B,
    const INT            ldb
);
void dlagtm(const char *trans, const INT n, const INT nrhs, const f64 alpha, const f64 *restrict DL, const f64 *restrict D, const f64 *restrict DU, const f64 *restrict X, const INT ldx, const f64 beta, f64 *restrict B, const INT ldb)#

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

in
trans

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

in
n

The order of the matrix A. n >= 0.

in
nrhs

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

in
alpha

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

in
DL

The (n-1) sub-diagonal elements of A. Array of dimension (n-1).

in
D

The diagonal elements of A. Array of dimension (n).

in
DU

The (n-1) super-diagonal elements of A. Array of dimension (n-1).

in
X

The N by NRHS matrix X. Array of dimension (ldx, nrhs).

in
ldx

The leading dimension of the array X. ldx >= max(n, 1).

in
beta

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

inout
B

On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(n, 1).

Functions

void clagtm(
    const char*          trans,
    const INT            n,
    const INT            nrhs,
    const f32            alpha,
    const c64*  restrict DL,
    const c64*  restrict D,
    const c64*  restrict DU,
    const c64*  restrict X,
    const INT            ldx,
    const f32            beta,
          c64*  restrict B,
    const INT            ldb
);
void clagtm(const char *trans, const INT n, const INT nrhs, const f32 alpha, const c64 *restrict DL, const c64 *restrict D, const c64 *restrict DU, const c64 *restrict X, const INT ldx, const f32 beta, c64 *restrict B, const INT ldb)#

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

in
trans

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

in
n

The order of the matrix A. n >= 0.

in
nrhs

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

in
alpha

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

in
DL

The (n-1) sub-diagonal elements of T. Array of dimension (n-1).

in
D

The diagonal elements of T. Array of dimension (n).

in
DU

The (n-1) super-diagonal elements of T. Array of dimension (n-1).

in
X

The N by NRHS matrix X. Array of dimension (ldx, nrhs).

in
ldx

The leading dimension of the array X. ldx >= max(n, 1).

in
beta

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

inout
B

On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(n, 1).

Functions

void zlagtm(
    const char*          trans,
    const INT            n,
    const INT            nrhs,
    const f64            alpha,
    const c128* restrict DL,
    const c128* restrict D,
    const c128* restrict DU,
    const c128* restrict X,
    const INT            ldx,
    const f64            beta,
          c128* restrict B,
    const INT            ldb
);
void zlagtm(const char *trans, const INT n, const INT nrhs, const f64 alpha, const c128 *restrict DL, const c128 *restrict D, const c128 *restrict DU, const c128 *restrict X, const INT ldx, const f64 beta, c128 *restrict B, const INT ldb)#

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

in
trans

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

in
n

The order of the matrix A. n >= 0.

in
nrhs

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

in
alpha

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

in
DL

The (n-1) sub-diagonal elements of T. Array of dimension (n-1).

in
D

The diagonal elements of T. Array of dimension (n).

in
DU

The (n-1) super-diagonal elements of T. Array of dimension (n-1).

in
X

The N by NRHS matrix X. Array of dimension (ldx, nrhs).

in
ldx

The leading dimension of the array X. ldx >= max(n, 1).

in
beta

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

inout
B

On entry, the N by NRHS matrix B. On exit, B is overwritten by the matrix expression B := alpha * A * X + beta * B. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of the array B. ldb >= max(n, 1).