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.3			       December	2, 2018			  HPL_dgemv(3)

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

home | help