LAPACK  3.5.0
LAPACK: Linear Algebra PACKage
 All Classes Files Functions Variables Typedefs Macros
zgeqrt3.f File Reference

Go to the source code of this file.

Functions/Subroutines

recursive subroutine zgeqrt3 (M, N, A, LDA, T, LDT, INFO)
 ZGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.

Function/Subroutine Documentation

recursive subroutine zgeqrt3 ( integer  M,
integer  N,
complex*16, dimension( lda, * )  A,
integer  LDA,
complex*16, dimension( ldt, * )  T,
integer  LDT,
integer  INFO 
)

ZGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.

Download ZGEQRT3 + dependencies [TGZ] [ZIP] [TXT]
Purpose:
 ZGEQRT3 recursively computes a QR factorization of a complex M-by-N 
 matrix A, using the compact WY representation of Q. 

 Based on the algorithm of Elmroth and Gustavson, 
 IBM J. Res. Develop. Vol 44 No. 4 July 2000.
Parameters
[in]M
          M is INTEGER
          The number of rows of the matrix A.  M >= N.
[in]N
          N is INTEGER
          The number of columns of the matrix A.  N >= 0.
[in,out]A
          A is COMPLEX*16 array, dimension (LDA,N)
          On entry, the complex M-by-N matrix A.  On exit, the elements on 
          and above the diagonal contain the N-by-N upper triangular matrix R;
          the elements below the diagonal are the columns of V.  See below for
          further details.
[in]LDA
          LDA is INTEGER
          The leading dimension of the array A.  LDA >= max(1,M).
[out]T
          T is COMPLEX*16 array, dimension (LDT,N)
          The N-by-N upper triangular factor of the block reflector.
          The elements on and above the diagonal contain the block
          reflector T; the elements below the diagonal are not used.
          See below for further details.
[in]LDT
          LDT is INTEGER
          The leading dimension of the array T.  LDT >= max(1,N).
[out]INFO
          INFO is INTEGER
          = 0: successful exit
          < 0: if INFO = -i, the i-th argument had an illegal value
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
September 2012
Further Details:
  The matrix V stores the elementary reflectors H(i) in the i-th column
  below the diagonal. For example, if M=5 and N=3, the matrix V is

               V = (  1       )
                   ( v1  1    )
                   ( v1 v2  1 )
                   ( v1 v2 v3 )
                   ( v1 v2 v3 )

  where the vi's represent the vectors which define H(i), which are returned
  in the matrix A.  The 1's along the diagonal of V are not stored in A.  The
  block reflector H is then given by

               H = I - V * T * V**H

  where V**H is the conjugate transpose of V.

  For details of the algorithm, see Elmroth and Gustavson (cited above).

Definition at line 133 of file zgeqrt3.f.

Here is the call graph for this function:

Here is the caller graph for this function: