Loading...
Searching...
No Matches

## chpr()

subroutine chpr | ( | character | uplo,
|  | integer | n,
|  | real | alpha,
|  | complex, dimension(*) | x,
|  | integer | incx,
|  | complex, dimension(*) | ap )

CHPR

Purpose:

      !>
      !> CHPR    performs the hermitian rank 1 operation
      !>
      !>    A := alpha*x*x**H + A,
      !>
      !> where alpha is a real scalar, x is an n element vector and A is an
      !> n by n hermitian matrix, supplied in packed form.
      !>

Parameters

  [in]

  UPLO

      !>          UPLO is 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.
      !>

  [in]

  N

      !>          N is INTEGER
      !>           On entry, N specifies the order of the matrix A.
      !>           N must be at least zero.
      !>

  [in]

  ALPHA

      !>          ALPHA is REAL
      !>           On entry, ALPHA specifies the scalar alpha.
      !>

  [in]

  X

      !>          X is COMPLEX array, dimension at least
      !>           ( 1 + ( n - 1 )*abs( INCX ) ).
      !>           Before entry, the incremented array X must contain the n
      !>           element vector x.
      !>

  [in]

  INCX

      !>          INCX is INTEGER
      !>           On entry, INCX specifies the increment for the elements of
      !>           X. INCX must not be zero.
      !>

  [in,out]

  AP

      !>          AP is 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 hermitian 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 hermitian 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 elements need
      !>           not be set, they are assumed to be zero, and on exit they
      !>           are set to zero.
      !>

Author
  Univ. of Tennessee
  Univ. of California Berkeley
  Univ. of Colorado Denver
  NAG Ltd.

Further Details:

      !>
      !>  Level 2 Blas routine.
      !>
      !>  -- Written on 22-October-1986.
      !>     Jack Dongarra, Argonne National Lab.
      !>     Jeremy Du Croz, Nag Central Office.
      !>     Sven Hammarling, Nag Central Office.
      !>     Richard Hanson, Sandia National Labs.
      !>