1CGEHRD(1)                LAPACK routine (version 3.1)                CGEHRD(1)
2
3
4

NAME

6       CGEHRD  -  a  complex general matrix A to upper Hessenberg form H by an
7       unitary similarity transformation
8

SYNOPSIS

10       SUBROUTINE CGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO )
11
12           INTEGER        IHI, ILO, INFO, LDA, LWORK, N
13
14           COMPLEX        A( LDA, * ), TAU( * ), WORK( * )
15

PURPOSE

17       CGEHRD reduces a complex general matrix A to upper Hessenberg form H by
18       an unitary similarity transformation:  Q' * A * Q = H .
19
20

ARGUMENTS

22       N       (input) INTEGER
23               The order of the matrix A.  N >= 0.
24
25       ILO     (input) INTEGER
26               IHI      (input)  INTEGER It is assumed that A is already upper
27               triangular in rows and columns 1:ILO-1 and IHI+1:N. ILO and IHI
28               are  normally  set by a previous call to CGEBAL; otherwise they
29               should be set to 1 and N respectively. See Further Details.
30
31       A       (input/output) COMPLEX array, dimension (LDA,N)
32               On entry, the N-by-N general matrix to be  reduced.   On  exit,
33               the upper triangle and the first subdiagonal of A are overwrit‐
34               ten with the upper Hessenberg matrix H, and the elements  below
35               the  first  subdiagonal, with the array TAU, represent the uni‐
36               tary matrix Q as a product of elementary reflectors.  See  Fur‐
37               ther Details.  LDA     (input) INTEGER The leading dimension of
38               the array A.  LDA >= max(1,N).
39
40       TAU     (output) COMPLEX array, dimension (N-1)
41               The scalar factors of the elementary  reflectors  (see  Further
42               Details). Elements 1:ILO-1 and IHI:N-1 of TAU are set to zero.
43
44       WORK    (workspace/output) COMPLEX array, dimension (LWORK)
45               On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
46
47       LWORK   (input) INTEGER
48               The  length of the array WORK.  LWORK >= max(1,N).  For optimum
49               performance LWORK >= N*NB, where NB is the optimal blocksize.
50
51               If LWORK = -1, then a workspace query is assumed;  the  routine
52               only  calculates  the  optimal  size of the WORK array, returns
53               this value as the first entry of the WORK array, and  no  error
54               message related to LWORK is issued by XERBLA.
55
56       INFO    (output) INTEGER
57               = 0:  successful exit
58               < 0:  if INFO = -i, the i-th argument had an illegal value.
59

FURTHER DETAILS

61       The  matrix  Q  is  represented  as  a  product of (ihi-ilo) elementary
62       reflectors
63
64          Q = H(ilo) H(ilo+1) . . . H(ihi-1).
65
66       Each H(i) has the form
67
68          H(i) = I - tau * v * v'
69
70       where tau is a complex scalar, and v is a complex vector with v(1:i)  =
71       0,  v(i+1)  =  1  and  v(ihi+1:n)  = 0; v(i+2:ihi) is stored on exit in
72       A(i+2:ihi,i), and tau in TAU(i).
73
74       The contents of A are illustrated by the following example, with n = 7,
75       ilo = 2 and ihi = 6:
76
77       on entry,                        on exit,
78
79       ( a   a   a   a   a   a   a )    (  a   a   h   h   h   h   a ) (     a
80       a   a   a   a   a )    (      a   h   h   h   h   a ) (     a    a    a
81       a    a    a )    (      h   h   h   h   h   h ) (     a   a   a   a   a
82       a )    (      v2  h   h   h   h   h ) (     a   a   a    a    a    a  )
83       (       v2   v3   h    h    h    h ) (     a   a   a   a   a   a )    (
84       v2   v3   v4   h    h    h  )  (                           a   )      (
85       a )
86
87       where  a denotes an element of the original matrix A, h denotes a modi‐
88       fied element of the upper Hessenberg matrix H, and vi denotes  an  ele‐
89       ment of the vector defining H(i).
90
91       This  file  is  a slight modification of LAPACK-3.0's CGEHRD subroutine
92       incorporating improvements proposed by Quintana-Orti and Van  de  Geijn
93       (2005).
94
95
96
97
98 LAPACK routine (version 3.1)    November 2006                       CGEHRD(1)
Impressum