1CGEQR2(1) LAPACK routine (version 3.1) CGEQR2(1)
2
3
4
6 CGEQR2 - a QR factorization of a complex m by n matrix A
7
9 SUBROUTINE CGEQR2( M, N, A, LDA, TAU, WORK, INFO )
10
11 INTEGER INFO, LDA, M, N
12
13 COMPLEX A( LDA, * ), TAU( * ), WORK( * )
14
16 CGEQR2 computes a QR factorization of a complex m by n matrix A: A = Q
17 * R.
18
19
21 M (input) INTEGER
22 The number of rows of the matrix A. M >= 0.
23
24 N (input) INTEGER
25 The number of columns of the matrix A. N >= 0.
26
27 A (input/output) COMPLEX array, dimension (LDA,N)
28 On entry, the m by n matrix A. On exit, the elements on and
29 above the diagonal of the array contain the min(m,n) by n upper
30 trapezoidal matrix R (R is upper triangular if m >= n); the
31 elements below the diagonal, with the array TAU, represent the
32 unitary matrix Q as a product of elementary reflectors (see
33 Further Details). LDA (input) INTEGER The leading dimenā
34 sion of the array A. LDA >= max(1,M).
35
36 TAU (output) COMPLEX array, dimension (min(M,N))
37 The scalar factors of the elementary reflectors (see Further
38 Details).
39
40 WORK (workspace) COMPLEX array, dimension (N)
41
42 INFO (output) INTEGER
43 = 0: successful exit
44 < 0: if INFO = -i, the i-th argument had an illegal value
45
47 The matrix Q is represented as a product of elementary reflectors
48
49 Q = H(1) H(2) . . . H(k), where k = min(m,n).
50
51 Each H(i) has the form
52
53 H(i) = I - tau * v * v'
54
55 where tau is a complex scalar, and v is a complex vector with v(1:i-1)
56 = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and tau in
57 TAU(i).
58
59
60
61
62 LAPACK routine (version 3.1) November 2006 CGEQR2(1)