Provided by: liblapack-doc_3.12.0-3build1_all bug

NAME

       gemqrt - gemqrt: multiply by Q from geqrt

SYNOPSIS

   Functions
       subroutine cgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc, work, info)
           CGEMQRT
       subroutine dgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc, work, info)
           DGEMQRT
       subroutine sgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc, work, info)
           SGEMQRT
       subroutine zgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc, work, info)
           ZGEMQRT

Detailed Description

Function Documentation

   subroutine cgemqrt (character side, character trans, integer m, integer n, integer k, integer
       nb, complex, dimension( ldv, * ) v, integer ldv, complex, dimension( ldt, * ) t, integer
       ldt, complex, dimension( ldc, * ) c, integer ldc, complex, dimension( * ) work, integer
       info)
       CGEMQRT

       Purpose:

            CGEMQRT overwrites the general complex 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 orthogonal matrix defined as the product of K
            elementary reflectors:

                  Q = H(1) H(2) . . . H(K) = I - V T V**H

            generated using the compact WY representation as returned by CGEQRT.

            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**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 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 CGEQRT.

           V

                     V is COMPLEX 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
                     CGEQRT 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 COMPLEX array, dimension (LDT,K)
                     The upper triangular factors of the block reflectors
                     as returned by CGEQRT, stored as a NB-by-N matrix.

           LDT

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

           C

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

           LDC

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

           WORK

                     WORK is COMPLEX 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.

   subroutine dgemqrt (character side, character trans, integer m, integer n, integer k, integer
       nb, double precision, dimension( ldv, * ) v, integer ldv, double precision, dimension(
       ldt, * ) t, integer ldt, double precision, dimension( ldc, * ) c, integer ldc, double
       precision, dimension( * ) work, integer info)
       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.

   subroutine sgemqrt (character side, character trans, integer m, integer n, integer k, integer
       nb, real, dimension( ldv, * ) v, integer ldv, real, dimension( ldt, * ) t, integer ldt,
       real, dimension( ldc, * ) c, integer ldc, real, dimension( * ) work, integer info)
       SGEMQRT

       Purpose:

            SGEMQRT 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 SGEQRT.

            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;
                     = 'T':  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 SGEQRT.

           V

                     V is REAL 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
                     SGEQRT 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 REAL array, dimension (LDT,K)
                     The upper triangular factors of the block reflectors
                     as returned by SGEQRT, stored as a NB-by-N matrix.

           LDT

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

           C

                     C is REAL 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 REAL 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.

   subroutine zgemqrt (character side, character trans, integer m, integer n, integer k, integer
       nb, complex*16, dimension( ldv, * ) v, integer ldv, complex*16, dimension( ldt, * ) t,
       integer ldt, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( * )
       work, integer info)
       ZGEMQRT

       Purpose:

            ZGEMQRT overwrites the general complex 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 orthogonal matrix defined as the product of K
            elementary reflectors:

                  Q = H(1) H(2) . . . H(K) = I - V T V**H

            generated using the compact WY representation as returned by ZGEQRT.

            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**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 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 ZGEQRT.

           V

                     V is COMPLEX*16 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
                     ZGEQRT 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 COMPLEX*16 array, dimension (LDT,K)
                     The upper triangular factors of the block reflectors
                     as returned by ZGEQRT, stored as a NB-by-N matrix.

           LDT

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

           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, Q**H C, C Q**H or C Q.

           LDC

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

           WORK

                     WORK is COMPLEX*16 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.

Author

       Generated automatically by Doxygen for LAPACK from the source code.