--- 
:name: csyr
:md5sum: 0d882c1ac101190a904cd313b2ad84cd
:category: :subroutine
:arguments: 
- uplo: 
    :type: char
    :intent: input
- n: 
    :type: integer
    :intent: input
- alpha: 
    :type: complex
    :intent: input
- x: 
    :type: complex
    :intent: input
    :dims: 
    - 1 + ( n - 1 )*abs( incx )
- incx: 
    :type: integer
    :intent: input
- a: 
    :type: complex
    :intent: input/output
    :dims: 
    - lda
    - n
- lda: 
    :type: integer
    :intent: input
:substitutions: {}

:fortran_help: "      SUBROUTINE CSYR( UPLO, N, ALPHA, X, INCX, A, LDA )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  CSYR   performs the symmetric rank 1 operation\n\
  *\n\
  *     A := alpha*x*( x' ) + A,\n\
  *\n\
  *  where alpha is a complex scalar, x is an n element vector and A is an\n\
  *  n by n symmetric matrix.\n\
  *\n\n\
  *  Arguments\n\
  *  ==========\n\
  *\n\
  *  UPLO     (input) CHARACTER*1\n\
  *           On entry, UPLO specifies whether the upper or lower\n\
  *           triangular part of the array A is to be referenced as\n\
  *           follows:\n\
  *\n\
  *              UPLO = 'U' or 'u'   Only the upper triangular part of A\n\
  *                                  is to be referenced.\n\
  *\n\
  *              UPLO = 'L' or 'l'   Only the lower triangular part of A\n\
  *                                  is to be referenced.\n\
  *\n\
  *           Unchanged on exit.\n\
  *\n\
  *  N        (input) INTEGER\n\
  *           On entry, N specifies the order of the matrix A.\n\
  *           N must be at least zero.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  ALPHA    (input) COMPLEX\n\
  *           On entry, ALPHA specifies the scalar alpha.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  X        (input) COMPLEX array, dimension at least\n\
  *           ( 1 + ( N - 1 )*abs( INCX ) ).\n\
  *           Before entry, the incremented array X must contain the N-\n\
  *           element vector x.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  INCX     (input) INTEGER\n\
  *           On entry, INCX specifies the increment for the elements of\n\
  *           X. INCX must not be zero.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  A        (input/output) COMPLEX array, dimension ( LDA, N )\n\
  *           Before entry, with  UPLO = 'U' or 'u', the leading n by n\n\
  *           upper triangular part of the array A must contain the upper\n\
  *           triangular part of the symmetric matrix and the strictly\n\
  *           lower triangular part of A is not referenced. On exit, the\n\
  *           upper triangular part of the array A is overwritten by the\n\
  *           upper triangular part of the updated matrix.\n\
  *           Before entry, with UPLO = 'L' or 'l', the leading n by n\n\
  *           lower triangular part of the array A must contain the lower\n\
  *           triangular part of the symmetric matrix and the strictly\n\
  *           upper triangular part of A is not referenced. On exit, the\n\
  *           lower triangular part of the array A is overwritten by the\n\
  *           lower triangular part of the updated matrix.\n\
  *\n\
  *  LDA      (input) INTEGER\n\
  *           On entry, LDA specifies the first dimension of A as declared\n\
  *           in the calling (sub) program. LDA must be at least\n\
  *           max( 1, N ).\n\
  *           Unchanged on exit.\n\
  *\n\n\
  * =====================================================================\n\
  *\n"
