SysTutorials

Linux Manual Pages › Section 3

cgemm-f(3)

cgemm.f –

Synopsis

Functions/Subroutines

subroutine cgemm (TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
CGEMM

Function/Subroutine Documentation

subroutine cgemm (characterTRANSA, characterTRANSB, integerM, integerN, integerK, complexALPHA, complex, dimension(lda,*)A, integerLDA, complex, dimension(ldb,*)B, integerLDB, complexBETA, complex, dimension(ldc,*)C, integerLDC)

CGEMM Purpose:

 CGEMM performs one of the matrix-matrix operations
 C := alpha*op( A )*op( B ) + beta*C,
 where op( X ) is one of
 op( X ) = X or op( X ) = X**T or op( X ) = X**H,
 alpha and beta are scalars, and A, B and C are matrices, with op( A )
 an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

 

Parameters:

TRANSA

 TRANSA is CHARACTER*1
 On entry, TRANSA specifies the form of op( A ) to be used in
 the matrix multiplication as follows:
 TRANSA = 'N' or 'n', op( A ) = A.
 TRANSA = 'T' or 't', op( A ) = A**T.
 TRANSA = 'C' or 'c', op( A ) = A**H.

TRANSB

 TRANSB is CHARACTER*1
 On entry, TRANSB specifies the form of op( B ) to be used in
 the matrix multiplication as follows:
 TRANSB = 'N' or 'n', op( B ) = B.
 TRANSB = 'T' or 't', op( B ) = B**T.
 TRANSB = 'C' or 'c', op( B ) = B**H.

M

 M is INTEGER
 On entry, M specifies the number of rows of the matrix
 op( A ) and of the matrix C. M must be at least zero.

N

 N is INTEGER
 On entry, N specifies the number of columns of the matrix
 op( B ) and the number of columns of the matrix C. N must be
 at least zero.

K

 K is INTEGER
 On entry, K specifies the number of columns of the matrix
 op( A ) and the number of rows of the matrix op( B ). K must
 be at least zero.

ALPHA

 ALPHA is COMPLEX
 On entry, ALPHA specifies the scalar alpha.

A

 A is COMPLEX array of DIMENSION ( LDA, ka ), where ka is
 k when TRANSA = 'N' or 'n', and is m otherwise.
 Before entry with TRANSA = 'N' or 'n', the leading m by k
 part of the array A must contain the matrix A, otherwise
 the leading k by m part of the array A must contain the
 matrix A.

LDA

 LDA is INTEGER
 On entry, LDA specifies the first dimension of A as declared
 in the calling (sub) program. When TRANSA = 'N' or 'n' then
 LDA must be at least max( 1, m ), otherwise LDA must be at
 least max( 1, k ).

B

 B is COMPLEX array of DIMENSION ( LDB, kb ), where kb is
 n when TRANSB = 'N' or 'n', and is k otherwise.
 Before entry with TRANSB = 'N' or 'n', the leading k by n
 part of the array B must contain the matrix B, otherwise
 the leading n by k part of the array B must contain the
 matrix B.

LDB

 LDB is INTEGER
 On entry, LDB specifies the first dimension of B as declared
 in the calling (sub) program. When TRANSB = 'N' or 'n' then
 LDB must be at least max( 1, k ), otherwise LDB must be at
 least max( 1, n ).

BETA

 BETA is COMPLEX
 On entry, BETA specifies the scalar beta. When BETA is
 supplied as zero then C need not be set on input.

C

 C is COMPLEX array of DIMENSION ( LDC, n ).
 Before entry, the leading m by n part of the array C must
 contain the matrix C, except when beta is zero, in which
 case C need not be set on entry.
 On exit, the array C is overwritten by the m by n matrix
 ( alpha*op( A )*op( B ) + beta*C ).

LDC

 LDC is INTEGER
 On entry, LDC specifies the first dimension of C as declared
 in the calling (sub) program. LDC must be at least
 max( 1, m ).

 

Author:

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date:

November 2011

Further Details:

 Level 3 Blas routine.
 -- Written on 8-February-1989.
 Jack Dongarra, Argonne National Laboratory.
 Iain Duff, AERE Harwell.
 Jeremy Du Croz, Numerical Algorithms Group Ltd.
 Sven Hammarling, Numerical Algorithms Group Ltd.

 

Definition at line 188 of file cgemm.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.