Matrix-vector multiply

STRMV/DTRMV/CTRMV/ZTRMV

Name

STRMV/DTRMV/CTRMV/ZTRMV

 

Matrix-vector multiply

 

Purpose

Given an n-by-nupper- or lower-triangular matrix A and an n-vector x, these

 

subprograms compute the matrix-vector products Ax, ATx, and A*x, where AT is

 

the transpose of A, and A* is the conjugate transpose of A. Specifically, these

 

subprograms compute matrix-vector products of the forms

 

 

x Ax, x AT x, and x A*x.

 

Refer to “F_STRMV/F_DTRMV/F_CTRMV/F_ZTRMV” on page 408 for a

 

description of the equivalent BLAS Standard subprograms.

Matrix

For these subprograms, you supply A in a two-dimensional array large enough

Storage

to hold a square matrix. The other triangle of the array is not referenced. If A

 

has an unstored unit diagonal (see input argument diag), then the diagonal

 

elements of the array also is not referenced.

Usage

VECLIB:

 

 

CHARACTER*1

uplo, trans, diag

 

INTEGER*4

n, lda, incx

 

REAL*4

a(lda, n), x(lenx)

CALL STRMV(uplo, trans, diag, n, a, lda, x, incx)

CHARACTER*1

uplo, trans, diag

INTEGER*4

n, lda, incx

REAL*8

a(lda, n), x(lenx)

CALL DTRMV(uplo, trans, diag, n, a, lda, x, incx)

CHARACTER*1

uplo, trans, diag

INTEGER*4

n, lda, incx

COMPLEX*8

a(lda, n), x(lenx)

CALL CTRMV(uplo, trans, diag, n, a, lda, x, incx)

CHARACTER*1

uplo, trans, diag

INTEGER*4

n, lda, incx

COMPLEX*16

a(lda, n), x(lenx)

CALL ZTRMV(uplo, trans, diag, n, a, lda, x, incx)

VECLIB8:

CHARACTER*1

uplo, trans, diag

INTEGER*8

n, lda, incx

REAL*4

a(lda, n), x(lenx)

CALL STRMV(uplo, trans, diag, n, a, lda, x, incx)

Chapter 3 Basic Matrix Operations 323