Previous: dlatrs Up: ../lapack-d.html Next: dlauu2


dlatzm


 NAME
      DLATZM - apply a Householder matrix generated by DTZRQF to a
      matrix

 SYNOPSIS
      SUBROUTINE DLATZM( SIDE, M, N, V, INCV, TAU, C1, C2, LDC,
                         WORK )

          CHARACTER      SIDE

          INTEGER        INCV, LDC, M, N

          DOUBLE         PRECISION TAU

          DOUBLE         PRECISION C1( LDC, * ), C2( LDC, * ), V(
                         * ), WORK( * )

 PURPOSE
      DLATZM applies a Householder matrix generated by DTZRQF to a
      matrix.

      Let P = I - tau*u*u',   u = ( 1 ),
                                  ( v )
      where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector
      if SIDE = 'R'.

      If SIDE equals 'L', let
             C = [ C1 ] 1
                 [ C2 ] m-1
                   n
      Then C is overwritten by P*C.

      If SIDE equals 'R', let
             C = [ C1, C2 ] m
                    1  n-1
      Then C is overwritten by C*P.

 ARGUMENTS
      SIDE    (input) CHARACTER*1
              = 'L': form P * C
              = 'R': form C * P

      M       (input) INTEGER
              The number of rows of the matrix C.

      N       (input) INTEGER
              The number of columns of the matrix C.

      V       (input) DOUBLE PRECISION array, dimension
              (1 + (M-1)*abs(INCV)) if SIDE = 'L' (1 + (N-
              1)*abs(INCV)) if SIDE = 'R' The vector v in the

              representation of P. V is not used if TAU = 0.

      INCV    (input) INTEGER
              The increment between elements of v. INCV <> 0

      TAU     (input) DOUBLE PRECISION
              The value tau in the representation of P.

      C1      (input/output) DOUBLE PRECISION array, dimension
              (LDC,N) if SIDE = 'L' (M,1)   if SIDE = 'R' On
              entry, the n-vector C1 if SIDE = 'L', or the m-
              vector C1 if SIDE = 'R'.

              On exit, the first row of P*C if SIDE = 'L', or the
              first column of C*P if SIDE = 'R'.

      C2      (input/output) DOUBLE PRECISION array, dimension
              (LDC, N)   if SIDE = 'L' (LDC, N-1) if SIDE = 'R' On
              entry, the (m - 1) x n matrix C2 if SIDE = 'L', or
              the m x (n - 1) matrix C2 if SIDE = 'R'.

              On exit, rows 2:m of P*C if SIDE = 'L', or columns
              2:m of C*P if SIDE = 'R'.

      LDC     (input) INTEGER
              The leading dimension of the arrays C1 and C2. LDC
              >= (1,M).

      WORK    (workspace) DOUBLE PRECISION array, dimension
              (N) if SIDE = 'L' (M) if SIDE = 'R'