1DLARFB(1) LAPACK auxiliary routine (version 3.2) DLARFB(1)
2
3
4
6 DLARFB - applies a real block reflector H or its transpose H' to a real
7 m by n matrix C, from either the left or the right
8
10 SUBROUTINE DLARFB( SIDE, TRANS, DIRECT, STOREV, M, N, K, V, LDV, T,
11 LDT, C, LDC, WORK, LDWORK )
12
13 IMPLICIT NONE
14
15 CHARACTER DIRECT, SIDE, STOREV, TRANS
16
17 INTEGER K, LDC, LDT, LDV, LDWORK, M, N
18
19 DOUBLE PRECISION C( LDC, * ), T( LDT, * ), V( LDV, * ),
20 WORK( LDWORK, * )
21
23 DLARFB applies a real block reflector H or its transpose H' to a real m
24 by n matrix C, from either the left or the right.
25
27 SIDE (input) CHARACTER*1
28 = 'L': apply H or H' from the Left
29 = 'R': apply H or H' from the Right
30
31 TRANS (input) CHARACTER*1
32 = 'N': apply H (No transpose)
33 = 'T': apply H' (Transpose)
34
35 DIRECT (input) CHARACTER*1
36 Indicates how H is formed from a product of elementary reflec‐
37 tors = 'F': H = H(1) H(2) . . . H(k) (Forward)
38 = 'B': H = H(k) . . . H(2) H(1) (Backward)
39
40 STOREV (input) CHARACTER*1
41 Indicates how the vectors which define the elementary reflec‐
42 tors are stored:
43 = 'C': Columnwise
44 = 'R': Rowwise
45
46 M (input) INTEGER
47 The number of rows of the matrix C.
48
49 N (input) INTEGER
50 The number of columns of the matrix C.
51
52 K (input) INTEGER
53 The order of the matrix T (= the number of elementary reflec‐
54 tors whose product defines the block reflector).
55
56 V (input) DOUBLE PRECISION array, dimension
57 (LDV,K) if STOREV = 'C' (LDV,M) if STOREV = 'R' and SIDE = 'L'
58 (LDV,N) if STOREV = 'R' and SIDE = 'R' The matrix V. See fur‐
59 ther details.
60
61 LDV (input) INTEGER
62 The leading dimension of the array V. If STOREV = 'C' and SIDE
63 = 'L', LDV >= max(1,M); if STOREV = 'C' and SIDE = 'R', LDV >=
64 max(1,N); if STOREV = 'R', LDV >= K.
65
66 T (input) DOUBLE PRECISION array, dimension (LDT,K)
67 The triangular k by k matrix T in the representation of the
68 block reflector.
69
70 LDT (input) INTEGER
71 The leading dimension of the array T. LDT >= K.
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 H*C or H'*C or C*H or C*H'.
76
77 LDC (input) INTEGER
78 The leading dimension of the array C. LDA >= max(1,M).
79
80 WORK (workspace) DOUBLE PRECISION array, dimension (LDWORK,K)
81
82 LDWORK (input) INTEGER
83 The leading dimension of the array WORK. If SIDE = 'L', LDWORK
84 >= max(1,N); if SIDE = 'R', LDWORK >= max(1,M).
85
86
87
88 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008 DLARFB(1)