Statistiques
| Révision :

root / www / HPL_dger.html @ 7

Historique | Voir | Annoter | Télécharger (3,56 ko)

1 1 equemene
<HTML>
2 1 equemene
<HEAD>
3 1 equemene
<TITLE>HPL_dger HPL 2.0 Library Functions September 10, 2008</TITLE>
4 1 equemene
</HEAD>
5 1 equemene
6 1 equemene
<BODY BGCOLOR="WHITE" TEXT = "#000000" LINK = "#0000ff" VLINK = "#000099"
7 1 equemene
      ALINK = "#ffff00">
8 1 equemene
9 1 equemene
<H1>Name</H1>
10 1 equemene
<B>HPL_dger</B> A := alpha * x * y^T + A.
11 1 equemene
12 1 equemene
<H1>Synopsis</H1>
13 1 equemene
<CODE>#include "hpl.h"</CODE><BR><BR>
14 1 equemene
<CODE>void</CODE>
15 1 equemene
<CODE>HPL_dger(</CODE>
16 1 equemene
<CODE>const enum HPL_ORDER</CODE>
17 1 equemene
<CODE>ORDER</CODE>,
18 1 equemene
<CODE>const int</CODE>
19 1 equemene
<CODE>M</CODE>,
20 1 equemene
<CODE>const int</CODE>
21 1 equemene
<CODE>N</CODE>,
22 1 equemene
<CODE>const double</CODE>
23 1 equemene
<CODE>ALPHA</CODE>,
24 1 equemene
<CODE>const double *</CODE>
25 1 equemene
<CODE>X</CODE>,
26 1 equemene
<CODE>const int</CODE>
27 1 equemene
<CODE>INCX</CODE>,
28 1 equemene
<CODE>double *</CODE>
29 1 equemene
<CODE>Y</CODE>,
30 1 equemene
<CODE>const int</CODE>
31 1 equemene
<CODE>INCY</CODE>,
32 1 equemene
<CODE>double *</CODE>
33 1 equemene
<CODE>A</CODE>,
34 1 equemene
<CODE>const int</CODE>
35 1 equemene
<CODE>LDA</CODE>
36 1 equemene
<CODE>);</CODE>
37 1 equemene
38 1 equemene
<H1>Description</H1>
39 1 equemene
<B>HPL_dger</B>
40 1 equemene
performs the rank 1 operation
41 1 equemene
42 1 equemene
    A := alpha * x * y^T + A,
43 1 equemene
44 1 equemene
where alpha is a scalar,  x is an m-element vector, y is an n-element
45 1 equemene
vector and A is an m by n matrix.
46 1 equemene
47 1 equemene
<H1>Arguments</H1>
48 1 equemene
<PRE>
49 1 equemene
ORDER   (local input)                 const enum HPL_ORDER
50 1 equemene
        On entry, ORDER  specifies the storage format of the operands
51 1 equemene
        as follows:
52 1 equemene
           ORDER = HplRowMajor,
53 1 equemene
           ORDER = HplColumnMajor.
54 1 equemene
</PRE>
55 1 equemene
<PRE>
56 1 equemene
M       (local input)                 const int
57 1 equemene
        On entry,  M  specifies  the number of rows of  the matrix A.
58 1 equemene
        M must be at least zero.
59 1 equemene
</PRE>
60 1 equemene
<PRE>
61 1 equemene
N       (local input)                 const int
62 1 equemene
        On entry, N  specifies the number of columns of the matrix A.
63 1 equemene
        N must be at least zero.
64 1 equemene
</PRE>
65 1 equemene
<PRE>
66 1 equemene
ALPHA   (local input)                 const double
67 1 equemene
        On entry, ALPHA specifies the scalar alpha.   When  ALPHA  is
68 1 equemene
        supplied as zero then  X and Y  need not be set on input.
69 1 equemene
</PRE>
70 1 equemene
<PRE>
71 1 equemene
X       (local input)                 const double *
72 1 equemene
        On entry,  X  is an incremented array of dimension  at  least
73 1 equemene
        ( 1 + ( m - 1 ) * abs( INCX ) )  that  contains the vector x.
74 1 equemene
</PRE>
75 1 equemene
<PRE>
76 1 equemene
INCX    (local input)                 const int
77 1 equemene
        On entry, INCX specifies the increment for the elements of X.
78 1 equemene
        INCX must not be zero.
79 1 equemene
</PRE>
80 1 equemene
<PRE>
81 1 equemene
Y       (local input)                 double *
82 1 equemene
        On entry,  Y  is an incremented array of dimension  at  least
83 1 equemene
        ( 1 + ( n - 1 ) * abs( INCY ) )  that  contains the vector y.
84 1 equemene
</PRE>
85 1 equemene
<PRE>
86 1 equemene
INCY    (local input)                 const int
87 1 equemene
        On entry, INCY specifies the increment for the elements of Y.
88 1 equemene
        INCY must not be zero.
89 1 equemene
</PRE>
90 1 equemene
<PRE>
91 1 equemene
A       (local input/output)          double *
92 1 equemene
        On entry,  A  points  to an array of size equal to or greater
93 1 equemene
        than LDA * n.  Before  entry, the leading m by n part  of the
94 1 equemene
        array  A  must contain the matrix coefficients. On exit, A is
95 1 equemene
        overwritten by the updated matrix.
96 1 equemene
</PRE>
97 1 equemene
<PRE>
98 1 equemene
LDA     (local input)                 const int
99 1 equemene
        On entry,  LDA  specifies  the  leading  dimension  of  A  as
100 1 equemene
        declared  in  the  calling  (sub) program.  LDA  must  be  at
101 1 equemene
        least MAX(1,m).
102 1 equemene
</PRE>
103 1 equemene
104 1 equemene
<H1>Example</H1>
105 1 equemene
<CODE>#include "hpl.h"</CODE><BR><BR>
106 1 equemene
<PRE>
107 1 equemene
int main(int argc, char *argv[])
108 1 equemene
{
109 1 equemene
   double a[2*2], x[2], y[2];
110 1 equemene
   a[0] = 1.0; a[1] = 2.0; a[2] = 3.0; a[3] = 3.0;
111 1 equemene
   x[0] = 2.0; x[1] = 1.0; y[2] = 1.0; y[3] = 2.0;
112 1 equemene
   HPL_dger( HplColumnMajor, 2, 2, 2.0, x, 1, y, 1,
113 1 equemene
             a, 2 );
114 1 equemene
   printf("y=[%f,%f]\n", y[0], y[1]);
115 1 equemene
   exit(0); return(0);
116 1 equemene
}
117 1 equemene
</PRE>
118 1 equemene
119 1 equemene
<H1>See Also</H1>
120 1 equemene
<A HREF="HPL_dgemv.html">HPL_dgemv</A>,
121 1 equemene
<A HREF="HPL_dtrsv.html">HPL_dtrsv</A>.
122 1 equemene
123 1 equemene
</BODY>
124 1 equemene
</HTML>