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

tau

Type: Real[min(size(A, 1), size(A, 2))]

Description: The scalar factors of the elementary reflectors of Q

p

Default Value: zeros(size(A, 2))

Type: Integer[size(A, 2)]

Description: Pivot vector

info

Type: Integer