Visible to Intel only — GUID: GUID-1587F457-6EF5-4D5A-A25F-F4DEE589B8D9
Visible to Intel only — GUID: GUID-1587F457-6EF5-4D5A-A25F-F4DEE589B8D9
?tplqt2
?tplqt2 computes an LQ factorization of a real or complex "triangular-pentagonal" matrix, which is composed of a triangular block and a pentagonal using the compact WY representation for Q.
call stplqt2(m, n, l, a, lda, b, ldb, t, ldt, info)
call dtplqt2(m, n, l, a, lda, b, ldb, t, ldt, info)
call ctplqt2(m, n, l, a, lda, b, ldb, t, ldt, info)
call ztplqt2(m, n, l, a, lda, b, ldb, t, ldt, info)
Description
?tplqt2 computes a LQ a factorization of a real or complex "triangular-pentagonal" matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.
The input matrix C is an m-by-(m+n) matrix:
C = [ A ] [ B ]
where A is a lower triangular m-by-m matrix, and B is an m-by-n pentagonal matrix consisting of an m-by-(n-l) rectangular matrix B1 to the left of an m-by-l lower trapezoidal matrix B2:
[ B ] = [ B1 ] [ B2 ]
[B1 ] <- m-by-(n-l) rectangular
[ B2 ] <- m-by-l lower trapezoidal.
The lower trapezoidal matrix B2 consists of the first l columns of an n-by-n lower triangular matrix, where 0 ≤l≤ min(m,n). If l=0, b is rectangular m-by-n; if m=l=n, b is lower triangular.
The matrix W stores the elementary reflectors H(i) in the i-th row above the diagonal (of A) in the m-by-(m+n) input matrix C:
[ C ] = [ A ] [ B ]
[ A ] <- lower triangular m-by-m
[ B ] <- m-by-n pentagonal
so that W can be represented as
[ W ] = [ I ] [ V ]
[ I ] <- m-by-m identity matrix
[ V ] <- m-by-n, same form as B.
Thus, all of information needed for W is contained on exit in the array b, called V in the preceding. Note that V has the same form as B; that is,
[ V ] = [ V1 ] [ V2 ]
[ V1 ] <- m-by-(n-l) rectangular
[ V2 ] <- m-by-l lower trapezoidal.
The rows of V represent the vectors which define the H(i) elementary reflectors .
The (m+n)-by-(m+n) block reflector H is then given by H = I - WH * T * W where 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 of the matrix B. m≥ 0.
- n
-
INTEGER. The number of columns of the matrix B, and the order of the triangular matrix A. n≥ 0.
- l
-
INTEGER. The number of rows of the lower trapezoidal part of B. min(m, n) ≥l≥ 0.
- a
-
REAL for stplqt2
DOUBLE PRECISION for dtplqt2
COMPLEX for ctplqt2
COMPLEX*16 for ztplqt2
Array of size (lda,m). On entry, the lower triangular m-by-m matrix A.
- lda
-
INTEGER. The leading dimension of the array a. lda≥ max(1, m).
- b
-
REAL for stplqt2
DOUBLE PRECISION for dtplqt2
COMPLEX for ctplqt2
COMPLEX*16 for ztplqt2
Array of size (ldb,n). On entry, the pentagonal m-by-n matrix B. The first n-l columns are rectangular, and the last l columns are lower trapezoidal.
- ldb
-
INTEGER. The leading dimension of the array b. ldb≥ max(1, m).
- ldt
-
INTEGER. The leading dimension of the array t. ldt≥ max(1, m)
Output Parameters
- a
-
On exit, the elements on and below the diagonal of the array contain the lower triangular matrix L.
- b
-
On exit, b contains the pentagonal matrix V.
- t
-
REAL for stplqt2
DOUBLE PRECISION for dtplqt2
COMPLEX for ctplqt2
COMPLEX*16 for ztplqt2
Array of size (ldt,m). The n-by-n upper triangular factor T of the block reflector.
- info
-
INTEGER.
info = 0: successful exit.
info < 0: if info = -i, the i-th argument had an illegal value.