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