Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?gelqt3

?gelqt3 recursively computes a LQ factorization of a general real or complex M-by-N matrix A, using the compact WY representation of Q.

call sgelqt3(m, n, a, lda, t, ldt, info)

call dgelqt3(m, n, a, lda, t, ldt, info)

call cgelqt3(m, n, a, lda, t, ldt, info)

call zgelqt3(m, n, a, lda, t, ldt, info)

Description

?gelqt3 recursively computes a LQ factorization of a real or complex m-by-n matrix A, using the compact WY representation of Q. Based on the algorithm of Elmroth and Gustavson [ELMROTH00].

The matrix V stores the elementary reflectors H(i) in the i-th row above the diagonal. For example, if m=5 and n=3, the matrix V is

V = ( 1 v1 v1 v1 v1 ) 
    (    1 v2 v2 v2 ) 
    (       1 v3 v3 ) 

where the vis represent the vectors which define H(i), which are returned in the array a. The 1 elements along the diagonal of V are not stored in a. The block reflector H is then given by

H = I - V * T * VT for real matrices, or

H = I - V * T * VH for complex matrices.

Input Parameters

m

INTEGER. The number of rows of the matrix A. mn.

n

INTEGER. The number of columns of the matrix A. n 0.

a

REAL for sgelqt3

DOUBLE PRECISION for dgelqt3

COMPLEX for cgelqt3

COMPLEX*16 for zgelqt3

Array of size (lda,n). On entry, the real or complex m-by-n matrix A.

lda

INTEGER. The leading dimension of the array a. lda max(1,m).

ldt

INTEGER. The leading dimension of the array t. ldt max(1,n).

Output Parameters

a

On exit, the elements on and below the diagonal contain the n-by-n lower triangular matrix L; the elements above the diagonal are the rows of V. See Description for further details.

t

REAL for sgelqt3

DOUBLE PRECISION for dgelqt3

COMPLEX for cgelqt3

COMPLEX*16 for zgelqt3

Array of size (ldt,n). The n-by-n upper triangular factor of the block reflector. The elements on and above the diagonal contain the block reflector T; the elements below the diagonal are not used. See Description for further details.

info

INTEGER.

info = 0: successful exit.

info < 0: if info = -i, the i-th argument had an illegal value.