Developer Reference for Intel® oneAPI Math Kernel Library for C
?geqrt
Computes a blocked QR factorization of a general real or complex matrix using the compact WY representation of Q.
Syntax
lapack_intLAPACKE_sgeqrt ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intnb , float*a , lapack_intlda , float*t , lapack_intldt );
lapack_intLAPACKE_dgeqrt ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intnb , double*a , lapack_intlda , double*t , lapack_intldt );
lapack_intLAPACKE_cgeqrt ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intnb , lapack_complex_float*a , lapack_intlda , lapack_complex_float*t , lapack_intldt );
lapack_intLAPACKE_zgeqrt ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intnb , lapack_complex_double*a , lapack_intlda , lapack_complex_double*t , lapack_intldt );
Include Files
mkl.h
Description
sgeqrt dgeqrt cgeqrt zgeqrt geqrt
The strictly lower triangular matrix V contains the elementary reflectors H ( i ) in the i th column below the diagonal. For example, if m =5 and n =3, the matrix V is
where vi represents one of the vectors that define H ( i ). The vectors are returned in the lower triangular part of array 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) t s are stored in the nb -by- n array t as
t = (t1t2 ... tb) .
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).
nb
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: a DIMENSION ( lda , n ) contains the m -by- n matrix 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 . work DIMENSION ( nb , n ) is a workspace array.
lda
The leading dimension of a ; at least max(1, m ) for column major layout and max(1, n ) for row major layout .
ldt
The leading dimension of t ; at least nb for column major layout and max(1, min( m , n )) for row major layout .
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 m ≥ n ); 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 )). Array, size max(1, ldt *min( m , n )) for column major layout and max(1, ldt * nb ) for row major layout. The upper triangular block reflector’s factors stored as a sequence of upper triangular blocks.
Return Values
This function returns a value info .
If info=0 , the execution is successful.
If info < 0 and info = -i , the i -th parameter had an illegal value.