NAME
     dtbmv - perform one of the matrix-vector operations    x  :=
     A*x or x := A'*x
SYNOPSIS
     SUBROUTINE DTBMV ( UPLO, TRANS, DIAG, N, K, A, LDA, X,  INCX
               )
     INTEGER INCX, K, LDA, N
     CHARACTER*1 DIAG, TRANS, UPLO
     DOUBLE PRECISION A( LDA, * ), X( * )
     #include <sunperf.h>
     void dtbmv(char uplo, char trans, char diag, int n,  int  k,
               double *da, int lda, double *dx, int incx);
PURPOSE
     DTBMV  performs one of the matrix-vector operations x := A*x
     or  x  := A'*x where x is an n element vector and  A is an n
     by n unit, or  non-unit,  upper  or  lower  triangular  band
     matrix, with ( k + 1 ) diagonals.
PARAMETERS
     UPLO      - CHARACTER*1.
               On entry, UPLO specifies whether the matrix is  an
               upper or lower triangular matrix as follows:
               UPLO = 'U' or  'u'    A  is  an  upper  triangular
               matrix.
               UPLO = 'L'  or  'l'    A  is  a  lower  triangular
               matrix.
               Unchanged on exit.
     TRANS     - CHARACTER*1.
               On entry, TRANS specifies the operation to be per-
               formed as follows:
               TRANS = 'N' or 'n'   x := A*x.
               TRANS = 'T' or 't'   x := A'*x.
               TRANS = 'C' or 'c'   x := A'*x.
               Unchanged on exit.
     DIAG      - CHARACTER*1.
               On entry, DIAG specifies whether or not A is  unit
               triangular as follows:
               DIAG = 'U' or 'u'   A is assumed to be  unit  tri-
               angular.
               DIAG = 'N' or 'n'   A is not assumed  to  be  unit
               triangular.
               Unchanged on exit.
     N         - INTEGER.
               On entry, N specifies the order of the  matrix  A.
               N must be at least zero.  Unchanged on exit.
     K         - INTEGER.
               On entry with UPLO = 'U' or 'u', K  specifies  the
               number  of  super-diagonals  of  the matrix A.  On
               entry with UPLO = 'L'  or  'l',  K  specifies  the
               number  of  sub-diagonals of the matrix A.  K must
               satisfy  0 .le. K.  Unchanged on exit.
     A         - DOUBLE PRECISION array of DIMENSION ( LDA, n ).
               Before entry with UPLO = 'U' or 'u', the leading (
               k  + 1 ) by n part of the array A must contain the
               upper triangular band part of the matrix of  coef-
               ficients,  supplied  column  by  column,  with the
               leading diagonal of the matrix in row ( k + 1 ) of
               the  array,  the  first super-diagonal starting at
               position 2 in row k, and so on. The top left k  by
               k  triangle of the array A is not referenced.  The
               following program segment will transfer  an  upper
               triangular  band  matrix  from  conventional  full
               matrix storage to band storage:
               DO 20, J = 1, N M = K + 1 - J DO 10, I = MAX( 1, J
               - K ), J A( M + I, J ) = matrix( I, J ) 10    CON-
               TINUE 20 CONTINUE
               Before entry with UPLO = 'L' or 'l', the leading (
               k  + 1 ) by n part of the array A must contain the
               lower triangular band part of the matrix of  coef-
               ficients,  supplied  column  by  column,  with the
               leading diagonal of the matrix in  row  1  of  the
               array, the first sub-diagonal starting at position
               1 in row 2, and so on. The bottom  right  k  by  k
               triangle  of  the  array A is not referenced.  The
               following program segment will  transfer  a  lower
               triangular  band  matrix  from  conventional  full
               matrix storage to band storage:
               DO 20, J = 1, N M = 1 - J DO 10, I = J, MIN( N,  J
               +  K  )  A( M + I, J ) = matrix( I, J ) 10    CON-
               TINUE 20 CONTINUE
               Note that when DIAG = 'U' or 'u' the  elements  of
               the array A corresponding to the diagonal elements
               of the matrix are not referenced, but are  assumed
               to be unity.  Unchanged on exit.
     LDA       - INTEGER.
               On entry, LDA specifies the first dimension  of  A
               as declared in the calling (sub) program. LDA must
               be at least ( k + 1 ).  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. On exit, X is overwritten with the tran-
               formed vector x.
     INCX      - INTEGER.
               On entry, INCX specifies  the  increment  for  the
               elements  of  X. INCX must not be zero.  Unchanged
               on exit.
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |