Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
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

?gerqf

Computes the RQ factorization of a general m-by-n matrix.

Syntax

lapack_int LAPACKE_sgerqf (int matrix_layout, lapack_int m, lapack_int n, float* a, lapack_int lda, float* tau);

lapack_int LAPACKE_dgerqf (int matrix_layout, lapack_int m, lapack_int n, double* a, lapack_int lda, double* tau);

lapack_int LAPACKE_cgerqf (int matrix_layout, lapack_int m, lapack_int n, lapack_complex_float* a, lapack_int lda, lapack_complex_float* tau);

lapack_int LAPACKE_zgerqf (int matrix_layout, lapack_int m, lapack_int n, lapack_complex_double* a, lapack_int lda, lapack_complex_double* tau);

Include Files

  • mkl.h

Description

The routine forms the RQ factorization of a general m-by-n matrix A(see Orthogonal Factorizations). No pivoting is performed.

The routine does not form the matrix Q explicitly. Instead, Q is represented as a product of min(m, n) elementary reflectors. Routines are provided to work with Q in this representation.

NOTE:

This routine supports the Progress Routine feature. See Progress Function for details.

Input Parameters

matrix_layout

Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).

m

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

n

The number of columns in A (n 0).

a

Array a of size max(1, lda*n) for column major layout and max(1, lda*m) for row major layout contains the m-by-n matrix A.

lda

The leading dimension of a; at least max(1, m)for column major layout and max(1, n) for row major layout.

Output Parameters

a

Overwritten on exit by the factorization data as follows:

if mn, the upper triangle of the subarray

a(1:m, n-m+1:n ) contains the m-by-m upper triangular matrix R;

if mn, the elements on and above the (m-n)th subdiagonal contain the m-by-n upper trapezoidal matrix R;

in both cases, the remaining elements, with the array tau, represent the orthogonal/unitary matrix Q as a product of min(m,n) elementary reflectors.

tau

Array, size at least max (1, min(m, n)). (See Orthogonal Factorizations.)

Contains scalar factors of the elementary reflectors for the matrix Q.

Return Values

This function returns a value info.

If info=0, the execution is successful.

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

Application Notes

Related routines include:

orgrq

to generate matrix Q (for real matrices);

ungrq

to generate matrix Q (for complex matrices);

ormrq

to apply matrix Q (for real matrices);

unmrq

to apply matrix Q (for complex matrices).