Contents

mkl_?omatcopy2

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

Syntax

Include Files
• mkl.h
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)
.
Different arrays must not overlap.
Input Parameters
ordering
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
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
The number of rows in matrix
B
(the source matrix).
cols
The number of columns in matrix
B
(the source matrix).
alpha
This parameter scales the input matrix by
alpha
.
a
Array.
lda
If
ordering
=
'R'
or
'r'
,
lda
represents the number of elements in array
a
A
;
lda
must be at least equal to the number of columns of matrix
A
.
If
ordering
=
'C'
or
'c'
,
lda
represents the number of elements in array
a
A
;
lda
must be at least 1 and not more than the number of columns in matrix
A
.
stridea
If
ordering
=
'R'
or
'r'
,
stridea
represents the number of elements in array
a
A
.
stridea
must be at least 1 and not more than the number of columns in matrix
A
.
If
ordering
=
'C'
or
'c'
,
stridea
represents the number of elements in array
a
A
.
stridea
must be at least equal to the number of columns in matrix
A
.
b
Array.
ldb
If
ordering
=
'R'
or
'r'
,
ldb
represents the number of elements in array
b
B
.
• If
trans
=
'T'
or
't'
or
'C'
or
'c'
,
ldb
must be at least equal to
rows
/
strideb
.
• If
trans
=
'N'
or
'n'
or
'R'
or
'r'
,
ldb
must be at least equal to
cols
/
strideb
.
If
ordering
=
'C'
or
'c'
,
ldb
represents the number of elements in array
b
B
.
• If
trans
=
'T'
or
't'
or
'C'
or
'c'
,
ldb
must be at least 1 and not more than
rows
/
strideb
.
• If
trans
=
'N'
or
'n'
or
'R'
or
'r'
,
ldb
must be at least 1 and not more than
cols
/
strideb
.
strideb
If
ordering
=
'R'
or
'r'
,
strideb
represents the number of elements in array
b
B
.
• If
trans
=
'T'
or
't'
or
'C'
or
'c'
,
strideb
must be at least 1 and not more than
rows
(the number of rows in matrix
B
).
• If
trans
=
'N'
or
'n'
or
'R'
or
'r'
,
strideb
must be at least 1 and not more than
cols
(the number of columns in matrix
B
).
If
ordering
=
'C'
or
'c'
,
strideb
represents the number of elements in array
b
B
.
• If
trans
=
'T'
or
't'
or
'C'
or
'c'
,
strideb
must be at least equal to
rows
(the number of rows in matrix
B
).
• If
trans
=
'N'
or
'n'
or
'R'
or
'r'
,
strideb
must be at least equal to
cols
(the number of columns in matrix
B
).
Output Parameters
b
Array, size at least
m
.
Contains the destination matrix.
Interfaces

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.