?geqrt3
?geqrt3
Recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.
Syntax
lapack_int
LAPACKE_sgeqrt3
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
float
*
a
,
lapack_int
lda
,
float
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_dgeqrt3
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
double
*
a
,
lapack_int
lda
,
double
*
t
,
lapack_int
ldt
);
lapack_int
LAPACKE_cgeqrt3
(
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_zgeqrt3
(
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 represents one of the vectors that
define
v
i
H
(i
). The vectors are returned in the lower part of triangular array a
.The 1s along the diagonal of
V
are not stored in a
. The block reflector
H
is then given byH
= I
- V
*T
*V
T
H
= I
- V
*T
*V
H
where
V
T
is the transpose and V
H
is the conjugate transpose
of V
.Input Parameters
- m
- The number of rows in the matrixA(m≥n).
- n
- The number of columns inA(n≥ 0).
- a
- Array, sizeat least. Arraymax(1,for column major andlda*n)max(1,for row major layoutlda*m)acontains them-by-nmatrixA.
- lda
- The leading dimension ofa; at least max(1,m)for column major layout and max(1,.n) for row major layout
- ldt
- The leading dimension oft; at least max(1,n).
Output Parameters
- a
- The elements on and above the diagonal of the array contain then-by-nupper triangular matrixR. The elements below the diagonal are the columns ofV.
- t
- Array, sizeldtbyn.Then-by-nupper triangular factor of the block reflector. The elements on and above the diagonal contain the block reflectorT. 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
, memory allocation error occurred.info
= -1011