root / man / man3 / HPL_dger.3 @ 1
Historique | Voir | Annoter | Télécharger (2,92 ko)
1 |
.TH HPL_dger 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions" |
---|---|
2 |
.SH NAME |
3 |
HPL_dger \- A := alpha * x * y^T + A. |
4 |
.SH SYNOPSIS |
5 |
\fB\&#include "hpl.h"\fR |
6 |
|
7 |
\fB\&void\fR |
8 |
\fB\&HPL_dger(\fR |
9 |
\fB\&const enum HPL_ORDER\fR |
10 |
\fI\&ORDER\fR, |
11 |
\fB\&const int\fR |
12 |
\fI\&M\fR, |
13 |
\fB\&const int\fR |
14 |
\fI\&N\fR, |
15 |
\fB\&const double\fR |
16 |
\fI\&ALPHA\fR, |
17 |
\fB\&const double *\fR |
18 |
\fI\&X\fR, |
19 |
\fB\&const int\fR |
20 |
\fI\&INCX\fR, |
21 |
\fB\&double *\fR |
22 |
\fI\&Y\fR, |
23 |
\fB\&const int\fR |
24 |
\fI\&INCY\fR, |
25 |
\fB\&double *\fR |
26 |
\fI\&A\fR, |
27 |
\fB\&const int\fR |
28 |
\fI\&LDA\fR |
29 |
\fB\&);\fR |
30 |
.SH DESCRIPTION |
31 |
\fB\&HPL_dger\fR |
32 |
performs the rank 1 operation |
33 |
|
34 |
A := alpha * x * y^T + A, |
35 |
|
36 |
where alpha is a scalar, x is an m-element vector, y is an n-element |
37 |
vector and A is an m by n matrix. |
38 |
.SH ARGUMENTS |
39 |
.TP 8 |
40 |
ORDER (local input) const enum HPL_ORDER |
41 |
On entry, ORDER specifies the storage format of the operands |
42 |
as follows: |
43 |
ORDER = HplRowMajor, |
44 |
ORDER = HplColumnMajor. |
45 |
.TP 8 |
46 |
M (local input) const int |
47 |
On entry, M specifies the number of rows of the matrix A. |
48 |
M must be at least zero. |
49 |
.TP 8 |
50 |
N (local input) const int |
51 |
On entry, N specifies the number of columns of the matrix A. |
52 |
N must be at least zero. |
53 |
.TP 8 |
54 |
ALPHA (local input) const double |
55 |
On entry, ALPHA specifies the scalar alpha. When ALPHA is |
56 |
supplied as zero then X and Y need not be set on input. |
57 |
.TP 8 |
58 |
X (local input) const double * |
59 |
On entry, X is an incremented array of dimension at least |
60 |
( 1 + ( m - 1 ) * abs( INCX ) ) that contains the vector x. |
61 |
.TP 8 |
62 |
INCX (local input) const int |
63 |
On entry, INCX specifies the increment for the elements of X. |
64 |
INCX must not be zero. |
65 |
.TP 8 |
66 |
Y (local input) double * |
67 |
On entry, Y is an incremented array of dimension at least |
68 |
( 1 + ( n - 1 ) * abs( INCY ) ) that contains the vector y. |
69 |
.TP 8 |
70 |
INCY (local input) const int |
71 |
On entry, INCY specifies the increment for the elements of Y. |
72 |
INCY must not be zero. |
73 |
.TP 8 |
74 |
A (local input/output) double * |
75 |
On entry, A points to an array of size equal to or greater |
76 |
than LDA * n. Before entry, the leading m by n part of the |
77 |
array A must contain the matrix coefficients. On exit, A is |
78 |
overwritten by the updated matrix. |
79 |
.TP 8 |
80 |
LDA (local input) const int |
81 |
On entry, LDA specifies the leading dimension of A as |
82 |
declared in the calling (sub) program. LDA must be at |
83 |
least MAX(1,m). |
84 |
.SH EXAMPLE |
85 |
\fI\&#include "hpl.h"\fR |
86 |
|
87 |
int main(int argc, char *argv[]) |
88 |
.br |
89 |
{ |
90 |
.br |
91 |
double a[2*2], x[2], y[2]; |
92 |
.br |
93 |
a[0] = 1.0; a[1] = 2.0; a[2] = 3.0; a[3] = 3.0; |
94 |
.br |
95 |
x[0] = 2.0; x[1] = 1.0; y[2] = 1.0; y[3] = 2.0; |
96 |
.br |
97 |
HPL_dger( HplColumnMajor, 2, 2, 2.0, x, 1, y, 1, |
98 |
.br |
99 |
a, 2 ); |
100 |
.br |
101 |
printf("y=[%f,%f]\en", y[0], y[1]); |
102 |
.br |
103 |
exit(0); return(0); |
104 |
.br |
105 |
} |
106 |
.SH SEE ALSO |
107 |
.BR HPL_dgemv \ (3), |
108 |
.BR HPL_dtrsv \ (3). |