Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HPL_dgemv(3)		     HPL Library Functions		  HPL_dgemv(3)

NAME
       HPL_dgemv - y :=	beta * y + alpha * op(A) * x.

SYNOPSIS
       #include	"hpl.h"

       void HPL_dgemv( const enum HPL_ORDER ORDER, const enum HPL_TRANS	TRANS,
       const int M, const int N, const double ALPHA, const double *  A,	 const
       int  LDA, const double *	X, const int INCX, const double	BETA, double *
       Y, const	int INCY );

DESCRIPTION
       HPL_dgemv performs one of the matrix-vector operations

	   y :=	alpha *	op( A )	* x + beta * y,

	where op( X ) is one of

	   op( X ) = X	 or   op( X ) =	X^T.

       where alpha and beta are	scalars, x and y are vectors and  A  is	 an  m
       by n matrix.

ARGUMENTS
       ORDER   (local input)	       const enum HPL_ORDER
	       On  entry,  ORDER  specifies the	storage	format of the operands
	       as follows:
		  ORDER	= HplRowMajor,
		  ORDER	= HplColumnMajor.

       TRANS   (local input)	       const enum HPL_TRANS
	       On entry,  TRANS	 specifies the	operation to be	 performed  as
	       follows:
		  TRANS	= HplNoTrans y := alpha*A  *x +	beta*y,
		  TRANS	= HplTrans   y := alpha*A^T*x +	beta*y.

       M       (local input)	       const int
	       On  entry,   M  specifies  the number of	rows of	 the matrix A.
	       M must be at least zero.

       N       (local input)	       const int
	       On entry, N  specifies the number of columns of the  matrix  A.
	       N must be at least zero.

       ALPHA   (local input)	       const double
	       On  entry,  ALPHA specifies the scalar alpha.   When  ALPHA  is
	       supplied	as zero	then  A	and X  need not	be set on input.

       A       (local input)	       const double *
	       On entry,  A  points  to	an array of size equal to  or  greater
	       than  LDA  * n.	Before	entry, the leading m by	n part	of the
	       array  A	 must contain the matrix coefficients.

       LDA     (local input)	       const int
	       On entry,  LDA  specifies  the  leading	dimension  of	A   as
	       declared	  in   the  calling  (sub) program.  LDA  must	be  at
	       least MAX(1,m).

       X       (local input)	       const double *
	       On entry,  X  is	an incremented array of	dimension  at  least (
	       1 + ( n - 1 ) * abs( INCX ) )  that  contains the vector	x.

       INCX    (local input)	       const int
	       On  entry,  INCX	specifies the increment	for the	elements of X.
	       INCX must not be	zero.

       BETA    (local input)	       const double
	       On entry, BETA  specifies the scalar beta.    When   ALPHA   is
	       supplied	as zero	then  Y	 need not be set on input.

       Y       (local input/output)    double *
	       On entry,  Y  is	an incremented array of	dimension  at  least (
	       1 + ( n - 1 ) * abs( INCY ) )  that   contains  the  vector  y.
	       Before  entry  with BETA	non-zero, the incremented array	Y must
	       contain the vector  y.  On exit,	 Y  is	overwritten   by   the
	       updated vector y.

       INCY    (local input)	       const int
	       On  entry,  INCY	specifies the increment	for the	elements of Y.
	       INCY must not be	zero.

EXAMPLE
       #include	"hpl.h"

       int main(int argc, char *argv[])
       {
	  double a[2*2], x[2], y[2];
	  a[0] = 1.0; a[1] = 2.0; a[2] = 3.0; a[3] = 3.0;
	  x[0] = 2.0; x[1] = 1.0; y[2] = 1.0; y[3] = 2.0;
	  HPL_dgemv( HplColumnMajor, HplNoTrans, 2, 2, 2.0,
		     a,	2, x, 1, -1.0, y, 1 );
	  printf("y=[%f,%f]\n",	y[0], y[1]);
	  exit(0); return(0);
       }

SEE ALSO
       HPL_dger	(3), HPL_dtrsv (3).

HPL 2.1			       October 26, 2012			  HPL_dgemv(3)

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | EXAMPLE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HPL_dgemv&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help