1CGELQ2(1) LAPACK routine (version 3.2) CGELQ2(1)
2
3
4
6 CGELQ2 - computes an LQ factorization of a complex m by n matrix A
7
9 SUBROUTINE CGELQ2( M, N, A, LDA, TAU, WORK, INFO )
10
11 INTEGER INFO, LDA, M, N
12
13 COMPLEX A( LDA, * ), TAU( * ), WORK( * )
14
16 CGELQ2 computes an LQ factorization of a complex m by n matrix A: A = L
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, the elements on and
28 below the diagonal of the array contain the m by min(m,n) lower
29 trapezoidal matrix L (L is lower triangular if m <= n); the
30 elements above the diagonal, with the array TAU, represent the
31 unitary matrix Q as a product of elementary reflectors (see
32 Further Details). LDA (input) INTEGER The leading dimenā
33 sion of the array A. LDA >= max(1,M).
34
35 TAU (output) COMPLEX array, dimension (min(M,N))
36 The scalar factors of the elementary reflectors (see Further
37 Details).
38
39 WORK (workspace) COMPLEX array, dimension (M)
40
41 INFO (output) INTEGER
42 = 0: successful exit
43 < 0: if INFO = -i, the i-th argument had an illegal value
44
46 The matrix Q is represented as a product of elementary reflectors
47 Q = H(k)' . . . H(2)' H(1)', where k = min(m,n).
48 Each H(i) has the form
49 H(i) = I - tau * v * v'
50 where tau is a complex scalar, and v is a complex vector with v(1:i-1)
51 = 0 and v(i) = 1; conjg(v(i+1:n)) is stored on exit in A(i,i+1:n), and
52 tau in TAU(i).
53
54
55
56 LAPACK routine (version 3.2) November 2008 CGELQ2(1)