1CGERQ2(1) LAPACK routine (version 3.2) CGERQ2(1)
2
3
4
6 CGERQ2 - computes 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
20 M (input) INTEGER
21 The number of rows of the matrix A. M >= 0.
22
23 N (input) INTEGER
24 The number of columns of the matrix A. N >= 0.
25
26 A (input/output) COMPLEX array, dimension (LDA,N)
27 On entry, the m by n matrix A. On exit, if m <= n, the upper
28 triangle of the subarray A(1:m,n-m+1:n) contains the m by m
29 upper triangular matrix R; if m >= n, the elements on and above
30 the (m-n)-th subdiagonal contain the m by n upper trapezoidal
31 matrix R; the remaining elements, with the array TAU, represent
32 the unitary matrix Q as a product of elementary reflectors (see
33 Further Details).
34
35 LDA (input) INTEGER
36 The leading dimension of the array A. LDA >= max(1,M).
37
38 TAU (output) COMPLEX array, dimension (min(M,N))
39 The scalar factors of the elementary reflectors (see Further
40 Details).
41
42 WORK (workspace) COMPLEX array, dimension (M)
43
44 INFO (output) INTEGER
45 = 0: successful exit
46 < 0: if INFO = -i, the i-th argument had an illegal value
47
49 The matrix Q is represented as a product of elementary reflectors
50 Q = H(1)' H(2)' . . . H(k)', where k = min(m,n).
51 Each H(i) has the form
52 H(i) = I - tau * v * v'
53 where tau is a complex scalar, and v is a complex vector with v(n-
54 k+i+1:n) = 0 and v(n-k+i) = 1; conjg(v(1:n-k+i-1)) is stored on exit in
55 A(m-k+i,1:n-k+i-1), and tau in TAU(i).
56
57
58
59 LAPACK routine (version 3.2) November 2008 CGERQ2(1)