Developer Reference for Intel® oneAPI Math Kernel Library for C
?trmvt
Performs matrix-vector operations.
Syntax
void strmvt(const char *uplo, const MKL_INT *n, const float *t, const MKL_INT *ldt,
float *x, const MKL_INT *incx, const float *y, const MKL_INT *incy, float *w,
const MKL_INT *incw, const float *z, const MKL_INT *incz);
void dtrmvt(const char *uplo, const MKL_INT *n, const double *t, const MKL_INT *ldt,
double *x, const MKL_INT *incx, const double *y, const MKL_INT *incy,
double *w, const MKL_INT *incw, const double *z, const MKL_INT *incz);
void ctrmvt(const char *uplo, const MKL_INT *n, const MKL_Complex8 *t, const MKL_INT *ldt,
MKL_Complex8 *x, const MKL_INT *incx, const MKL_Complex8 *y,
const MKL_INT *incy, MKL_Complex8 *w, const MKL_INT *incw,
const MKL_Complex8 *z, const MKL_INT *incz);
void ztrmvt(const char *uplo, const MKL_INT *n, const MKL_Complex16 *t,
const MKL_INT *ldt, MKL_Complex16 *x, const MKL_INT *incx,
const MKL_Complex16 *y, const MKL_INT *incy, MKL_Complex16 *w,
const MKL_INT *incw, const MKL_Complex16 *z, const MKL_INT *incz);
Include Files
mkl_scalapack.h
Description
?trmvt performs the matrix-vector operations as follows:
strmvt and dtrmvt : x := T ‘ *y, and w := T *z
ctrmvt and ztrmvt : x := conjg( T ‘ ) *y, and w := T *z,
where x is an n element vector and T is an n -by- n upper or lower triangular matrix.
Input Parameters
- uplo
-
CHARACTER*1. On entry, uplo specifies whether the matrix is an upper or lower triangular matrix as follows: uplo = ‘U’ or ‘u’ A is an upper triangular matrix. uplo = ‘L’ or ‘l’ A is a lower triangular matrix. Unchanged on exit.
- n
-
INTEGER. On entry, n specifies the order of the matrix A . n must be at least zero. Unchanged on exit.
- t
-
REAL for strmvt DOUBLE PRECISION for dtrmvt COMPLEX for ctrmvt DOUBLE COMPLEX for ztrmvt Array of size ( ldt , n ). Before entry with uplo = ‘U’ or ‘u’, the leading n -by- n upper triangular part of the array t must contain the upper triangular matrix and the strictly lower triangular part of t is not referenced. Before entry with uplo = ‘L’ or ‘l’, the leading n -by- n lower triangular part of the array t must contain the lower triangular matrix and the strictly upper triangular part of t is not referenced.
- ldt
-
INTEGER. On entry, lda specifies the first dimension of A as declared in the calling (sub) program. lda must be at least max( 1, n ). Unchanged on exit.
- incx
-
INTEGER. On entry, incx specifies the increment for the elements of x . incx must not be zero. Unchanged on exit.
- y
-
REAL for strmvt DOUBLE PRECISION for dtrmvt COMPLEX for ctrmvt DOUBLE COMPLEX for ztrmvt Array of size at least ( 1 + ( n - 1 )*abs( incy ) ). Before entry, the incremented array y must contain the n element vector y . Unchanged on exit.
- incy
-
INTEGER. On entry, incy specifies the increment for the elements of y . incy must not be zero. Unchanged on exit.
- incw
-
INTEGER. On entry, incw specifies the increment for the elements of w . incw must not be zero. Unchanged on exit.
- z
-
REAL for strmvt DOUBLE PRECISION for dtrmvt COMPLEX for ctrmvt DOUBLE COMPLEX for ztrmvt Array of size at least ( 1 + ( n - 1 )*abs( incz ) ). Before entry, the incremented array z must contain the n element vector z . Unchanged on exit.
- incz
-
INTEGER. On entry, incz specifies the increment for the elements of z . incz must not be zero. Unchanged on exit.
Output Parameters
- t
-
Before entry with uplo = ‘U’ or ‘u’, the leading n -by- n upper triangular part of the array t must contain the upper triangular matrix and the strictly lower triangular part of t is not referenced. Before entry with uplo = ‘L’ or ‘l’, the leading n -by- n lower triangular part of the array t must contain the lower triangular matrix and the strictly upper triangular part of t is not referenced.
- x
-
REAL for strmvt DOUBLE PRECISION for dtrmvt COMPLEX for ctrmvt DOUBLE COMPLEX for ztrmvt Array of size at least ( 1 + ( n - 1 )*abs( incx ) ). On exit, x = T ‘ * y .
- w
-
REAL for strmvt DOUBLE PRECISION for dtrmvt COMPLEX for ctrmvt DOUBLE COMPLEX for ztrmvt Array of size at least ( 1 + ( n - 1 )*abs( incw ) ). On exit, w = T * z .