1ZLAHRD(1) LAPACK auxiliary routine (version 3.2) ZLAHRD(1)
2
3
4
6 ZLAHRD - 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
10 SUBROUTINE ZLAHRD( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
11
12 INTEGER K, LDA, LDT, LDY, N, NB
13
14 COMPLEX*16 A( LDA, * ), T( LDT, NB ), TAU( NB ), Y( LDY, NB )
15
17 ZLAHRD 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 a 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 OBSOLETE auxiliary routine.
23 This routine will be 'deprecated' in a future release.
24 Please use the new routine ZLAHR2 instead.
25
27 N (input) INTEGER
28 The order of the matrix A.
29
30 K (input) INTEGER
31 The offset for the reduction. Elements below the k-th subdiago‐
32 nal in the first NB columns are reduced to zero.
33
34 NB (input) INTEGER
35 The number of columns to be reduced.
36
37 A (input/output) COMPLEX*16 array, dimension (LDA,N-K+1)
38 On entry, the n-by-(n-k+1) general matrix A. On exit, the ele‐
39 ments on and above the k-th subdiagonal in the first NB columns
40 are overwritten with the corresponding elements of the reduced
41 matrix; the elements below the k-th subdiagonal, with the array
42 TAU, represent the matrix Q as a product of elementary reflec‐
43 tors. The other columns of A are unchanged. See Further
44 Details. LDA (input) INTEGER The leading dimension of the
45 array A. LDA >= max(1,N).
46
47 TAU (output) COMPLEX*16 array, dimension (NB)
48 The scalar factors of the elementary reflectors. See Further
49 Details.
50
51 T (output) COMPLEX*16 array, dimension (LDT,NB)
52 The upper triangular matrix T.
53
54 LDT (input) INTEGER
55 The leading dimension of the array T. LDT >= NB.
56
57 Y (output) COMPLEX*16 array, dimension (LDY,NB)
58 The n-by-nb matrix Y.
59
60 LDY (input) INTEGER
61 The leading dimension of the array Y. LDY >= max(1,N).
62
64 The matrix Q is represented as a product of nb elementary reflectors
65 Q = H(1) H(2) . . . H(nb).
66 Each H(i) has the form
67 H(i) = I - tau * v * v'
68 where tau is a complex scalar, and v is a complex vector with
69 v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in
70 A(i+k+1:n,i), and tau in TAU(i).
71 The elements of the vectors v together form the (n-k+1)-by-nb matrix V
72 which is needed, with T and Y, to apply the transformation to the unre‐
73 duced part of the matrix, using an update of the form: A := (I -
74 V*T*V') * (A - Y*V').
75 The contents of A on exit are illustrated by the following example with
76 n = 7, k = 3 and nb = 2:
77 ( a h a a a )
78 ( a h a a a )
79 ( a h a a a )
80 ( h h a a a )
81 ( v1 h a a a )
82 ( v1 v2 a a a )
83 ( v1 v2 a a a )
84 where a denotes an element of the original matrix A, h denotes a modi‐
85 fied element of the upper Hessenberg matrix H, and vi denotes an ele‐
86 ment of the vector defining H(i).
87
88
89
90 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008 ZLAHRD(1)