nag_zgemm (f16zac) performs matrix-matrix multiplication for a complex general matrix.
nag_zgemm (f16zac) performs one of the matrix-matrix operations
where
,
and
are complex matrices, and
and
are complex scalars;
is always
by
.
The BLAS Technical Forum Standard (2001)
http://www.netlib.org/blas/blast-forum - 1:
order – Nag_OrderTypeInput
-
On entry: the
order argument specifies the two-dimensional storage scheme being used, i.e., row-major ordering or column-major ordering. C language defined storage is specified by
. See
Section 3.2.1.3 in the Essential Introduction for a more detailed explanation of the use of this argument.
Constraint:
or Nag_ColMajor.
- 2:
transa – Nag_TransTypeInput
-
On entry: specifies whether the operation involves
,
or
.
- It involves .
- It involves .
- It involves .
Constraint:
, or .
- 3:
transb – Nag_TransTypeInput
-
On entry: specifies whether the operation involves
,
or
.
- It involves .
- It involves .
- It involves .
Constraint:
, or .
- 4:
m – IntegerInput
-
On entry: , the number of rows of the matrix ; the number of rows of if , or the number of columns of if or .
Constraint:
.
- 5:
n – IntegerInput
-
On entry: , the number of columns of the matrix ; the number of columns of if , or the number of rows of if or .
Constraint:
.
- 6:
k – IntegerInput
-
On entry: , the number of columns of if , or the number of rows of if or ; the number of rows of if , or the number of columns of if or .
Constraint:
.
- 7:
alpha – ComplexInput
-
On entry: the scalar .
- 8:
a[] – const ComplexInput
-
Note: the dimension,
dim, of the array
a
must be at least
- when
and
;
- when
and
;
- when
or and
;
- when
or and
.
If , is stored in .
If , is stored in .
On entry: the matrix ; is by if , or by if or .
- 9:
pda – IntegerInput
-
On entry: the stride separating row or column elements (depending on the value of
order) in the array
a.
Constraints:
- if ,
- if , ;
- if or , ;
- if ,
- if ,
;
- if or ,
.
- 10:
b[] – const ComplexInput
-
Note: the dimension,
dim, of the array
b
must be at least
- when
and
;
- when
and
;
- when
or and
;
- when
or and
.
If , is stored in .
If , is stored in .
On entry: the matrix ; is by if , or by if or .
- 11:
pdb – IntegerInput
-
On entry: the stride separating row or column elements (depending on the value of
order) in the array
b.
Constraints:
- if ,
- if , ;
- if or , ;
- if ,
- if ,
;
- if or ,
.
- 12:
beta – ComplexInput
-
On entry: the scalar .
- 13:
c[] – ComplexInput/Output
-
Note: the dimension,
dim, of the array
c
must be at least
- when
;
- when
.
If , is stored in .
If , is stored in .
On entry: the
by
matrix
.
If
,
c need not be set.
On exit: the updated matrix .
- 14:
pdc – IntegerInput
-
On entry: the stride separating row or column elements (depending on the value of
order) in the array
c.
Constraints:
- if ,
;
- if , .
- 15:
fail – NagError *Input/Output
-
The NAG error argument (see
Section 3.6 in the Essential Introduction).
- NE_ALLOC_FAIL
Dynamic memory allocation failed.
- NE_BAD_PARAM
On entry, argument had an illegal value.
- NE_ENUM_INT_2
On entry, , , .
Constraint: if , .
On entry, , , .
Constraint: if or , .
On entry, , , .
Constraint:
if or , .
On entry, , , .
Constraint:
if , .
On entry, , , .
Constraint:
if , .
On entry, , , .
Constraint: if or , .
On entry, , , .
Constraint: if , .
On entry, , , .
Constraint:
if or , .
- NE_INT
On entry, .
Constraint: .
On entry, .
Constraint: .
On entry, .
Constraint: .
- NE_INT_2
On entry, , .
Constraint: .
On entry, and .
Constraint: .
- NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact
NAG for assistance.
The BLAS standard requires accurate implementations which avoid unnecessary over/underflow (see Section 2.7 of
The BLAS Technical Forum Standard (2001)).
None.
This example computes the matrix-matrix product
where