LAPACK
3.8.0
LAPACK: Linear Algebra PACKage

subroutine dtplqt  (  integer  M, 
integer  N,  
integer  L,  
integer  MB,  
double precision, dimension( lda, * )  A,  
integer  LDA,  
double precision, dimension( ldb, * )  B,  
integer  LDB,  
double precision, dimension( ldt, * )  T,  
integer  LDT,  
double precision, dimension( * )  WORK,  
integer  INFO  
) 
DTPLQT
Download DTPQRT + dependencies [TGZ] [ZIP] [TXT]
DTPLQT computes a blocked LQ factorization of a real "triangularpentagonal" matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.
[in]  M  M is INTEGER The number of rows of the matrix B, and the order of the triangular matrix A. M >= 0. 
[in]  N  N is INTEGER The number of columns of the matrix B. N >= 0. 
[in]  L  L is INTEGER The number of rows of the lower trapezoidal part of B. MIN(M,N) >= L >= 0. See Further Details. 
[in]  MB  MB is INTEGER The block size to be used in the blocked QR. M >= MB >= 1. 
[in,out]  A  A is DOUBLE PRECISION array, dimension (LDA,M) On entry, the lower triangular MbyM matrix A. On exit, the elements on and below the diagonal of the array contain the lower triangular matrix L. 
[in]  LDA  LDA is INTEGER The leading dimension of the array A. LDA >= max(1,M). 
[in,out]  B  B is DOUBLE PRECISION array, dimension (LDB,N) On entry, the pentagonal MbyN matrix B. The first NL columns are rectangular, and the last L columns are lower trapezoidal. On exit, B contains the pentagonal matrix V. See Further Details. 
[in]  LDB  LDB is INTEGER The leading dimension of the array B. LDB >= max(1,M). 
[out]  T  T is DOUBLE PRECISION array, dimension (LDT,N) The lower triangular block reflectors stored in compact form as a sequence of upper triangular blocks. See Further Details. 
[in]  LDT  LDT is INTEGER The leading dimension of the array T. LDT >= MB. 
[out]  WORK  WORK is DOUBLE PRECISION array, dimension (MB*M) 
[out]  INFO  INFO is INTEGER = 0: successful exit < 0: if INFO = i, the ith argument had an illegal value 
The input matrix C is a Mby(M+N) matrix C = [ A ] [ B ] where A is an lower triangular MbyM matrix, and B is MbyN pentagonal matrix consisting of a Mby(NL) rectangular matrix B1 on left of a MbyL upper trapezoidal matrix B2: [ B ] = [ B1 ] [ B2 ] [ B1 ] < Mby(NL) rectangular [ B2 ] < MbyL lower trapezoidal. The lower trapezoidal matrix B2 consists of the first L columns of a MbyM lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, B is rectangular MbyN; if M=L=N, B is lower triangular. The matrix W stores the elementary reflectors H(i) in the ith row above the diagonal (of A) in the Mby(M+N) input matrix C [ C ] = [ A ] [ B ] [ A ] < lower triangular MbyM [ B ] < MbyN pentagonal so that W can be represented as [ W ] = [ I ] [ V ] [ I ] < identity, MbyM [ V ] < MbyN, same form as B. Thus, all of information needed for W is contained on exit in B, which we call V above. Note that V has the same form as B; that is, [ V ] = [ V1 ] [ V2 ] [ V1 ] < Mby(NL) rectangular [ V2 ] < MbyL lower trapezoidal. The rows of V represent the vectors which define the H(i)'s. The number of blocks is B = ceiling(M/MB), where each block is of order MB except for the last block, which is of order IB = M  (M1)*MB. For each of the B blocks, a upper triangular block reflector factor is computed: T1, T2, ..., TB. The MBbyMB (and IBbyIB for the last block) T's are stored in the MBbyN matrix T as T = [T1 T2 ... TB].
Download DTPQRT + dependencies [TGZ] [ZIP] [TXT]
DTPLQT computes a blocked LQ factorization of a real "triangularpentagonal" matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.
[in]  M  M is INTEGER The number of rows of the matrix B, and the order of the triangular matrix A. M >= 0. 
[in]  N  N is INTEGER The number of columns of the matrix B. N >= 0. 
[in]  L  L is INTEGER The number of rows of the lower trapezoidal part of B. MIN(M,N) >= L >= 0. See Further Details. 
[in]  MB  MB is INTEGER The block size to be used in the blocked QR. M >= MB >= 1. 
[in,out]  A  A is DOUBLE PRECISION array, dimension (LDA,N) On entry, the lower triangular NbyN matrix A. On exit, the elements on and below the diagonal of the array contain the lower triangular matrix L. 
[in]  LDA  LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[in,out]  B  B is DOUBLE PRECISION array, dimension (LDB,N) On entry, the pentagonal MbyN matrix B. The first NL columns are rectangular, and the last L columns are lower trapezoidal. On exit, B contains the pentagonal matrix V. See Further Details. 
[in]  LDB  LDB is INTEGER The leading dimension of the array B. LDB >= max(1,M). 
[out]  T  T is DOUBLE PRECISION array, dimension (LDT,N) The lower triangular block reflectors stored in compact form as a sequence of upper triangular blocks. See Further Details. 
[in]  LDT  LDT is INTEGER The leading dimension of the array T. LDT >= MB. 
[out]  WORK  WORK is DOUBLE PRECISION array, dimension (MB*M) 
[out]  INFO  INFO is INTEGER = 0: successful exit < 0: if INFO = i, the ith argument had an illegal value 
The input matrix C is a Mby(M+N) matrix C = [ A ] [ B ] where A is an lower triangular NbyN matrix, and B is MbyN pentagonal matrix consisting of a Mby(NL) rectangular matrix B1 on left of a MbyL upper trapezoidal matrix B2: [ B ] = [ B1 ] [ B2 ] [ B1 ] < Mby(NL) rectangular [ B2 ] < MbyL upper trapezoidal. The lower trapezoidal matrix B2 consists of the first L columns of a NbyN lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, B is rectangular MbyN; if M=L=N, B is lower triangular. The matrix W stores the elementary reflectors H(i) in the ith row above the diagonal (of A) in the Mby(M+N) input matrix C [ C ] = [ A ] [ B ] [ A ] < lower triangular NbyN [ B ] < MbyN pentagonal so that W can be represented as [ W ] = [ I ] [ V ] [ I ] < identity, NbyN [ V ] < MbyN, same form as B. Thus, all of information needed for W is contained on exit in B, which we call V above. Note that V has the same form as B; that is, [ V ] = [ V1 ] [ V2 ] [ V1 ] < Mby(NL) rectangular [ V2 ] < MbyL lower trapezoidal. The rows of V represent the vectors which define the H(i)'s. The number of blocks is B = ceiling(M/MB), where each block is of order MB except for the last block, which is of order IB = M  (M1)*MB. For each of the B blocks, a upper triangular block reflector factor is computed: T1, T2, ..., TB. The MBbyMB (and IBbyIB for the last block) T's are stored in the MBbyN matrix T as T = [T1 T2 ... TB].
Definition at line 191 of file dtplqt.f.