Developer Reference

  • 098
  • 03/30/2020
  • Public Content
Contents

mkl_?imatcopy

Performs scaling and in-place transposition/copying of matrices.

Syntax

call mkl_simatcopy
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
ab
,
lda
,
ldb
)
call mkl_dimatcopy
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
ab
,
lda
,
ldb
)
call mkl_cimatcopy
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
ab
,
lda
,
ldb
)
call mkl_zimatcopy
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
ab
,
lda
,
ldb
)
Include Files
  • mkl.fi
Description
The
mkl_?imatcopy
routine performs scaling and in-place transposition/copying of matrices. A transposition operation can be a normal matrix copy, a transposition, a conjugate transposition, or just a conjugation. The operation is defined as follows:
AB
:=
alpha
*op(
AB
).
Parameter descriptions are common for all implemented interfaces with the exception of data types that refer here to the FORTRAN 77 standard types. Data types specific to the different interfaces are described in the section
"Interfaces"
below.
Different arrays must not overlap.
Input Parameters
ordering
CHARACTER*1
.
Ordering of the matrix storage.
If
ordering
=
'R'
or
'r'
, the ordering is row-major.
If
ordering
=
'C'
or
'c'
, the ordering is column-major.
trans
CHARACTER*1
.
Parameter that specifies the operation type.
If
trans
=
'N'
or
'n'
,
op(
AB
)=
AB
and the matrix
AB
is assumed unchanged on input.
If
trans
=
'T'
or
't'
, it is assumed that
AB
should be transposed.
If
trans
=
'C'
or
'c'
, it is assumed that
AB
should be conjugate transposed.
If
trans
=
'R'
or
'r'
, it is assumed that
AB
should be only conjugated.
If the data is real, then
trans
=
'R'
is the same as
trans
=
'N'
, and
trans
=
'C'
is the same as
trans
=
'T'
.
rows
INTEGER
.
The number of rows in matrix
AB
before the transpose operation.
cols
INTEGER
.
The number of columns in matrix
AB
before the transpose operation.
ab
REAL
for
mkl_simatcopy
.
DOUBLE PRECISION
for
mkl_dimatcopy
.
COMPLEX
for
mkl_cimatcopy
.
DOUBLE COMPLEX
for
mkl_zimatcopy
.
Array
, size
ab
(
lda
,*)
.
alpha
REAL
for
mkl_simatcopy
.
DOUBLE PRECISION
for
mkl_dimatcopy
.
COMPLEX
for
mkl_cimatcopy
.
DOUBLE COMPLEX
for
mkl_zimatcopy
.
This parameter scales the input matrix by
alpha
.
lda
INTEGER
.
Distance between the first elements in adjacent columns (in the case of the column-major order) or rows (in the case of the row-major order) in the source matrix; measured in the number of elements.
This parameter must be at least
rows
if
ordering
=
'C'
or
'c'
, and
max(1,
cols
)
otherwise.
ldb
INTEGER
.
Distance between the first elements in adjacent columns (in the case of the column-major order) or rows (in the case of the row-major order) in the destination matrix; measured in the number of elements.
To determine the minimum value of
ldb
on output, consider the following guideline:
If
ordering
=
'C'
or