Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?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
call stpqrt2(m, n, l, a, lda, b, ldb, t, ldt, info)
call dtpqrt2(m, n, l, a, lda, b, ldb, t, ldt, info)
call ctpqrt2(m, n, l, a, lda, b, ldb, t, ldt, info)
call ztpqrt2(m, n, l, a, lda, b, ldb, t, ldt, info)
call tpqrt2(a, b, t [, info])
Include Files
mkl.fi , mkl_lapack.f90
Description
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
- m
-
INTEGER . The total number of rows in the matrix B ( m ≥ 0).
- n
-
INTEGER. The number of columns of the matrix B, and the order of the triangular matrix A. The value of n must be at least zero.
- l
-
INTEGER . 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 ( lda , n ) contains the n -by- n upper triangular matrix A .
b , size ( ldb , n ) , 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
INTEGER . The leading dimension of a ; at least max(1, n ).
ldb
INTEGER . The leading dimension of b ; at least max(1, m ) .
ldt
INTEGER . 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 ( ldt , n ) .
The upper n -by- n upper triangular factor T of the block reflector.
info
INTEGER .
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.
Return Values
No return value, info is an Output Parameter.