subroutine ssyr ( uplo, n, alpha, x, incx, a, lda ) * .. scalar arguments .. real alpha integer incx, lda, n character*1 uplo * .. array arguments .. real a( lda, * ), x( * ) * .. * * purpose * ======= * * ssyr performs the symmetric rank 1 operation * * a := alpha*x*x' + a, * * where alpha is a real scalar, x is an n element vector and a is an * n by n symmetric matrix. * * parameters * ========== * * uplo - 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. * * 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 - real . * on entry, alpha specifies the scalar alpha. * unchanged on exit. * * x - real 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 elements of * x. incx must not be zero. * unchanged on exit. * * a - real array of 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. * * lda - 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 ). * unchanged on exit. * * * 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. *