ESMF_DSYR2 Subroutine

subroutine ESMF_DSYR2(UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA)

\brief \b ESMF_DSYR2 \par Purpose:

\verbatim

ESMF_DSYR2 performs the symmetric rank 2 operation

A := alphaxyT + alphayxT + A,

where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix. \endverbatim \param[in] UPLO \verbatim UPLO is CHARACTER*1 On entry, UPLO specifies whether the upper or lower triangular part of the array A is to be referenced as follows:

         UPLO = 'U' or 'u'   Only the upper triangular part of A
                             is to be referenced.

         UPLO = 'L' or 'l'   Only the lower triangular part of A
                             is to be referenced.

\endverbatim

\param[in] N \verbatim N is INTEGER On entry, N specifies the order of the matrix A. N must be at least zero. \endverbatim

\param[in] ALPHA \verbatim ALPHA is DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. \endverbatim

\param[in] X \verbatim X is DOUBLE PRECISION array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. \endverbatim

\param[in] INCX \verbatim INCX is INTEGER On entry, INCX specifies the increment for the elements of X. INCX must not be zero. \endverbatim

\param[in] Y \verbatim Y is DOUBLE PRECISION array, dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. \endverbatim

\param[in] INCY \verbatim INCY is INTEGER On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. \endverbatim

\param[in,out] A \verbatim A is DOUBLE PRECISION array, dimension ( LDA, N ) Before entry with UPLO = ‘U’ or ‘u’, the leading n by n upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced. On exit, the upper triangular part of the array A is overwritten by the upper triangular part of the updated matrix. Before entry with UPLO = ‘L’ or ‘l’, the leading n by n lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced. On exit, the lower triangular part of the array A is overwritten by the lower triangular part of the updated matrix. \endverbatim

\param[in] LDA \verbatim LDA is INTEGER On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). \endverbatim \author Univ. of Tennessee \author Univ. of California Berkeley \author Univ. of Colorado Denver \author NAG Ltd. \date December 2016 \ingroup double_blas_level2 \par Further Details:

\verbatim

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. \endverbatim

Arguments

Type IntentOptional Attributes Name
character(len=1) :: UPLO
integer :: N
double precision :: ALPHA
double precision :: X(*)
integer :: INCX
double precision :: Y(*)
integer :: INCY
double precision :: A(LDA,*)
integer :: LDA