Developer Reference for Intel® oneAPI Math Kernel Library for C
?geqrt2
Computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.
Syntax
lapack_int LAPACKE_sgeqrt2(int matrix_layout, lapack_int m, lapack_int n, float *a,
lapack_int lda, float *t, lapack_int ldt);
lapack_int LAPACKE_dgeqrt2(int matrix_layout, lapack_int m, lapack_int n, double *a,
lapack_int lda, double *t, lapack_int ldt);
lapack_int LAPACKE_cgeqrt2(int matrix_layout, lapack_int m, lapack_int n,
lapack_complex_float *a, lapack_int lda,
lapack_complex_float *t, lapack_int ldt);
lapack_int LAPACKE_zgeqrt2(int matrix_layout, lapack_int m, lapack_int n,
lapack_complex_double *a, lapack_int lda,
lapack_complex_double *t, lapack_int ldt);
Include Files
mkl.h
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 the vector that defines H(i). The vectors are returned in the lower triangular part of array a .
The block reflector H is then given by
H = I - V*T*V^{T} for real flavors, and
H = I - V*T*V^{H} for complex flavors,
where VT is the transpose and VH is the conjugate transpose of V .
Input Parameters
- m
-
The number of rows in the matrix A. The value of m must be greater than or equal to n.
- n
-
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 at least max(1, lda*n) for column major and max(1, lda*m) for row major layout . Array a 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 .
ldt
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 at least max(1, ldt*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.
Return Values
This function returns a value info .
If info = 0, the execution is successful.
If info < 0 and info = -i , the i th argument had an illegal value.
If info = -1011 , memory allocation error occurred.