Previous: dsbmv Up: ../lapack-blas.html Next: dspr


dspmv


 NAME
      DSPMV - perform the matrix-vector operation   y := alpha*A*x
      + beta*y,

 SYNOPSIS
      SUBROUTINE DSPMV ( UPLO, N, ALPHA, AP, X, INCX, BETA, Y,
                       INCY )

          DOUBLE       PRECISION ALPHA, BETA

          INTEGER      INCX, INCY, N

          CHARACTER*1  UPLO

          DOUBLE       PRECISION AP( * ), X( * ), Y( * )

 PURPOSE
      DSPMV  performs the matrix-vector operation

      where alpha and beta are scalars, x and y are n element vec-
      tors and A is an n by n symmetric 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  - DOUBLE PRECISION.
             On entry, ALPHA specifies the scalar alpha.
             Unchanged on exit.

      AP     - DOUBLE PRECISION 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 symmetric 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.  Before entry with UPLO =
             'L' or 'l', the array AP must contain the lower tri-
             angular part of the symmetric matrix packed sequen-
             tially, 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.  Unchanged on exit.

      X      - DOUBLE PRECISION 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.

      BETA   - DOUBLE PRECISION.
             On entry, BETA specifies the scalar beta. When BETA
             is supplied as zero then Y need not be set on input.
             Unchanged on exit.

      Y      - DOUBLE PRECISION array of dimension at least
             ( 1 + ( n - 1 )*abs( INCY ) ).  Before entry, the
             incremented array Y must contain the n element vector
             y. On exit, Y is overwritten by the updated vector y.

      INCY   - INTEGER.
             On entry, INCY specifies the increment for the ele-
             ments of Y. INCY must not be zero.  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.