Contents
clatzm - routine is deprecated and has been replaced by rou-
tine CUNMRZ
SUBROUTINE CLATZM(SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
CHARACTER * 1 SIDE
COMPLEX TAU
COMPLEX V(*), C1(LDC,*), C2(LDC,*), WORK(*)
INTEGER M, N, INCV, LDC
SUBROUTINE CLATZM_64(SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
CHARACTER * 1 SIDE
COMPLEX TAU
COMPLEX V(*), C1(LDC,*), C2(LDC,*), WORK(*)
INTEGER*8 M, N, INCV, LDC
F95 INTERFACE
SUBROUTINE LATZM(SIDE, [M], [N], V, [INCV], TAU, C1, C2, [LDC], [WORK])
CHARACTER(LEN=1) :: SIDE
COMPLEX :: TAU
COMPLEX, DIMENSION(:) :: V, WORK
COMPLEX, DIMENSION(:,:) :: C1, C2
INTEGER :: M, N, INCV, LDC
SUBROUTINE LATZM_64(SIDE, [M], [N], V, [INCV], TAU, C1, C2, [LDC],
[WORK])
CHARACTER(LEN=1) :: SIDE
COMPLEX :: TAU
COMPLEX, DIMENSION(:) :: V, WORK
COMPLEX, DIMENSION(:,:) :: C1, C2
INTEGER(8) :: M, N, INCV, LDC
C INTERFACE
#include <sunperf.h>
void clatzm(char side, int m, int n, complex *v, int incv,
complex *tau, complex *c1, complex *c2, int ldc);
void clatzm_64(char side, long m, long n, complex *v, long
incv, complex *tau, complex *c1, complex *c2, long
ldc);
clatzm routine is deprecated and has been replaced by rou-
tine CUNMRZ.
CLATZM applies a Householder matrix generated by CTZRQF 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.
SIDE (input)
= 'L': form P * C
= 'R': form C * P
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 >= max(1,M).
WORK (workspace)
(N) if SIDE = 'L' (M) if SIDE = 'R'