sgeqpf - routine is deprecated and has been replaced by routine SGEQP3
SUBROUTINE SGEQPF( M, N, A, LDA, JPIVOT, TAU, WORK, INFO) INTEGER M, N, LDA, INFO INTEGER JPIVOT(*) REAL A(LDA,*), TAU(*), WORK(*)
SUBROUTINE SGEQPF_64( M, N, A, LDA, JPIVOT, TAU, WORK, INFO) INTEGER*8 M, N, LDA, INFO INTEGER*8 JPIVOT(*) REAL A(LDA,*), TAU(*), WORK(*)
SUBROUTINE GEQPF( [M], [N], A, [LDA], JPIVOT, TAU, [WORK], [INFO]) INTEGER :: M, N, LDA, INFO INTEGER, DIMENSION(:) :: JPIVOT REAL, DIMENSION(:) :: TAU, WORK REAL, DIMENSION(:,:) :: A
SUBROUTINE GEQPF_64( [M], [N], A, [LDA], JPIVOT, TAU, [WORK], [INFO]) INTEGER(8) :: M, N, LDA, INFO INTEGER(8), DIMENSION(:) :: JPIVOT REAL, DIMENSION(:) :: TAU, WORK REAL, DIMENSION(:,:) :: A
#include <sunperf.h>
void sgeqpf(int m, int n, float *a, int lda, int *jpivot, float *tau, int *info);
void sgeqpf_64(long m, long n, float *a, long lda, long *jpivot, float *tau, long *info);
sgeqpf routine is deprecated and has been replaced by routine SGEQP3.
SGEQPF computes a QR factorization with column pivoting of a real M-by-N matrix A: A*P = Q*R.
min(m,n)
elementary reflectors.
JPIVOT(i)
.ne. 0, the i-th column of A is permuted
to the front of A*P (a leading column); if JPIVOT(i)
= 0,
the i-th column of A is a free column.
On exit, if JPIVOT(i)
= k, then the i-th column of A*P
was the k-th column of A.
dimension(N)
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
The matrix Q is represented as a product of elementary reflectors
Q = H(1) H(2) . . . H(n)
Each H(i)
has the form
H = I - tau * v * v'
where tau is a real scalar, and v is a real vector with
v(1:i-1)
= 0 and v(i)
= 1; v(i+1:m)
is stored on exit in A(i+1:m,i).
The matrix P is represented in jpvt as follows: If
jpvt(j) = i
then the jth column of P is the ith canonical unit vector.