Developer Reference for Intel® oneAPI Math Kernel Library for C
?tpqrt2
Computes a QR factorization of a real or complex “triangular-pentagonal” matrix, which is composed of a triangular block and a pentagonal block, using the compact WY representation for Q.
Syntax
lapack_intLAPACKE_stpqrt2 ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intl , float*a , lapack_intlda , float*b , lapack_intldb , float*t , lapack_intldt );
lapack_intLAPACKE_dtpqrt2 ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intl , double*a , lapack_intlda , double*b , lapack_intldb , double*t , lapack_intldt );
lapack_intLAPACKE_ctpqrt2 ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intl , lapack_complex_float*a , lapack_intlda , lapack_complex_float*b , lapack_intldb , lapack_complex_float*t , lapack_intldt );
lapack_intLAPACKE_ztpqrt2 ( intmatrix_layout , lapack_intm , lapack_intn , lapack_intl , lapack_complex_double*a , lapack_intlda , lapack_complex_double*b , lapack_intldb , lapack_complex_double*t , lapack_intldt );
Include Files
mkl.h
Description
stpqrt dtpqrt ctpqrt ztpqrt tpqrt
The input matrix C is an ( n + m )-by- n matrix
where A is an n -by- n upper triangular matrix, and B is an m -by- n pentagonal matrix consisting of an ( m - l )-by- n rectangular matrix B1 on top of an l -by- n upper trapezoidal matrix B2 :
The upper trapezoidal matrix B2 consists of the first l rows of an n -by- n upper triangular matrix, where 0 ≤ l ≤ min( m , n ). If l =0, B is an m -by- n rectangular matrix. If m = l = n , B is upper triangular. The matrix W contains the elementary reflectors H(i) in the i th column below the diagonal (of A ) in the ( n + m )-by- n input matrix C so that W can be represented as
Thus, V contains all of the information needed for W , and is returned in array b .
The columns of V represent the vectors which define the H(i) s.
The ( m + n )-by-( m + n ) block reflector H is then given by
H = I - W*T*W^{T} for real flavors, and
H = I - W*T*W^{H} for complex flavors
where WT is the transpose of W , WH is the conjugate transpose of W , and T is the upper triangular factor of the block reflector.
Input Parameters
- matrix_layout
-
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
m
The total number of rows in the matrix B ( m ≥ 0).
n
The number of columns in B and the order of the triangular matrix A ( n ≥ 0).
l
The number of rows of the upper trapezoidal part of B (min( m , n ) ≥ l ≥ 0).
- a , b
-
REAL for stpqrt2 DOUBLE PRECISION for dtpqrt2 COMPLEX for ctpqrt2 COMPLEX*16 for ztpqrt2 .
Arrays: a , size max(1, lda * n ) contains the n -by- n upper triangular matrix A .
b , size max(1, ldb * n ) for column major and max(1, ldb * m ) for row major , the pentagonal m -by- n matrix B . The first ( m - l ) rows contain the rectangular B1 matrix, and the next l rows contain the upper trapezoidal B2 matrix.
lda
The leading dimension of a ; at least max(1, n ).
ldb
The leading dimension of b ; at least max(1, m ) for column major and max(1, n ) for row major .
ldt
The leading dimension of t ; at least max(1, n ).
Output Parameters
- a
-
The elements on and above the diagonal of the array contain the upper triangular matrix R .
- b
-
The pentagonal matrix V .
- t
-
REAL for stpqrt2 DOUBLE PRECISION for dtpqrt2 COMPLEX for ctpqrt2 COMPLEX*16 for ztpqrt2 .
Array, size max(1, ldt * n ) .
The upper n -by- n upper triangular factor T of the block reflector.
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.