Visible to Intel only — GUID: GUID-A84A6E27-95CF-4A70-86A2-897669BB3B1D
Visible to Intel only — GUID: GUID-A84A6E27-95CF-4A70-86A2-897669BB3B1D
?geqrt2
Computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.
Syntax
call sgeqrt2(m, n, a, lda, t, ldt, info)
call dgeqrt2(m, n, a, lda, t, ldt, info)
call cgeqrt2(m, n, a, lda, t, ldt, info)
call zgeqrt2(m, n, a, lda, t, ldt, info)
call geqrt2(a, t, [info])
Include Files
- mkl.fi, mkl_lapack.f90
Description
The strictly lower triangular matrix V contains the elementary reflectors H(i) in the ith column below the diagonal. For example, if m=5 and n=3, the matrix V is
where vi represents the vector that defines H(i). The vectors are returned in the lower triangular part of array a.
The 1s 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 flavors, and
H = I - V*T*VH for complex flavors,
where VT is the transpose and VH is the conjugate transpose of V.
Input Parameters
- m
-
INTEGER. The number of rows in the matrix A (m ≥ n).
- n
-
INTEGER. The number of columns in A (n ≥ 0).
- a
-
REAL for sgeqrt2
DOUBLE PRECISION for dgeqrt2
COMPLEX for cgeqrt2
COMPLEX*16 for zgeqrt2.
Array, size lda by n. Array a contains the m-by-n matrix A.
- lda
-
INTEGER. The leading dimension of a; at least max(1, m).
- ldt
-
INTEGER. The leading dimension of t; at least max(1, n).
Output Parameters
- a
-
Overwritten by the factorization data as follows:
The elements on and above the diagonal of the array contain the n-by-n upper triangular matrix R. The elements below the diagonal are the columns of V.
- t
-
REAL for sgeqrt2
DOUBLE PRECISION for dgeqrt2
COMPLEX for cgeqrt2
COMPLEX*16 for zgeqrt2.
Array, size (ldt, min(m, 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.
- info
-
INTEGER.
If info = 0, the execution is successful.
If info < 0 and info = -i, the ith argument had an illegal value.
If info = -1011, memory allocation error occurred.