SRC/zgemlq.f(3)

NAME
SRC/zgemlq.f

SYNOPSIS

  Functions/Subroutines
subroutine zgemlq (side, trans, m, n, k, a, lda, t, tsize, c, ldc, work, lwork, info)
ZGEMLQ

Function/Subroutine Documentation

  subroutine zgemlq (character side, character trans, integer m, integer n, integer k, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) t, integer tsize, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( * ) work, integer lwork, integer info)

ZGEMLQ

Purpose:

    !>
    !>     ZGEMLQ overwrites the general real M-by-N matrix C with
    !>
    !>                      SIDE = 'L'     SIDE = 'R'
    !>      TRANS = 'N':      Q * C          C * Q
    !>      TRANS = 'C':      Q**H * C       C * Q**H
    !>      where Q is a complex unitary matrix defined as the product
    !>      of blocked elementary reflectors computed by short wide
    !>      LQ factorization (ZGELQ)
    !>
    !>

Parameters
    SIDE

    !>          SIDE is CHARACTER*1
    !>          = 'L': apply Q or Q**H from the Left;
    !>          = 'R': apply Q or Q**H from the Right.
    !>

    TRANS

    !>          TRANS is CHARACTER*1
    !>          = 'N':  No transpose, apply Q;
    !>          = 'C':  Conjugate transpose, apply Q**H.
    !>

    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >=0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix C. N >= 0.
    !>

    K

    !>          K is INTEGER
    !>          The number of elementary reflectors whose product defines
    !>          the matrix Q.
    !>          If SIDE = 'L', M >= K >= 0;
    !>          if SIDE = 'R', N >= K >= 0.
    !>
    !>

    A

    !>          A is COMPLEX*16 array, dimension
    !>                               (LDA,M) if SIDE = 'L',
    !>                               (LDA,N) if SIDE = 'R'
    !>          Part of the data structure to represent Q as returned by ZGELQ.
    !>

    LDA

    !>          LDA is INTEGER
    !>          The leading dimension of the array A. LDA >= max(1,K).
    !>

    T

    !>          T is COMPLEX*16 array, dimension (MAX(5,TSIZE)).
    !>          Part of the data structure to represent Q as returned by ZGELQ.
    !>

    TSIZE

    !>          TSIZE is INTEGER
    !>          The dimension of the array T. TSIZE >= 5.
    !>

    C

    !>          C is COMPLEX*16 array, dimension (LDC,N)
    !>          On entry, the M-by-N matrix C.
    !>          On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q.
    !>

    LDC

    !>          LDC is INTEGER
    !>          The leading dimension of the array C. LDC >= max(1,M).
    !>

    WORK

    !>          (workspace) COMPLEX*16 array, dimension (MAX(1,LWORK))
    !>          On exit, if INFO = 0, WORK(1) returns the minimal LWORK.
    !>

    LWORK

    !>          LWORK is INTEGER
    !>          The dimension of the array WORK. LWORK >= 1.
    !>          If LWORK = -1, then a workspace query is assumed. The routine
    !>          only calculates the size of the WORK array, returns this
    !>          value as WORK(1), and no error message related to WORK
    !>          is issued by XERBLA.
    !>

    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.

Further Details

    !>
    !> These details are particular for this LAPACK implementation. Users should not
    !> take them for granted. These details may change in the future, and are not likely
    !> true for another LAPACK implementation. These details are relevant if one wants
    !> to try to understand the code. They are not part of the interface.
    !>
    !> In this version,
    !>
    !>          T(2): row block size (MB)
    !>          T(3): column block size (NB)
    !>          T(6:TSIZE): data structure needed for Q, computed by
    !>                           ZLASWLQ or ZGELQT
    !>
    !>  Depending on the matrix dimensions M and N, and row and column
    !>  block sizes MB and NB returned by ILAENV, ZGELQ will use either
    !>  ZLASWLQ (if the matrix is wide-and-short) or ZGELQT to compute
    !>  the LQ factorization.
    !>  This version of ZGEMLQ will use either ZLAMSWLQ or ZGEMLQT to
    !>  multiply matrix Q by another matrix.
    !>  Further Details in ZLAMSWLQ or ZGEMLQT.
    !>

Definition at line 170 of file zgemlq.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.