Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

SGEMS(3dxml)  —  Subroutines

Name

sgems, dgems, cgems, zgems − Matrix-matrix subtraction

FORMAT

{S,D,C,Z}GEMS ( transa, transb, m, n, alpha, a, lda, beta, b, ldb, c, ldc )

Arguments

transacharacter∗1
On entry, specifies the form of (op)A as follows:

If transa = ’N’ or

If transa = ’T’ or

If transa = ’R’ or

If transa = ’C’ or
On exit, transa is unchanged. 

transbcharacter∗1
On entry, specifies the form of (op)B as follows:

If transb = ’N’ or

If transb = ’T’ or

If transb = ’R’ or

If transb = ’C’ or
On exit, transb is unchanged. 

minteger∗4
On entry, the number of rows in the matrices (op)A, (op)B, and C; m >= 0.
On exit, m is unchanged. 

n
 integer∗4
On entry, the number of columns in the matrices (op)A, (op)B, and C; m >= 0.
On exit, n is unchanged. 

alphaInput real∗4 | real∗8 | complex∗8 | complex∗16
On entry, specifies the scalar alpha.
On exit, alpha is unchanged. 

areal∗4 | real∗8 | complex∗8 | complex∗16
On entry, a two-dimensional array A with dimensions lda by k.
For (op)A = A  or  conjugate(A), k = n  and the leading m by n part of array A contains the matrix A.
For (op)A = transp(A)  or  conjug_transp(A), k = m and the leading n by m part of array A contains the matrix A.
On exit, a is unchanged. 

ldainteger∗4
On entry, specifies the first dimension of array A.
For (op)A = A  or  conjugate(A), lda >= MAX(1, m).
For (op)A = transp(A)  or  conjug_transp(A), lda >= MAX(1, n).
On exit, lda is unchanged. 

betareal∗4 | real∗8 | complex∗8 | complex∗16
On entry, specifies the scalar beta.
On exit, beta is unchanged. 

breal∗4 | real∗8 | complex∗8 | complex∗16
On entry, a two-dimensional array A with dimensions ldb by k.
For (op)B = B  or  conjugate(B), k = n  and the leading m by n part of array B contains the matrix B.
For (op)B = transp(B)  or  conjug_transp(B), k = m and the leading n by m part of array B contains the matrix B.

ldbinteger∗4
On entry, specifies the first dimension of array B.
For (op)B = B  or  conjugate(B), ldb >= MAX(1, m).
For (op)B = transp(B)  or  conjug_transp(B), ldb >= MAX(1, n).
On exit, ldb is unchanged. 

creal∗4 | real∗8 | complex∗8 | complex∗16
On entry, a two-dimensional array with the dimension ldc by at least n.
On exit,  the leading  m by n part of array C is overwritten by the matrix alpha∗(op)A - beta∗(op)B .

ldcinteger∗4
On entry, specifies the first dimension of array C; ldc >= MAX( 1, m ).
On exit, ldc is unchanged. 

Description

The _GEMS routines perform one of the following matrix-matrix operations: C  =  alpha∗op(A) - beta∗op(B)
where (op)(X) = X, transp(X), conjugate(X),
 or  conjug_transp(X) , alpha and beta are scalars, and A, B, and C are matrices. (op)A, (op)B, and C are m by n matrices.

These subroutines can also perform the following operation when lda = ldc, and transa = when (op)A = A A  =  alpha ∗ A  -  beta ∗ (op)B
where op)(X) = X, transp(X), conjugate(X),
 or  conjug_transp(X) , alpha and beta are scalars, and A and B are m by n matrices.

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