Previous: chpr Up: ../lapack-blas.html Next: csymm
NAME
CHPR2 - perform the hermitian rank 2 operation A :=
alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A,
SYNOPSIS
SUBROUTINE CHPR2 ( UPLO, N, ALPHA, X, INCX, Y, INCY, AP )
COMPLEX ALPHA
INTEGER INCX, INCY, N
CHARACTER*1 UPLO
COMPLEX AP( * ), X( * ), Y( * )
PURPOSE
CHPR2 performs the hermitian rank 2 operation
where alpha is a scalar, x and y are n element vectors and A
is an n by n hermitian matrix, supplied in packed form.
PARAMETERS
UPLO - 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 - INTEGER.
On entry, N specifies the order of the matrix A. N
must be at least zero. Unchanged on exit.
ALPHA - COMPLEX .
On entry, ALPHA specifies the scalar alpha.
Unchanged on exit.
X - COMPLEX array of 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 - INTEGER.
On entry, INCX specifies the increment for the ele-
ments of X. INCX must not be zero. Unchanged on
exit.
Y - COMPLEX array of dimension at least
( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the
incremented array Y must contain the n element vector
y. Unchanged on exit.
INCY - INTEGER.
On entry, INCY specifies the increment for the ele-
ments of Y. INCY must not be zero. Unchanged on
exit.
AP - COMPLEX array of DIMENSION at least
( ( n*( n + 1 ) )/2 ). Before entry with UPLO = 'U'
or 'u', the array AP must contain the upper triangu-
lar 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 ) respec-
tively, and so on. On exit, the array AP is overwrit-
ten by the lower triangular part of the updated
matrix. Note that the imaginary parts of the diago-
nal elements need not be set, they are assumed to be
zero, and on exit they are set to zero.
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.
NAME
SYNOPSIS
rou-
tine
cscal(n,ca,cx,incx)
sub-
c scales
a
vec-
tor
by
a
con-
stant.
c jack
dongarra,
lin-
pack,
3/11/78.
c modified
to
correct
prob-
lem
with
nega-
tive
incre-
ment,
8/21/90.
plex
com- ca,cx(1)
integer i,incx,ix,n
if(n.le.0)return
if(incx.eq.1)go to
20
c code
for
incre-
ment
not
equal
to
1
ix =
1
if(incx.lt.0)ix =
(-
n+1)*incx
+
1
do 10
i
=
1,n
cx(ix) =
ca*cx(ix)
ix =
ix
+
incx
10 con-
tinue
return
c code
for
incre-
ment
equal
to
1
20 do
30
i
=
1,n
cx(i) =
ca*cx(i)
30 con-
tinue
return
end
PUR-
POSE