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