Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?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
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
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: 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
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 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.
info
INTEGER .
If info = 0, the execution is successful.
If info < 0 and info = -i , the i th argument had an illegal value.
Return Values
No return value, info is an Output Parameter.