Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

STRMV(3dxml)  —  Subroutines

Name

strmv, dtrmv, ctrmv, ztrmv − Marix-vector product for a triangular matrix

FORMAT

{S,D,C,Z}TRMV (uplo, trans, diag, n, a, lda, x, incx)

Arguments

uplocharacter∗1
On entry, specifies whether the matrix A is an upper- or lower-triangular matrix:

If uplo = ’U’ or ’u’, A is an upper-triangular matrix. 

If uplo = ’L’ or
On exit, uplo is unchanged. 

transcharacter∗1
On entry, specifies the operation to be performed:

If trans = ’N’ or ’n’, the operation is y  =  alpha∗Ax + beta∗y. 

If trans = ’T’ or ’t’, the operation is y  =  alpha∗transp(A)∗x + beta∗y. 

If trans = ’C’ or ’c’, the operation is y  =  alpha∗conjug_transp(A)∗x + beta∗y. 
On exit, trans is unchanged. 
 .IP "diag" 20 character∗1
On entry, specifies whether the matrix A is unit-triangular:

If diag = ’U’ or ’u’, A is a unit-triangular matrix. 

If diag = ’N’ or ’n’, A is not a unit-triangular matrix. 
On exit, diag is unchanged. 

ninteger∗4
On entry, the order of the matrix A; n >= 0.
On exit, n is unchanged. 

areal∗4 | real∗8 | complex∗8 | complex∗16
On entry, a two-dimensional array with dimensions lda by n.

When uplo specifies the upper portion of the matrix, the leading n by n part of the array contains the upper-triangular part of the matrix, and the lower-triangular part of array A is not referenced. 

When uplo specifies the lower  portion of the matrix,  the leading n by n part of the array contains the lower-triangular part of the matrix, and the upper-triangular part of array A is not referenced. 

If diag is equal to ’U’ or ’u’, the diagonal elements of A are also not referenced, but are assumed to be unity. 
On exit, a is unchanged. 

ldainteger∗4
On entry, the first dimension of array A; lda >= MAX(1,n).
On exit, lda is unchanged. 

xreal∗4 | real∗8 | complex∗8 | complex∗16
On entry, a one-dimensional array X of length at least (1+(n-1)∗|incx|).  Array X contains the vector x.
On exit, x is overwritten with the transformed vector x. 

incxinteger∗4
On entry, the increment for the elements of X; incx must not equal zero.
On exit, incx is unchanged. 

Description

The _TRMV subprograms compute a matrix-vector product for a triangular matrix or its transpose: x  =  Ax or  x  =  transp(A)∗x .  In addition to these operations, the CTRMV and ZTRMV subprograms compute a matrix-vector product for conjugate transpose: x  =  conjug_transp(A)∗x . 

x is a vector with n elements, and A is an n by n, unit or non-unit, upper- or lower-triangular matrix. 

Example

REAL∗4 A(50,20), X(20)
INCX = 1
N = 20
LDA = 50
CALL STRMV(’U’,’N’,’N’,N,A,LDA,X,INCX)

This FORTRAN code computes the product x  =  Ax where A is an upper-triangular matrix, of order 20, with a non-unit diagonal.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026