1CGERQ2(1) LAPACK routine (version 3.1) CGERQ2(1)
2
3
4
6 CGERQ2 - an RQ factorization of a complex m by n matrix A
7
9 SUBROUTINE CGERQ2( M, N, A, LDA, TAU, WORK, INFO )
10
11 INTEGER INFO, LDA, M, N
12
13 COMPLEX A( LDA, * ), TAU( * ), WORK( * )
14
16 CGERQ2 computes an RQ factorization of a complex m by n matrix A: A = R
17 * Q.
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, if m <= n, the upper
29 triangle of the subarray A(1:m,n-m+1:n) contains the m by m
30 upper triangular matrix R; if m >= n, the elements on and above
31 the (m-n)-th subdiagonal contain the m by n upper trapezoidal
32 matrix R; the remaining elements, with the array TAU, represent
33 the unitary matrix Q as a product of elementary reflectors (see
34 Further Details).
35
36 LDA (input) INTEGER
37 The leading dimension of the array A. LDA >= max(1,M).
38
39 TAU (output) COMPLEX array, dimension (min(M,N))
40 The scalar factors of the elementary reflectors (see Further
41 Details).
42
43 WORK (workspace) COMPLEX array, dimension (M)
44
45 INFO (output) INTEGER
46 = 0: successful exit
47 < 0: if INFO = -i, the i-th argument had an illegal value
48
50 The matrix Q is represented as a product of elementary reflectors
51
52 Q = H(1)' H(2)' . . . H(k)', where k = min(m,n).
53
54 Each H(i) has the form
55
56 H(i) = I - tau * v * v'
57
58 where tau is a complex scalar, and v is a complex vector with v(n-
59 k+i+1:n) = 0 and v(n-k+i) = 1; conjg(v(1:n-k+i-1)) is stored on exit in
60 A(m-k+i,1:n-k+i-1), and tau in TAU(i).
61
62
63
64
65 LAPACK routine (version 3.1) November 2006 CGERQ2(1)