--- 
:name: sorgl2
:md5sum: 5ca4164384b4e139924805aac6960789
:category: :subroutine
:arguments: 
- m: 
    :type: integer
    :intent: input
- n: 
    :type: integer
    :intent: input
- k: 
    :type: integer
    :intent: input
- a: 
    :type: real
    :intent: input/output
    :dims: 
    - lda
    - n
- lda: 
    :type: integer
    :intent: input
- tau: 
    :type: real
    :intent: input
    :dims: 
    - k
- work: 
    :type: real
    :intent: workspace
    :dims: 
    - m
- info: 
    :type: integer
    :intent: output
:substitutions: 
  m: lda
:fortran_help: "      SUBROUTINE SORGL2( M, N, K, A, LDA, TAU, WORK, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  SORGL2 generates an m by n real 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 SGELQF.\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) REAL 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 SGELQF 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) REAL array, dimension (K)\n\
  *          TAU(i) must contain the scalar factor of the elementary\n\
  *          reflector H(i), as returned by SGELQF.\n\
  *\n\
  *  WORK    (workspace) REAL 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"
