1CLAHR2(1)           LAPACK auxiliary routine (version 3.2)           CLAHR2(1)
2
3
4

NAME

6       CLAHR2 - reduces the first NB columns of A complex general n-BY-(n-k+1)
7       matrix A so that elements below the k-th subdiagonal are zero
8

SYNOPSIS

10       SUBROUTINE CLAHR2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
11
12           INTEGER        K, LDA, LDT, LDY, N, NB
13
14           COMPLEX        A( LDA, * ), T( LDT, NB ), TAU( NB ), Y( LDY, NB )
15

PURPOSE

17       CLAHR2 reduces the first NB columns of A complex  general  n-BY-(n-k+1)
18       matrix  A  so  that  elements  below the k-th subdiagonal are zero. The
19       reduction is performed by an unitary similarity transformation Q' * A *
20       Q.  The  routine  returns  the  matrices V and T which determine Q as a
21       block reflector I - V*T*V', and also the matrix Y = A * V * T.  This is
22       an auxiliary routine called by CGEHRD.
23

ARGUMENTS

25       N       (input) INTEGER
26               The order of the matrix A.
27
28       K       (input) INTEGER
29               The offset for the reduction. Elements below the k-th subdiago‐
30               nal in the first NB columns are reduced to zero.  K < N.
31
32       NB      (input) INTEGER
33               The number of columns to be reduced.
34
35       A       (input/output) COMPLEX array, dimension (LDA,N-K+1)
36               On entry, the n-by-(n-k+1) general matrix A.  On exit, the ele‐
37               ments on and above the k-th subdiagonal in the first NB columns
38               are overwritten with the corresponding elements of the  reduced
39               matrix; the elements below the k-th subdiagonal, with the array
40               TAU, represent the matrix Q as a product of elementary  reflec‐
41               tors.  The  other  columns  of  A  are  unchanged.  See Further
42               Details.  LDA     (input) INTEGER The leading dimension of  the
43               array A.  LDA >= max(1,N).
44
45       TAU     (output) COMPLEX array, dimension (NB)
46               The  scalar  factors  of the elementary reflectors. See Further
47               Details.
48
49       T       (output) COMPLEX array, dimension (LDT,NB)
50               The upper triangular matrix T.
51
52       LDT     (input) INTEGER
53               The leading dimension of the array T.  LDT >= NB.
54
55       Y       (output) COMPLEX array, dimension (LDY,NB)
56               The n-by-nb matrix Y.
57
58       LDY     (input) INTEGER
59               The leading dimension of the array Y. LDY >= N.
60

FURTHER DETAILS

62       The matrix Q is represented as a product of nb elementary reflectors
63          Q = H(1) H(2) . . . H(nb).
64       Each H(i) has the form
65          H(i) = I - tau * v * v'
66       where tau is  a  complex  scalar,  and  v  is  a  complex  vector  with
67       v(1:i+k-1)   =  0,  v(i+k)  =  1;  v(i+k+1:n)  is  stored  on  exit  in
68       A(i+k+1:n,i), and tau in TAU(i).
69       The elements of the vectors v together form the (n-k+1)-by-nb matrix  V
70       which is needed, with T and Y, to apply the transformation to the unre‐
71       duced part of the matrix, using an update  of  the  form:  A  :=  (I  -
72       V*T*V') * (A - Y*V').
73       The contents of A on exit are illustrated by the following example with
74       n = 7, k = 3 and nb = 2:
75          ( a   a   a   a   a )
76          ( a   a   a   a   a )
77          ( a   a   a   a   a )
78          ( h   h   a   a   a )
79          ( v1  h   a   a   a )
80          ( v1  v2  a   a   a )
81          ( v1  v2  a   a   a )
82       where a denotes an element of the original matrix A, h denotes a  modi‐
83       fied  element  of the upper Hessenberg matrix H, and vi denotes an ele‐
84       ment of the vector defining H(i).
85       This file is a slight modification of LAPACK-3.0's CLAHRD incorporating
86       improvements  proposed by Quintana-Orti and Van de Gejin. Note that the
87       entries of A(1:K,2:NB) differ  from  those  returned  by  the  original
88       LAPACK   routine.   This  function  is  not  backward  compatible  with
89       LAPACK3.0.
90
91
92
93 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008                       CLAHR2(1)
Impressum