*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> libblas/sbmv (3)              
Title
Content
Arch
Section
 

Contents


_SBMV,_HBMV(3F)						       _SBMV,_HBMV(3F)


NAME    [Toc]    [Back]

     dsbmv, ssbmv, zhbmv, chbmv	- BLAS Level Two   (Symmetric/Hermitian)
     Banded Matrix - Vector Product


FORTRAN	77 SYNOPSIS
     subroutine	dsbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   character*1	      uplo
	   integer	      n, k, lda, incx, incy
	   double precision   alpha, beta
	   double precision   a( lda,*), x(*), y(*)

     subroutine	ssbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   character*1	      uplo
	   integer	      n, k, lda, incx, incy
	   real		      alpha, beta
	   real		      a( lda,*), x(*), y(*)

     subroutine	zhbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   character*1	      uplo
	   integer	      n, k, lda, incx, incy
	   double complex     alpha, beta
	   double complex     a( lda,*), x(*), y(*)

     subroutine	chbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   character*1	      uplo
	   integer	      n, k, lda, incx, incy
	   complex	      alpha, beta
	   complex	      a( lda,*), x(*), y(*)

C SYNOPSIS    [Toc]    [Back]

     void dsbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   MatrixTriangle     uplo;
	   Integer	      n, k, lda, incx, incy;
	   double	      alpha, beta;
	   double	      (*a)[lda*n], (*x)[ n ], (*y)[ n ];

     void ssbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   MatrixTriangle     uplo;
	   Integer	      n, k, lda, incx, incy;
	   float	      alpha, beta;
	   float	      (*a)[lda*n], (*x)[ n ], (*y)[ n ];

     void zhbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   MatrixTriangle     uplo;
	   Integer	      n, k, lda, incx, incy;
	   Zomplex	      alpha, beta;
	   Zomplex	      (*a)[lda*n], (*x)[ n ], (*y)[ n ];

     void chbmv( uplo,n,k,alpha,a,lda,x,incx,beta,y,incy )
	   MatrixTriangle     uplo;



									Page 1






_SBMV,_HBMV(3F)						       _SBMV,_HBMV(3F)



	   Integer	      n, k, lda, incx, incy;
	   Complex	      alpha, beta;
	   Complex	      (*a)[lda*n], (*x)[ n ], (*y)[ n ];


DESCRIPTION    [Toc]    [Back]

     dsbmv , ssbmv , dhbmv and chbmv perform the matrix-vector operation

	   y :=	alpha*A*x + beta*y,

     where alpha and beta are scalars, x and y are n element vectors and A is
     an	n by n symmetric/hermitian band	matrix,	with k super-diagonals.

PARAMETERS    [Toc]    [Back]

     uplo    On	entry, uplo specifies whether the upper	or lower triangular
	     part of the matrix	A is being supplied as follows:



	     FORTRAN
	     uplo = 'U'	or 'u'	 The upper triangular part of A	is
				 being supplied.
	     uplo = 'L'	or 'l'	 The lower triangular part of A	is
				 being supplied.

	     C
	     uplo = UpperTriangle     The upper	triangular part	of A is
				      being supplied.
	     uplo = LowerTriangle     The lower	triangular part	of A is
				      being supplied.

	     Unchanged on exit.

     n	     On	entry, n specifies the the order of the	matrix A.  n must be
	     at	least zero.
	     Unchanged on exit.

     alpha   specifies the scalar alpha.
	     Unchanged on exit.

     a	     An	array containing the matrix A.

	     FORTRAN
	     Array of dimension	( lda, n ).

	     C
	     A pointer to an array of size lda*n.
	     See note below about array	storage	convention for C.

	     Before entry with uplo = 'U' or 'u' or , the leading ( k +	1 ) by



									Page 2






