gemm(3F)
SGEMM, DGEMM, CGEMM, ZGEMM - Multiplies a real or complex general matrix by a real or complex general matrix
As shipped in IRIX 6.5.15. Last changed in IRIX 6.5.5.
NAME SGEMM, DGEMM, CGEMM, ZGEMM - Multiplies a real or complex general matrix by a real or complex general matrix SYNOPSIS Real CALL SGEMM (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) Double precision CALL DGEMM (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) Complex CALL CGEMM (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) Double complex CALL ZGEMM (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc) IMPLEMENTATION IRIX systems DESCRIPTION SGEMM and DGEMM multiply a real general matrix by a real general matrix. CGEMM and ZGEMM multiply a complex general matrix by a complex general matrix. These routines perform one of the matrix-matrix operations: C <- alpha op(A) or op(B) + beta C where op(X) is one of the following: op(X) = X T op(X) = X H op(X) = X (CGEMM and ZGEMM only) where * alpha and beta are scalars * A, B, and C are matrices * op(A) is an m-by-k matrix * op(B) is a k-by-n matrix * C is an m-by-n matrix. T * X is the transpose of x H * X is the conjugate transpose of X. These routines have the following arguments: transa Character*1. (input) Specifies the form of op(A) to be used in the matrix multiplication, as follows: transa = 'N' or 'n': op(A) = A T transa = 'T' or 't': op(A) = A T transa = 'C' or 'c', op(A) = A (SGEMM and DGEMM), or H op(A) = A (CGEMM and ZGEMM) transb Character*1. (input) Specifies the form of op(B) to be used in the matrix multiplication, as follows: transb = 'N' or 'n': op(B) = B T transb = 'T' or 't': op(B) = B T transb = 'C' or 'c': op(B) = B (SGEMM and DGEMM), or H op(B) = B (CGEMM and ZGEMM) m Integer. (input) Specifies the number of rows in matrix op(A) and in matrix C. m must be >= 0. n Integer. (input) Specifies the number of columns in matrix op(B) and in matrix C. n must be >= 0. k Integer. (input) Specifies the number of columns of matrix op(A) and the number of rows of matrix op(B). k must be >= 0. alpha First scalar factor. (input) SGEMM: Real. DGEMM: Double precision. CGEMM: Complex. ZGEMM: Double complex. a Array of dimension (lda,ka). (input) SGEMM: Real array. DGEMM: Double precision array. CGEMM: Complex array. ZGEMM: Double complex array. When transa = 'N' or 'n', ka is k; otherwise, it is m. Contains the matrix A. Before entry with transa = 'N' or 'n', the leading m-by-k part of array a must contain matrix A; otherwise, the leading k-by-m part of array a must contain matrix A. lda Integer. (input) Specifies the first dimension of a as declared in the calling program. When transa = 'N' or 'n', lda >= MAX(1,m); otherwise, lda >= MAX(1,k). b Array of dimension (ldb,kb). (input) SGEMM: Real array. DGEMM: Double precision array. CGEMM: Complex array. ZGEMM: Double complex array. When transb = 'N' or 'n', kb is n; otherwise, it is k. Contains the matrix B. Before entry with transb = 'N' or 'n', the leading k-by-n part of array b must contain matrix B; otherwise, the leading n-by-k part of array b must contain matrix B. ldb Integer. (input) Specifies the first dimension of b as declared in the calling program. When transb = 'N' or 'n', ldb >= MAX(1,k); otherwise, ldb >= MAX(1,n). beta Scalar factor. (input) SGEMM: Real. DGEMM: Double precision. CGEMM: Complex. ZGEMM: Double complex. When beta is supplied as 0, c need not be set on input. c Array of dimension (ldc,n). (input and output) SGEMM: Real array. DGEMM: Double precision array. CGEMM: Complex array. ZGEMM: Double complex array. Contains the matrix C. Before entry, the leading m-by-n part of array c must contain matrix C, except when beta is 0; in which case, c need not be set. On exit, the m-by-n result matrix overwrites array c. ldc Integer. (input) Specifies the first dimension of c as declared in the calling program. ldc >= MAX(1,m). NOTES These routines are Level 3 Basic Linear Algebra Subprograms (Level 3 BLAS). SEE ALSO This man page is available only online.