WOLFRAM SYSTEM MODELER

# dgeqpf

Compute QR factorization of square or rectangular matrix A with column pivoting (A(:,p) = Q*R)

# Wolfram Language

In[1]:=
`SystemModel["Modelica.Math.Matrices.LAPACK.dgeqpf"]`
Out[1]:=

# Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

```Lapack documentation
Purpose
=======

This routine is deprecated and has been replaced by routine DGEQP3.

DGEQPF computes a QR factorization with column pivoting of a
real M-by-N matrix A: A*P = Q*R.

Arguments
=========

M       (input) INTEGER
The number of rows of the matrix A. M >= 0.

N       (input) INTEGER
The number of columns of the matrix A. N >= 0

A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
On entry, the M-by-N matrix A.
On exit, the upper triangle of the array contains the
min(M,N)-by-N upper triangular matrix R; the elements
below the diagonal, together with the array TAU,
represent the orthogonal matrix Q as a product of
min(m,n) elementary reflectors.

LDA     (input) INTEGER
The leading dimension of the array A. LDA >= max(1,M).

JPVT    (input/output) INTEGER array, dimension (N)
On entry, if JPVT(i) .ne. 0, the i-th column of A is permuted
to the front of A*P (a leading column); if JPVT(i) = 0,
the i-th column of A is a free column.
On exit, if JPVT(i) = k, then the i-th column of A*P
was the k-th column of A.

TAU     (output) DOUBLE PRECISION array, dimension (min(M,N))
The scalar factors of the elementary reflectors.

WORK    (workspace) DOUBLE PRECISION array, dimension (3*N)

INFO    (output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value

Further Details
===============

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.```

# Syntax

(QR, tau, p, info) = dgeqpf(A)

# Inputs (1)

A Type: Real[:,:] Description: Square or rectangular matrix

# Outputs (4)

QR Default Value: A Type: Real[size(A, 1),size(A, 2)] Description: QR factorization in packed format Type: Real[min(size(A, 1), size(A, 2))] Description: The scalar factors of the elementary reflectors of Q Default Value: zeros(size(A, 2)) Type: Integer[size(A, 2)] Description: Pivot vector Type: Integer