Developer Reference for Intel® oneAPI Math Kernel Library for C
?syr
Performs the symmetric rank-1 update of a complex symmetric matrix.
Syntax
lapack_intLAPACKE_csyr ( intmatrix_layout , charuplo , lapack_intn , lapack_complex_floatalpha , constlapack_complex_float*x , lapack_intincx , lapack_complex_float*a , lapack_intlda );
lapack_intLAPACKE_zsyr ( intmatrix_layout , charuplo , lapack_intn , lapack_complex_doublealpha , constlapack_complex_double*x , lapack_intincx , lapack_complex_double*a , lapack_intlda );
Include Files
mkl.h
Description
csyr zsyr
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 (Performs a rank-1 update of a symmetric matrix.) 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
-
COMPLEX for csyr DOUBLE COMPLEX for zsyr Specifies the scalar alpha .
- x
-
COMPLEX for csyr DOUBLE COMPLEX for zsyr 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
-
COMPLEX for csyr DOUBLE COMPLEX for zsyr 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.