Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

mkl_?omatcopy2

Performs two-strided scaling and out-of-place transposition/copying of matrices.

Syntax

call mkl_somatcopy2
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
a
,
lda
,
stridea
,
b
,
ldb
,
strideb
)
call mkl_domatcopy2
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
a
,
lda
,
stridea
,
b
,
ldb
,
strideb
)
call mkl_comatcopy2
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
a
,
lda
,
stridea
,
b
,
ldb
,
strideb
)
call mkl_zomatcopy2
(
ordering
,
trans
,
rows
,
cols
,
alpha
,
a
,
lda
,
stridea
,
b
,
ldb
,
strideb
)
Include Files
  • mkl.fi
Description
The
mkl_?omatcopy2
routine performs two-strided scaling and out-of-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:
B
:=
alpha
*op(
A
)
Normally, matrices in the BLAS or LAPACK are specified by a single stride index. For instance, in the column-major order,
A
(2,1)
is stored in memory one element away from
A
(1,1)
, but
A
(1,2)
is a leading dimension away. The leading dimension in this case is at least the number of rows of the source matrix. If a matrix has two strides, then both
A
(2,1)
and
A
(1,2)
may be an arbitrary distance from
A
(1,1)
.
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(
A
)=
A
and the matrix
A
is assumed unchanged on input.
If
trans
=
'T'
or
't'
, it is assumed that
A
should be transposed.
If
trans
=
'C'
or
'c'
, it is assumed that
A
should be conjugate transposed.
If
trans
=
'R'
or
'r'
, it is assumed that
A
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
B
(the source matrix).
cols
INTEGER
.
The number of columns in matrix
B
(the source matrix).
alpha
REAL
for
mkl_somatcopy2
.
DOUBLE PRECISION
for
mkl_domatcopy2
.
COMPLEX
for
mkl_comatcopy2
.
DOUBLE COMPLEX
for
mkl_zomatcopy2
.
This parameter scales the input matrix by
alpha
.
a
REAL
for
mkl_somatcopy2
.
DOUBLE PRECISION
for
mkl_domatcopy2
.
COMPLEX
for
mkl_comatcopy2
.
DOUBLE COMPLEX
for
mkl_zomatcopy2
.
Array
, size