          SEARCH  NEW RPMS  DIRECTORIES  ABOUT  FAQ  VARIOUS  BLOG  DONATE  YUM REPOSITORY    MAN page from openSUSE Leap 42 blas-man-3.5.0-9.1.noarch.rpm

# chpr.f

Section: LAPACK (3)
Updated: Fri Nov 4 2016
Index

chpr.f -

## SYNOPSIS

### Functions/Subroutines

subroutine CHPR (UPLO, N, ALPHA, X, INCX, AP)
CHPR

## Function/Subroutine Documentation

### 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:

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.`

N

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

ALPHA

`          ALPHA is REAL           On entry, ALPHA specifies the scalar alpha.`

X

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

INCX

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

AP

`          AP is COMPLEX array of 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

NAG Ltd.

Date:

November 2011

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.`

Definition at line 132 of file chpr.f.

`132 *133 *  -- Reference BLAS level2 routine (version 3.4.0) --134 *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --135 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--136 *     November 2011137 *138 *     .. Scalar Arguments ..139       REAL alpha140       INTEGER incx,n141       CHARACTER uplo142 *     ..143 *     .. Array Arguments ..144       COMPLEX ap(*),x(*)145 *     ..146 *147 *  =====================================================================148 *149 *     .. Parameters ..150       COMPLEX zero151       parameter(zero= (0.0e+0,0.0e+0))152 *     ..153 *     .. Local Scalars ..154       COMPLEX temp155       INTEGER i,info,ix,j,jx,k,kk,kx156 *     ..157 *     .. External Functions ..158       LOGICAL lsame159       EXTERNAL lsame160 *     ..161 *     .. External Subroutines ..162       EXTERNAL xerbla163 *     ..164 *     .. Intrinsic Functions ..165       INTRINSIC conjg,real166 *     ..167 *168 *     Test the input parameters.169 *170       info = 0171       IF (.NOT.lsame(uplo,'U') .AND. .NOT.lsame(uplo,'L')) THEN172           info = 1173       ELSE IF (n.LT.0) THEN174           info = 2175       ELSE IF (incx.EQ.0) THEN176           info = 5177       END IF178       IF (info.NE.0) THEN179           CALL xerbla('CHPR  ',info)180           RETURN181       END IF182 *183 *     Quick return if possible.184 *185       IF ((n.EQ.0) .OR. (alpha.EQ.REAL(zero))) return186 *187 *     Set the start point in X if the increment is not unity.188 *189       IF (incx.LE.0) THEN190           kx = 1 - (n-1)*incx191       ELSE IF (incx.NE.1) THEN192           kx = 1193       END IF194 *195 *     Start the operations. In this version the elements of the array AP196 *     are accessed sequentially with one pass through AP.197 *198       kk = 1199       IF (lsame(uplo,'U')) THEN200 *201 *        Form  A  when upper triangle is stored in AP.202 *203           IF (incx.EQ.1) THEN204               DO 20 j = 1,n205                   IF (x(j).NE.zero) THEN206                       temp = alpha*conjg(x(j))207                       k = kk208                       DO 10 i = 1,j - 1209                           ap(k) = ap(k) + x(i)*temp210                           k = k + 1211    10                 CONTINUE212                       ap(kk+j-1) = REAL(AP(KK+J-1)) + REAL(x(j)*temp)213                   ELSE214                       ap(kk+j-1) = REAL(ap(kk+j-1))215                   END IF216                   kk = kk + j217    20         CONTINUE218           ELSE219               jx = kx220               DO 40 j = 1,n221                   IF (x(jx).NE.zero) THEN222                       temp = alpha*conjg(x(jx))223                       ix = kx224                       DO 30 k = kk,kk + j - 2225                           ap(k) = ap(k) + x(ix)*temp226                           ix = ix + incx227    30                 CONTINUE228                       ap(kk+j-1) = REAL(AP(KK+J-1)) + REAL(x(jx)*temp)229                   ELSE230                       ap(kk+j-1) = REAL(ap(kk+j-1))231                   END IF232                   jx = jx + incx233                   kk = kk + j234    40         CONTINUE235           END IF236       ELSE237 *238 *        Form  A  when lower triangle is stored in AP.239 *240           IF (incx.EQ.1) THEN241               DO 60 j = 1,n242                   IF (x(j).NE.zero) THEN243                       temp = alpha*conjg(x(j))244                       ap(kk) = REAL(AP(KK)) + REAL(temp*x(j))245                       k = kk + 1246                       DO 50 i = j + 1,n247                           ap(k) = ap(k) + x(i)*temp248                           k = k + 1249    50                 CONTINUE250                   ELSE251                       ap(kk) = REAL(ap(kk))252                   END IF253                   kk = kk + n - j + 1254    60         CONTINUE255           ELSE256               jx = kx257               DO 80 j = 1,n258                   IF (x(jx).NE.zero) THEN259                       temp = alpha*conjg(x(jx))260                       ap(kk) = REAL(AP(KK)) + REAL(temp*x(jx))261                       ix = jx262                       DO 70 k = kk + 1,kk + n - j263                           ix = ix + incx264                           ap(k) = ap(k) + x(ix)*temp265    70                 CONTINUE266                   ELSE267                       ap(kk) = REAL(ap(kk))268                   END IF269                   jx = jx + incx270                   kk = kk + n - j + 1271    80         CONTINUE272           END IF273       END IF274 *275       RETURN276 *277 *     End of CHPR  .278 *`

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Index

NAME
SYNOPSIS
Functions/Subroutines
Function/Subroutine Documentation
subroutine CHPR (character UPLO, integer N, real ALPHA, complex, dimension(*) X, integer INCX, complex, dimension(*) AP)
Author

This document was created byman2html,using the manual pages.  