1DGERQ2(1) LAPACK routine (version 3.1) DGERQ2(1)
2
3
4
6 DGERQ2 - an RQ factorization of a real m by n matrix A
7
9 SUBROUTINE DGERQ2( M, N, A, LDA, TAU, WORK, INFO )
10
11 INTEGER INFO, LDA, M, N
12
13 DOUBLE PRECISION A( LDA, * ), TAU( * ), WORK( * )
14
16 DGERQ2 computes an RQ factorization of a real 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) DOUBLE PRECISION 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 orthogonal matrix Q as a product of elementary reflectors
34 (see Further Details).
35
36 LDA (input) INTEGER
37 The leading dimension of the array A. LDA >= max(1,M).
38
39 TAU (output) DOUBLE PRECISION array, dimension (min(M,N))
40 The scalar factors of the elementary reflectors (see Further
41 Details).
42
43 WORK (workspace) DOUBLE PRECISION 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 real scalar, and v is a real vector with
59 v(n-k+i+1:n) = 0 and v(n-k+i) = 1; 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 DGERQ2(1)