1CLARF(1) LAPACK auxiliary routine (version 3.1) CLARF(1)
2
3
4
6 CLARF - a complex elementary reflector H to a complex M-by-N matrix C,
7 from either the left or the right
8
10 SUBROUTINE CLARF( SIDE, M, N, V, INCV, TAU, C, LDC, WORK )
11
12 CHARACTER SIDE
13
14 INTEGER INCV, LDC, M, N
15
16 COMPLEX TAU
17
18 COMPLEX C( LDC, * ), V( * ), WORK( * )
19
21 CLARF applies a complex elementary reflector H to a complex M-by-N
22 matrix C, from either the left or the right. H is represented in the
23 form
24
25 H = I - tau * v * v'
26
27 where tau is a complex scalar and v is a complex vector.
28
29 If tau = 0, then H is taken to be the unit matrix.
30
31 To apply H' (the conjugate transpose of H), supply conjg(tau) instead
32 tau.
33
34
36 SIDE (input) CHARACTER*1
37 = 'L': form H * C
38 = 'R': form C * H
39
40 M (input) INTEGER
41 The number of rows of the matrix C.
42
43 N (input) INTEGER
44 The number of columns of the matrix C.
45
46 V (input) COMPLEX array, dimension
47 (1 + (M-1)*abs(INCV)) if SIDE = 'L' or (1 + (N-1)*abs(INCV)) if
48 SIDE = 'R' The vector v in the representation of H. V is not
49 used if TAU = 0.
50
51 INCV (input) INTEGER
52 The increment between elements of v. INCV <> 0.
53
54 TAU (input) COMPLEX
55 The value tau in the representation of H.
56
57 C (input/output) COMPLEX array, dimension (LDC,N)
58 On entry, the M-by-N matrix C. On exit, C is overwritten by
59 the matrix H * C if SIDE = 'L', or C * H if SIDE = 'R'.
60
61 LDC (input) INTEGER
62 The leading dimension of the array C. LDC >= max(1,M).
63
64 WORK (workspace) COMPLEX array, dimension
65 (N) if SIDE = 'L' or (M) if SIDE = 'R'
66
67
68
69 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006 CLARF(1)