Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 7/13/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?trmvt

Performs matrix-vector operations.

Syntax

call strmvt (uplo, n, t, ldt, x, incx, y, incy, w, incw, z, incz )

call dtrmvt (uplo, n, t, ldt, x, incx, y, incy, w, incw, z, incz )

call ctrmvt (uplo, n, t, ldt, x, incx, y, incy, w, incw, z, incz )

call ztrmvt (uplo, n, t, ldt, x, incx, y, incy, w, incw, z, incz )

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.