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