_SBMV,_HBMV(3F)						       _SBMV,_HBMV(3F)



	     n part of the array A must	contain	the upper triangular band part
	     of	the symmetric/hermitian	matrix,	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 the
	     upper triangular part of a	symmetric/hermitian band matrix	from
	     conventional full matrix storage to band storage:


	     FORTRAN
			    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    CONTINUE
			 20 CONTINUE
	     C
			 for ( j = 0; j	< n; j++ )
			 {
			       m = k - j;
			       for ( i = MAX(0,	j-k); i	< j )
				     a(	j*lda +	m+i ) =	Matrix(	j*ldm +	i );
			 }



	     Before entry with UPLO = 'L' or 'l' or , the leading ( k +	1 ) by
	     n part of the array A must	contain	the lower triangular band part
	     of	the symmetric/hermitian	matrix,	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 the
	     lower triangular part of a	symmetric/hermitian band matrix	from
	     conventional full matrix storage to band storage:


	     FORTRAN
			    DO 20, J = 1, N
			       M = 1 - J
			       DO 10, I	= J, MIN( N, J + K )
				  A( M + I, J )	= matrix( I, J )
			 10    CONTINUE
			 20 CONTINUE

	     C
			 for ( j = 0; j	< n; j++ )
			 {
			       m = 1 - j;
			       for ( i = j; i <	MIN( n,	j+k ); i++ )
				     a(	j*lda +	m+i ) =	Matrix(	j*ldm +	i );



									Page 3






_SBMV,_HBMV(3F)						       _SBMV,_HBMV(3F)



			 }

	     Unchanged on exit.

     lda     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	     Array of size at least ( 1	+ ( n -	1 )*abs( incx )	). Before
	     entry, the	incremented array x must contain the n element vector
	     x.
	     Unchanged on exit.

     incx    On	entry, incx specifies the increment for	the elements of	x.
	     incx must not be zero.
	     Unchanged on exit.

     beta    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	     Array of size 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    On	entry, incy specifies the increment for	the elements of	y.
	     incy must not be zero.
	     Unchanged on exit.


C ARRAY	STORAGE	CONVENTION
       The matrices  are assumed  to be	stored in a  one dimensional C array
       in an analogous fashion as a Fortran array (column major). Therefore,
       the element  A(i+1,j)  of matrix	A  is stored  immediately  after the
       element	A(i,j),	while  A(i,j+1)	is lda	elements apart from  A(i,j).
       The element A(i,j) of the matrix	can be accessed	directly by reference
       to  a[ (j-1)*lda	+ (i-1)	].

AUTHORS    [Toc]    [Back]

	  Jack Dongarra, Argonne National Laboratory.
	  Iain Duff, AERE Harwell.
	  Jeremy Du Croz, Numerical Algorithms Group Ltd.
	  Sven Hammarling, Numerical Algorithms	Group Ltd.

TUNING    [Toc]    [Back]

	  DSBMV	and SSBMV are optimized	and parallelized for SGI R3000 and
	  R4x00	platforms.
	  ZHBMV	and CHBMV are optimized	and parallelized for SGI R3000,	R4x00
	  and R8000 platforms.


									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
symv IRIX BLAS Level Two (Symmetric/Hermitian)Matrix
syr IRIX BLAS Level Two (Symmetric/Hermitian)Matrix Rank 1 Update FORTRAN 77 SYNOPSIS subroutine dsyr( uplo, n, alpha,
syr2 IRIX BLAS Level Two (Symmetric/Hermitian)Matrix Rank 2 Update FORTRAN 77 SYNOPSIS subroutine dsyr2( uplo, n, alpha,
hemm IRIX BLAS level three Hermitian Matrix Product FORTRAN 77 SYNOPSIS subroutine zhemm( side,uplo,m,n,alpha,a,lda,b,ld
her2k IRIX BLAS level three Hermitian Rank 2K Update FORTRAN 77 SYNOPSIS subroutine zher2k( uplo,trans,n,k,alpha,a,lda,b,
herk IRIX BLAS level three Hermitian Rank K Update FORTRAN 77 SYNOPSIS subroutine zherk(uplo,trans,n,k,alpha,a,lda,beta,
symm IRIX BLAS level three Symmetric Matrix Product FORTRAN 77 SYNOPSIS subroutine dsymm( side,uplo,m,n,alpha,a,lda,b,ld
syr2k IRIX BLAS level three Symmetric Rank 2K Update. FORTRAN 77 SYNOPSIS subroutine dsyr2k(uplo,trans,n,k,alpha,a,lda,b,
syrk IRIX BLAS level three Symmetric Rank K Update. FORTRAN 77 SYNOPSIS subroutine dsyrk( uplo, trans, n, k, alpha, a, l
spr2 IRIX BLAS Level Two Symmetric Packed Matrix Rank 2 Update FORTRAN 77 SYNOPSIS subroutine dspr2( uplo, n, alpha, n,
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service