.TH "SRC/zgetsqrhrt.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME SRC/zgetsqrhrt.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBzgetsqrhrt\fP (m, n, mb1, nb1, nb2, a, lda, t, ldt, work, lwork, info)" .br .RI "\fBZGETSQRHRT\fP " .in -1c .SH "Function/Subroutine Documentation" .PP .SS "subroutine zgetsqrhrt (integer m, integer n, integer mb1, integer nb1, integer nb2, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( ldt, * ) t, integer ldt, complex*16, dimension( * ) work, integer lwork, integer info)" .PP \fBZGETSQRHRT\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> ZGETSQRHRT computes a NB2-sized column blocked QR-factorization !> of a complex M-by-N matrix A with M >= N, !> !> A = Q * R\&. !> !> The routine uses internally a NB1-sized column blocked and MB1-sized !> row blocked TSQR-factorization and perfors the reconstruction !> of the Householder vectors from the TSQR output\&. The routine also !> converts the R_tsqr factor from the TSQR-factorization output into !> the R factor that corresponds to the Householder QR-factorization, !> !> A = Q_tsqr * R_tsqr = Q * R\&. !> !> The output Q and R factors are stored in the same format as in ZGEQRT !> (Q is in blocked compact WY-representation)\&. See the documentation !> of ZGEQRT for more details on the format\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIM\fP .PP .nf !> M is INTEGER !> The number of rows of the matrix A\&. M >= 0\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The number of columns of the matrix A\&. M >= N >= 0\&. !> .fi .PP .br \fIMB1\fP .PP .nf !> MB1 is INTEGER !> The row block size to be used in the blocked TSQR\&. !> MB1 > N\&. !> .fi .PP .br \fINB1\fP .PP .nf !> NB1 is INTEGER !> The column block size to be used in the blocked TSQR\&. !> N >= NB1 >= 1\&. !> .fi .PP .br \fINB2\fP .PP .nf !> NB2 is INTEGER !> The block size to be used in the blocked QR that is !> output\&. NB2 >= 1\&. !> .fi .PP .br \fIA\fP .PP .nf !> A is COMPLEX*16 array, dimension (LDA,N) !> !> On entry: an M-by-N matrix A\&. !> !> On exit: !> a) the elements on and above the diagonal !> of the array contain the N-by-N upper-triangular !> matrix R corresponding to the Householder QR; !> b) the elements below the diagonal represent Q by !> the columns of blocked V (compact WY-representation)\&. !> .fi .PP .br \fILDA\fP .PP .nf !> LDA is INTEGER !> The leading dimension of the array A\&. LDA >= max(1,M)\&. !> .fi .PP .br \fIT\fP .PP .nf !> T is COMPLEX*16 array, dimension (LDT,N)) !> The upper triangular block reflectors stored in compact form !> as a sequence of upper triangular blocks\&. !> .fi .PP .br \fILDT\fP .PP .nf !> LDT is INTEGER !> The leading dimension of the array T\&. LDT >= NB2\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> (workspace) COMPLEX*16 array, dimension (MAX(1,LWORK)) !> On exit, if INFO = 0, WORK(1) returns the optimal LWORK\&. !> .fi .PP .br \fILWORK\fP .PP .nf !> LWORK is INTEGER !> The dimension of the array WORK\&. !> If MIN(M,N) = 0, LWORK >= 1, else !> LWORK >= MAX( 1, LWT + LW1, MAX( LWT+N*N+LW2, LWT+N*N+N ) ), !> where !> NUM_ALL_ROW_BLOCKS = CEIL((M-N)/(MB1-N)), !> NB1LOCAL = MIN(NB1,N)\&. !> LWT = NUM_ALL_ROW_BLOCKS * N * NB1LOCAL, !> LW1 = NB1LOCAL * N, !> LW2 = NB1LOCAL * MAX( NB1LOCAL, ( N - NB1LOCAL ) )\&. !> !> If LWORK = -1, then a workspace query is assumed\&. !> The routine only calculates the optimal size of the WORK !> array, returns this value as the first entry of the WORK !> array, and no error message related to LWORK is issued !> by XERBLA\&. !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBContributors:\fP .RS 4 .PP .nf !> !> November 2020, Igor Kozachenko, !> Computer Science Division, !> University of California, Berkeley !> !> .fi .PP .RE .PP .PP Definition at line \fB180\fP of file \fBzgetsqrhrt\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.