Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

?geqrt

Computes a blocked QR factorization of a general real or complex matrix using the compact WY representation of Q.

Syntax

call sgeqrt(m, n, nb, a, lda, t, ldt, work, info)

call dgeqrt(m, n, nb, a, lda, t, ldt, work, info)

call cgeqrt(m, n, nb, a, lda, t, ldt, work, info)

call zgeqrt(m, n, nb, a, lda, t, ldt, work, info)

call geqrt(a, t, nb[, info])

Include Files

  • mkl.fi, mkl_lapack.f90

Description

The strictly lower triangular matrix V contains the elementary reflectors H(i) in the ith column below the diagonal. For example, if m=5 and n=3, the matrix V is


Equation

where vi represents one of the vectors that define H(i). The vectors are returned in the lower triangular part of array a.

NOTE:

The 1s along the diagonal of V are not stored in a.

Let k = min(m,n). The number of blocks is b = ceiling(k/nb), where each block is of order nb except for the last block, which is of order ib = k - (b-1)*nb. For each of the b blocks, a upper triangular block reflector factor is computed:t1, t2, ..., tb. The nb-by-nb (and ib-by-ib for the last block) ts are stored in the nb-by-n array t as

t = (t1t2 ... tb).

Input Parameters

m

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

n

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

nb

INTEGER. The block size to be used in the blocked QR (min(m, n) ≥ nb ≥ 1).

a, work

REAL for sgeqrt

DOUBLE PRECISION for dgeqrt

COMPLEX for cgeqrt

COMPLEX*16 for zgeqrt.

Arrays: aDIMENSION (lda, n) contains the m-by-n matrix A.

workDIMENSION (nb, n) is a workspace array.

lda

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

ldt

INTEGER. The leading dimension of t; at least nb.

Output Parameters

a

Overwritten by the factorization data as follows:

The elements on and above the diagonal of the array contain the min(m,n)-by-n upper trapezoidal matrix R (R is upper triangular if mn); the elements below the diagonal, with the array t, present the orthogonal matrix Q as a product of min(m,n) elementary reflectors (see Orthogonal Factorizations).

t

REAL for sgeqrt

DOUBLE PRECISION for dgeqrt

COMPLEX for cgeqrt

COMPLEX*16 for zgeqrt.

Array, DIMENSION (ldt, min(m, n)).

The upper triangular block reflector's factors stored as a sequence of upper triangular blocks.

info

INTEGER.

If info = 0, the execution is successful.

If info < 0 and info = -i, the ith argument had an illegal value.