--- 
:name: cungl2
:md5sum: 930c4f7265868e01524d9b4e01ef32e5
:category: :subroutine
:arguments: 
- m: 
    :type: integer
    :intent: input
- n: 
    :type: integer
    :intent: input
- k: 
    :type: integer
    :intent: input
- a: 
    :type: complex
    :intent: input/output
    :dims: 
    - lda
    - n
- lda: 
    :type: integer
    :intent: input
- tau: 
    :type: complex
    :intent: input
    :dims: 
    - k
- work: 
    :type: complex
    :intent: workspace
    :dims: 
    - m
- info: 
    :type: integer
    :intent: output
:substitutions: 
  m: lda
:fortran_help: "      SUBROUTINE CUNGL2( M, N, K, A, LDA, TAU, WORK, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  CUNGL2 generates an m-by-n complex matrix Q with orthonormal rows,\n\
  *  which is defined as the first m rows of a product of k elementary\n\
  *  reflectors of order n\n\
  *\n\
  *        Q  =  H(k)' . . . H(2)' H(1)'\n\
  *\n\
  *  as returned by CGELQF.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  M       (input) INTEGER\n\
  *          The number of rows of the matrix Q. M >= 0.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The number of columns of the matrix Q. N >= M.\n\
  *\n\
  *  K       (input) INTEGER\n\
  *          The number of elementary reflectors whose product defines the\n\
  *          matrix Q. M >= K >= 0.\n\
  *\n\
  *  A       (input/output) COMPLEX array, dimension (LDA,N)\n\
  *          On entry, the i-th row must contain the vector which defines\n\
  *          the elementary reflector H(i), for i = 1,2,...,k, as returned\n\
  *          by CGELQF in the first k rows of its array argument A.\n\
  *          On exit, the m by n matrix Q.\n\
  *\n\
  *  LDA     (input) INTEGER\n\
  *          The first dimension of the array A. LDA >= max(1,M).\n\
  *\n\
  *  TAU     (input) COMPLEX array, dimension (K)\n\
  *          TAU(i) must contain the scalar factor of the elementary\n\
  *          reflector H(i), as returned by CGELQF.\n\
  *\n\
  *  WORK    (workspace) COMPLEX array, dimension (M)\n\
  *\n\
  *  INFO    (output) INTEGER\n\
  *          = 0: successful exit\n\
  *          < 0: if INFO = -i, the i-th argument has an illegal value\n\
  *\n\n\
  *  =====================================================================\n\
  *\n"
