1DORMR3(1) LAPACK routine (version 3.1) DORMR3(1)
2
3
4
6 DORMR3 - the general real m by n matrix C with Q * C if SIDE = 'L'
7 and TRANS = 'N', or Q'* C if SIDE = 'L' and TRANS = 'T', or C * Q
8 if SIDE = 'R' and TRANS = 'N', or C * Q' if SIDE = 'R' and TRANS =
9 'T',
10
12 SUBROUTINE DORMR3( SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, WORK,
13 INFO )
14
15 CHARACTER SIDE, TRANS
16
17 INTEGER INFO, K, L, LDA, LDC, M, N
18
19 DOUBLE PRECISION A( LDA, * ), C( LDC, * ), TAU( * ), WORK(
20 * )
21
23 DORMR3 overwrites the general real m by n matrix C with
24
25 where Q is a real orthogonal matrix defined as the product of k elemen‐
26 tary reflectors
27
28 Q = H(1) H(2) . . . H(k)
29
30 as returned by DTZRZF. Q is of order m if SIDE = 'L' and of order n if
31 SIDE = 'R'.
32
33
35 SIDE (input) CHARACTER*1
36 = 'L': apply Q or Q' from the Left
37 = 'R': apply Q or Q' from the Right
38
39 TRANS (input) CHARACTER*1
40 = 'N': apply Q (No transpose)
41 = 'T': apply Q' (Transpose)
42
43 M (input) INTEGER
44 The number of rows of the matrix C. M >= 0.
45
46 N (input) INTEGER
47 The number of columns of the matrix C. N >= 0.
48
49 K (input) INTEGER
50 The number of elementary reflectors whose product defines the
51 matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
52 0.
53
54 L (input) INTEGER
55 The number of columns of the matrix A containing the meaningful
56 part of the Householder reflectors. If SIDE = 'L', M >= L >=
57 0, if SIDE = 'R', N >= L >= 0.
58
59 A (input) DOUBLE PRECISION array, dimension
60 (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must
61 contain the vector which defines the elementary reflector H(i),
62 for i = 1,2,...,k, as returned by DTZRZF in the last k rows of
63 its array argument A. A is modified by the routine but
64 restored on exit.
65
66 LDA (input) INTEGER
67 The leading dimension of the array A. LDA >= max(1,K).
68
69 TAU (input) DOUBLE PRECISION array, dimension (K)
70 TAU(i) must contain the scalar factor of the elementary reflec‐
71 tor H(i), as returned by DTZRZF.
72
73 C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
74 On entry, the m-by-n matrix C. On exit, C is overwritten by
75 Q*C or Q'*C or C*Q' or C*Q.
76
77 LDC (input) INTEGER
78 The leading dimension of the array C. LDC >= max(1,M).
79
80 WORK (workspace) DOUBLE PRECISION array, dimension
81 (N) if SIDE = 'L', (M) if SIDE = 'R'
82
83 INFO (output) INTEGER
84 = 0: successful exit
85 < 0: if INFO = -i, the i-th argument had an illegal value
86
88 Based on contributions by
89 A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
90
91
92
93
94 LAPACK routine (version 3.1) November 2006 DORMR3(1)