dlatzm


NAME

dlatzm - routine is deprecated and has been replaced by routine SORMRZ


SYNOPSIS

  SUBROUTINE DLATZM( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
  CHARACTER * 1 SIDE
  INTEGER M, N, INCV, LDC
  DOUBLE PRECISION TAU
  DOUBLE PRECISION V(*), C1(LDC,*), C2(LDC,*), WORK(*)
 
  SUBROUTINE DLATZM_64( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
  CHARACTER * 1 SIDE
  INTEGER*8 M, N, INCV, LDC
  DOUBLE PRECISION TAU
  DOUBLE PRECISION V(*), C1(LDC,*), C2(LDC,*), WORK(*)
 

F95 INTERFACE

  SUBROUTINE LATZM( SIDE, [M], [N], V, [INCV], TAU, C1, C2, [LDC], 
 *       [WORK])
  CHARACTER(LEN=1) :: SIDE
  INTEGER :: M, N, INCV, LDC
  REAL(8) :: TAU
  REAL(8), DIMENSION(:) :: V, WORK
  REAL(8), DIMENSION(:,:) :: C1, C2
 
  SUBROUTINE LATZM_64( SIDE, [M], [N], V, [INCV], TAU, C1, C2, [LDC], 
 *       [WORK])
  CHARACTER(LEN=1) :: SIDE
  INTEGER(8) :: M, N, INCV, LDC
  REAL(8) :: TAU
  REAL(8), DIMENSION(:) :: V, WORK
  REAL(8), DIMENSION(:,:) :: C1, C2
 

C INTERFACE

#include <sunperf.h>

void dlatzm(char side, int m, int n, double *v, int incv, double tau, double *c1, double *c2, int ldc);

void dlatzm_64(char side, long m, long n, double *v, long incv, double tau, double *c1, double *c2, long ldc);


PURPOSE

dlatzm routine is deprecated and has been replaced by routine SORMRZ.

SLATZM applies a Householder matrix generated by STZRQF 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)
* M (input)
The number of rows of the matrix C.

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

* V (input)
(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)
The increment between elements of v. INCV <> 0

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

* C1 (input/output)
(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)
(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)
The leading dimension of the arrays C1 and C2. LDC >= (1,M).

* WORK (workspace)
(N) if SIDE = 'L' (M) if SIDE = 'R'