1SGEQP3(1)                LAPACK routine (version 3.1)                SGEQP3(1)
2
3
4

NAME

6       SGEQP3 - a QR factorization with column pivoting of a matrix A
7

SYNOPSIS

9       SUBROUTINE SGEQP3( M, N, A, LDA, JPVT, TAU, WORK, LWORK, INFO )
10
11           INTEGER        INFO, LDA, LWORK, M, N
12
13           INTEGER        JPVT( * )
14
15           REAL           A( LDA, * ), TAU( * ), WORK( * )
16

PURPOSE

18       SGEQP3  computes a QR factorization with column pivoting of a matrix A:
19       A*P = Q*R  using Level 3 BLAS.
20
21

ARGUMENTS

23       M       (input) INTEGER
24               The number of rows of the matrix A. M >= 0.
25
26       N       (input) INTEGER
27               The number of columns of the matrix A.  N >= 0.
28
29       A       (input/output) REAL array, dimension (LDA,N)
30               On entry, the M-by-N matrix A.  On exit, the upper triangle  of
31               the  array  contains the min(M,N)-by-N upper trapezoidal matrix
32               R; the elements below the diagonal,  together  with  the  array
33               TAU, represent the orthogonal matrix Q as a product of min(M,N)
34               elementary reflectors.
35
36       LDA     (input) INTEGER
37               The leading dimension of the array A. LDA >= max(1,M).
38
39       JPVT    (input/output) INTEGER array, dimension (N)
40               On entry, if JPVT(J).ne.0, the J-th column of A is permuted  to
41               the  front  of  A*P  (a leading column); if JPVT(J)=0, the J-th
42               column of A is a free column.  On exit, if JPVT(J)=K, then  the
43               J-th column of A*P was the the K-th column of A.
44
45       TAU     (output) REAL array, dimension (min(M,N))
46               The scalar factors of the elementary reflectors.
47
48       WORK    (workspace/output) REAL array, dimension (MAX(1,LWORK))
49               On exit, if INFO=0, WORK(1) returns the optimal LWORK.
50
51       LWORK   (input) INTEGER
52               The  dimension  of the array WORK. LWORK >= 3*N+1.  For optimal
53               performance LWORK >= 2*N+( N+1 )*NB, where NB  is  the  optimal
54               blocksize.
55
56               If  LWORK  = -1, then a workspace query is assumed; the routine
57               only calculates the optimal size of  the  WORK  array,  returns
58               this  value  as the first entry of the WORK array, and no error
59               message related to LWORK is issued by XERBLA.
60
61       INFO    (output) INTEGER
62               = 0: successful exit.
63               < 0: if INFO = -i, the i-th argument had an illegal value.
64

FURTHER DETAILS

66       The matrix Q is represented as a product of elementary reflectors
67
68          Q = H(1) H(2) . . . H(k), where k = min(m,n).
69
70       Each H(i) has the form
71
72          H(i) = I - tau * v * v'
73
74       where tau is a real/complex scalar, and v is a real/complex vector with
75       v(1:i-1)  =  0  and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i),
76       and tau in TAU(i).
77
78       Based on contributions by
79         G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain
80         X. Sun, Computer Science Dept., Duke University, USA
81
82
83
84
85 LAPACK routine (version 3.1)    November 2006                       SGEQP3(1)
Impressum