CSPR(3)                    MathKeisan LAPACK routine                   CSPR(3)



NAME
       CSPR - the symmetric rank 1 operation   A := alpha*x*conjg( x' ) + A,

SYNOPSIS
       SUBROUTINE CSPR( UPLO, N, ALPHA, X, INCX, AP )

           CHARACTER    UPLO

           INTEGER      INCX, N

           COMPLEX      ALPHA

           COMPLEX      AP( * ), X( * )

PURPOSE
       CSPR    performs the symmetric rank 1 operation

       where alpha is a complex scalar, x is an n element vector and A is an n
       by n symmetric matrix, supplied in packed form.


ARGUMENTS
       UPLO     (input) CHARACTER*1
                On entry, UPLO specifies whether the upper or lower triangular
                part  of  the  matrix  A is supplied in the packed array AP as
                follows:

                UPLO = 'U' or 'u'   The upper triangular part of A is supplied
                in AP.

                UPLO = 'L' or 'l'   The lower triangular part of A is supplied
                in AP.

                Unchanged on exit.

       N        (input) INTEGER
                On entry, N specifies the order of the matrix A.  N must be at
                least zero.  Unchanged on exit.

       ALPHA    (input) COMPLEX
                On  entry,  ALPHA  specifies  the  scalar alpha.  Unchanged on
                exit.

       X        (input) COMPLEX array, dimension at least
                ( 1 + ( N - 1 )*abs( INCX ) ).  Before entry, the  incremented
                array  X  must  contain the N- element vector x.  Unchanged on
                exit.

       INCX     (input) INTEGER
                On entry, INCX specifies the increment for the elements of  X.
                INCX must not be zero.  Unchanged on exit.

       AP       (input/output) COMPLEX array, dimension at least
                ( ( N*( N + 1 ) )/2 ).  Before entry, with  UPLO = 'U' or 'u',
                the array AP must contain the upper  triangular  part  of  the
                symmetric  matrix  packed  sequentially,  column by column, so
                that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3  )  contain
                a(  1, 2 ) and a( 2, 2 ) respectively, and so on. On exit, the
                array AP is overwritten by the upper triangular  part  of  the
                updated  matrix.   Before  entry,  with UPLO = 'L' or 'l', the
                array AP must contain the lower triangular part of the symmet-
                ric  matrix packed sequentially, column by column, so that AP(
                1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1  )
                and  a(  3, 1 ) respectively, and so on. On exit, the array AP
                is overwritten by the lower triangular  part  of  the  updated
                matrix.   Note  that  the imaginary parts of the diagonal ele-
                ments need not be set, they are assumed to  be  zero,  and  on
                exit they are set to zero.



 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006                         CSPR(3)