Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?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
mkl.fi
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*A^{T}*X + beta*B (transpose); If trans = 'C' , then B := alpha*A^{H}*X + beta*B (conjugate transpose)
- n
-
INTEGER. Specifies the order of the matrix A. The value of n must be at least zero.
- 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