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
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. The value of m must be at least zero.
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.