SRC/dgemqrt.f(3) Library Functions Manual SRC/dgemqrt.f(3)

SRC/dgemqrt.f


subroutine dgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc, work, info)
DGEMQRT

DGEMQRT

Purpose:

 DGEMQRT overwrites the general real M-by-N matrix C with
                 SIDE = 'L'     SIDE = 'R'
 TRANS = 'N':      Q C            C Q
 TRANS = 'T':   Q**T C            C Q**T
 where Q is a real orthogonal matrix defined as the product of K
 elementary reflectors:
       Q = H(1) H(2) . . . H(K) = I - V T V**T
 generated using the compact WY representation as returned by DGEQRT.
 Q is of order M if SIDE = 'L' and of order N  if SIDE = 'R'.

Parameters

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

TRANS

          TRANS is CHARACTER*1
          = 'N':  No transpose, apply Q;
          = 'C':  Transpose, apply Q**T.

M

          M is INTEGER
          The number of rows of the matrix C. 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.

NB

          NB is INTEGER
          The block size used for the storage of T.  K >= NB >= 1.
          This must be the same value of NB used to generate T
          in DGEQRT.

V

          V is DOUBLE PRECISION array, dimension (LDV,K)
          The i-th column must contain the vector which defines the
          elementary reflector H(i), for i = 1,2,...,k, as returned by
          DGEQRT in the first K columns of its array argument A.

LDV

          LDV is INTEGER
          The leading dimension of the array V.
          If SIDE = 'L', LDA >= max(1,M);
          if SIDE = 'R', LDA >= max(1,N).

T

          T is DOUBLE PRECISION array, dimension (LDT,K)
          The upper triangular factors of the block reflectors
          as returned by DGEQRT, stored as a NB-by-N matrix.

LDT

          LDT is INTEGER
          The leading dimension of the array T.  LDT >= NB.

C

          C is DOUBLE PRECISION array, dimension (LDC,N)
          On entry, the M-by-N matrix C.
          On exit, C is overwritten by Q C, Q**T C, C Q**T or C Q.

LDC

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

WORK

          WORK is DOUBLE PRECISION array. The dimension of
          WORK is N*NB if SIDE = 'L', or  M*NB if SIDE = 'R'.

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.

Definition at line 166 of file dgemqrt.f.

Generated automatically by Doxygen for LAPACK from the source code.

Version 3.12.0 LAPACK