?tzrzf
?tzrzf
Reduces the upper trapezoidal matrix A to upper triangular form.
Syntax
lapack_int
LAPACKE_stzrzf
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
float
*
a
,
lapack_int
lda
,
float
*
tau
);
lapack_int
LAPACKE_dtzrzf
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
double
*
a
,
lapack_int
lda
,
double
*
tau
);
lapack_int
LAPACKE_ctzrzf
(
int
matrix_layout
,
lapack_int
m
,
lapack_int
n
,
lapack_complex_float
*
a
,
lapack_int
lda
,
lapack_complex_float
*
tau
);
lapack_int
LAPACKE_ztzrzf
(
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 reduces the ) real/complex upper trapezoidal matrix
m
-by-n
(m
≤
n
A
to upper triangular form by means of orthogonal/unitary transformations. The upper trapezoidal matrix A
= [A
1 A
2] = [A
1:
, m
, 1:m
A
1:
] is factored asm
, m
+1:n
A
= [R
0
]*Z
where
Z
is an n
-by-n
orthogonal/unitary matrix, R
is an m
-by-m
upper triangular matrix, and 0
is the m
-by-(n-m
) zero matrix.The
?tzrzf
routine replaces the deprecated ?tzrqf
routine.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≥m).
- a
- Arrayais of size max(1,lda*n) for column major layout and max(1,lda*m) for row major layout.The leadingm-by-nupper trapezoidal part of the arrayacontains the matrixAto be factorized.
- lda
- The leading dimension ofa; at least max(1,m)for column major layout and max(1,.n) for row major layout
Output Parameters
- a
- Overwritten on exit by the factorization data as follows:the leadingm-by-mupper triangular part ofacontains the upper triangular matrixR, and elementsm+1 tonof the firstmrows ofa, with the arraytau, represent the orthogonal matrixZas a product ofmelementary reflectors.
- tau
- Array, size at least max (1,m). Contains scalar factors of the elementary reflectors for the matrixZ.
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 factorization is obtained by Householder's method. The
k
-th transformation matrix, Z
(k
), which is used to introduce zeros into the (m
- k
+ 1)-th row of A
, is given in the form
where for real flavors

and for complex flavors

tau
is a scalar and z
(k
) is an l
-element vector. tau
and z
(k
) are chosen to annihilate the elements of the k-
th row of A
2.The scalar
tau
is returned in the k-
th element of tau
and the vector u
(k
) in the k-
th row of A
, such that the elements of z
(k
) are stored in the last
m
- n
elements of the k
-th row of array a
.The elements of
R
are returned in the upper triangular part of A
.The matrix
Z
is given byZ
= Z
(1)*Z
(2)*...*Z
(m
)Related routines include: