?geqrfp
?geqrfp
Computes the QR factorization of a general m-by-n matrix with non-negative diagonal elements.
Syntax
lapack_int
LAPACKE_sgeqrfp
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
float
*
a
,
lapack_int
lda
,
float
*
tau
);
lapack_int
LAPACKE_dgeqrfp
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
double
*
a
,
lapack_int
lda
,
double
*
tau
);
lapack_int
LAPACKE_cgeqrfp
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_complex_float
*
a
,
lapack_int
lda
,
lapack_complex_float
*
tau
);
lapack_int
LAPACKE_zgeqrfp
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_complex_double
*
a
,
lapack_int
lda
,
lapack_complex_double
*
tau
);
Include Files
- mkl.h
Description
The routine forms the
QR
factorization of a general m
-by-n
matrix A
(see Orthogonal Factorizations). No pivoting is performed. The diagonal entries of R
are real and nonnegative.The routine does not form the matrix
Q
explicitly. Instead, Q
is represented as a product of min(m
, n
) elementary reflectors. Routines are provided to work with Q
in this representation. This routine supports the Progress Routine feature. See Progress Function for details.
Input Parameters
- matrix_layout
- Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- m
- The number of rows in the matrixA().m≥0
- n
- The number of columns inA().n≥0
- a
- Array, size max(1,lda*n) for column major layout and max(1,lda*m) for row major layout, containing the matrixA.
- lda
- The leading dimension ofa; at least max(1,m)for column major layout and at least max(1,.n) for row major layout
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-nupper trapezoidal matrixR(Ris upper triangular ifm≥n); the elements below the diagonal, with the arraytau, present the orthogonal matrixQas a product of min(m,n) elementary reflectors (see Orthogonal Factorizations).The diagonal elements of the matrixRare real and non-negative.
- tau
- Array, size at least max (1, min(m,n)). Contains scalars that define elementary reflectors for the matrixQin its decomposition in a product of elementary reflectors (see Orthogonal Factorizations).
Return Values
This function returns a value
info
.If , the execution is successful.
info
=0If , the
info
= -i
i
-th parameter had an illegal value.Application Notes
The computed factorization is the exact factorization of a matrix
A
+ E
, where ||
.E
||2
= O
(ε
)||A
||2
The approximate number of floating-point operations for real flavors is
- (4/3)n3
- if,m=n
- (2/3)n2(3m-n)
- if,m>n
- (2/3)m2(3n-m)
- if.m<n
The number of operations for complex flavors is 4 times greater.
To solve a set of least squares problems minimizing
||
for all columns A*x
- b
||2
b
of a given matrix B
, you can call the following:(The columns of the computed
X
are the least squares solution vectors x
.)To compute the elements of
Q
explicitly, call