1ZHPR2(1)                         BLAS routine                         ZHPR2(1)
2
3
4

NAME

6       ZHPR2  -  performs the hermitian rank 2 operation   A := alpha*x*conjg(
7       y' ) + conjg( alpha )*y*conjg( x' ) + A,
8

SYNOPSIS

10       SUBROUTINE ZHPR2(UPLO,N,ALPHA,X,INCX,Y,INCY,AP)
11
12           DOUBLE                                      COMPLEX ALPHA
13
14           INTEGER                                     INCX,INCY,N
15
16           CHARACTER                                   UPLO
17
18           DOUBLE                                      COMPLEX AP(*),X(*),Y(*)
19

PURPOSE

21       ZHPR2  performs the hermitian rank 2 operation
22
23       where alpha is a scalar, x and y are n element vectors and A is an n by
24       n hermitian matrix, supplied in packed form.
25
26

ARGUMENTS

28       UPLO   - CHARACTER*1.
29              On  entry,  UPLO specifies whether the upper or lower triangular
30              part of the matrix A is supplied in the packed array AP as  fol‐
31              lows:
32
33              UPLO  =  'U' or 'u'   The upper triangular part of A is supplied
34              in AP.
35
36              UPLO = 'L' or 'l'   The lower triangular part of A  is  supplied
37              in AP.
38
39              Unchanged on exit.
40
41       N      - INTEGER.
42              On  entry,  N specifies the order of the matrix A.  N must be at
43              least zero.  Unchanged on exit.
44
45       ALPHA  - COMPLEX*16      .
46              On entry, ALPHA specifies the scalar alpha.  Unchanged on exit.
47
48       X      - COMPLEX*16       array of dimension at least
49              ( 1 + ( n - 1 )*abs( INCX ) ).  Before  entry,  the  incremented
50              array X must contain the n element vector x.  Unchanged on exit.
51
52       INCX   - INTEGER.
53              On  entry,  INCX  specifies the increment for the elements of X.
54              INCX must not be zero.  Unchanged on exit.
55
56       Y      - COMPLEX*16       array of dimension at least
57              ( 1 + ( n - 1 )*abs( INCY ) ).  Before  entry,  the  incremented
58              array Y must contain the n element vector y.  Unchanged on exit.
59
60       INCY   - INTEGER.
61              On  entry,  INCY  specifies the increment for the elements of Y.
62              INCY must not be zero.  Unchanged on exit.
63
64       AP     - COMPLEX*16       array of DIMENSION at least
65              ( ( n*( n + 1 ) )/2 ).  Before entry with  UPLO =  'U'  or  'u',
66              the  array AP must contain the upper triangular part of the her‐
67              mitian matrix packed sequentially, column by column, so that AP(
68              1  )  contains  a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 )
69              and a( 2, 2 ) respectively, and so on. On exit, the array AP  is
70              overwritten  by the upper triangular part of the updated matrix.
71              Before entry with UPLO = 'L' or 'l', the array AP  must  contain
72              the lower triangular part of the hermitian matrix packed sequen‐
73              tially, column by column, so that AP( 1 ) contains a(  1,  1  ),
74              AP(  2  )  and  AP(  3 ) contain a( 2, 1 ) and a( 3, 1 ) respec‐
75              tively, and so on. On exit, the array AP is overwritten  by  the
76              lower  triangular  part  of  the  updated matrix.  Note that the
77              imaginary parts of the diagonal elements need not be  set,  they
78              are assumed to be zero, and on exit they are set to zero.
79

FURTHER DETAILS

81       Level 2 Blas routine.
82
83       -- Written on 22-October-1986.
84          Jack Dongarra, Argonne National Lab.
85          Jeremy Du Croz, Nag Central Office.
86          Sven Hammarling, Nag Central Office.
87          Richard Hanson, Sandia National Labs.
88
89
90
91
92BLAS routine                     November 2008                        ZHPR2(1)
Impressum