?geqr2p

Computes the QR factorization of a general rectangular matrix with non-negative diagonal elements using an unblocked algorithm.

Syntax

call sgeqr2p( m, n, a, lda, tau, work, info )

call dgeqr2p( m, n, a, lda, tau, work, info )

call cgeqr2p( m, n, a, lda, tau, work, info )

call zgeqr2p( m, n, a, lda, tau, work, info )

Include Files

The FORTRAN 77 interfaces are specified in the mkl_lapack.fi include file (to be used in Fortran programs) and in the mkl_lapack.h include file (to be used in C programs).

Description

The routine computes a QR factorization of a real/complex m-by-n matrix A as A = Q*R.

The routine does not form the matrix Q explicitly. Instead, Q is represented as a product of min(m, n) elementary reflectors :

Q = H(1)*H(2)* ... *H(k), where k = min(m, n)

Each H(i) has the form

H(i) = I - tau*v*vT for real flavors, or

H(i) = I - tau*v*vH for complex flavors

where tau is a real/complex scalar stored in tau(i), and v is a real/complex vector with v(1:i-1) = 0 and v(i) = 1.

On exit, v(i+1:m) is stored in a(i+1:m, i).

Input Parameters

m

INTEGER. The number of rows in the matrix A (m 0).

n

INTEGER. The number of columns in A (n 0).

a, work

REAL for sgeqr2p

DOUBLE PRECISION for d

COMPLEX for cgeqr2p

DOUBLE COMPLEX for zgeqr2p.

Arrays:

a(lda,*) contains the m-by-n matrix A.

The second dimension of a must be at least max(1, n).

work(n) is a workspace array.

lda

INTEGER. The leading dimension of a; at least max(1, m).

Output Parameters

a

Overwritten by the factorization data as follows:

on exit, the elements on and above the diagonal of the array a contain the min(n,m)-by-n upper trapezoidal matrix R (R is upper triangular if m n); the elements below the diagonal, with the array tau, represent the orthogonal/unitary matrix Q as a product of elementary reflectors.

The diagonal elements of the matrix R are non-negative.

tau

REAL for sgeqr2p

DOUBLE PRECISION for dgeqr2p

COMPLEX for cgeqr2p

DOUBLE COMPLEX for zgeqr2p.

Array, DIMENSION at least max(1, min(m, n)).

Contains scalar factors of the elementary reflectors.

info

INTEGER.

If info = 0, the execution is successful.

If info = -i, the i-th parameter had an illegal value.


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.