Developer Reference

Contents

?syr

Performs the symmetric rank-1 update of a complex symmetric matrix.

Syntax

lapack_int
LAPACKE_csyr
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_complex_float
alpha
,
const
lapack_complex_float
*
x
,
lapack_int
incx
,
lapack_complex_float
*
a
,
lapack_int
lda
);
lapack_int
LAPACKE_zsyr
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_complex_double
alpha
,
const
lapack_complex_double
*
x
,
lapack_int
incx
,
lapack_complex_double
*
a
,
lapack_int
lda
);
Include Files
  • mkl.h
Description
The routine performs the symmetric rank 1 operation defined as
a
:=
alpha
*
x
*
x
H
+
a
,
where:
  • alpha
    is a complex scalar.
  • x
    is an
    n
    -element complex vector.
  • a
    is an
    n
    -by-
    n
    complex symmetric matrix.
These routines have their real equivalents in BLAS (see
?syr
in Chapter 
"BLAS and Sparse BLAS Routines"
).
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major (
LAPACK_ROW_MAJOR
) or column major (
LAPACK_COL_MAJOR
).
uplo
Specifies whether the upper or lower triangular part of the array
a
is used:
If
uplo
=
'U'
or
'u'
, then the upper triangular part of the array
a
is used.
If
uplo
=
'L'
or
'l'
, then the lower triangular part of the array
a
is used.
n
Specifies the order of the matrix
a
. The value of
n
must be at least zero.
alpha
Specifies the scalar
alpha
.
x
Array, size at least
(1 + (
n
- 1)*abs(
incx
))
. Before entry, the incremented array
x
must contain the
n
-element vector
x
.
incx
Specifies the increment for the elements of
x
. The value of
incx
must not be zero.
a
Array, size
max(1,
lda
*
n
)
. Before entry with
uplo
=
'U'
or
'u'
, the leading
n
-by-
n
upper triangular part of the array
a
must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of
a
is not referenced.
Before entry with
uplo
=
'L'
or
'l'
, the leading
n
-by-
n
lower triangular part of the array
a
must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of
a
is not referenced.
lda
Specifies the leading dimension of
a
as declared in the calling (sub)program. The value of
lda
must be at least
max
(1,
n
)
.
Output Parameters
a
With
uplo
=
'U'
or
'u'
, the upper triangular part of the array
a
is overwritten by the upper triangular part of the updated matrix.
With
uplo
=
'L'
or
'l'
, the lower triangular part of the array
a
is overwritten by the lower triangular part of the updated matrix.
Return Values
This function returns a value
info
.
If
info
= 0
, the execution is successful.
If
info
< 0
, the
i
-th parameter had an illegal value.
If
info
= -1011
, memory allocation error occurred.

Product and Performance Information

1

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