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

NAME

6       DGEHRD  -  a  real  general  matrix  A to upper Hessenberg form H by an
7       orthogonal similarity transformation
8

SYNOPSIS

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

PURPOSE

17       DGEHRD reduces a real general matrix A to upper Hessenberg form H by an
18       orthogonal 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 DGEBAL; otherwise they
29               should be set to 1 and N respectively. See Further Details.
30
31       A       (input/output) DOUBLE PRECISION 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
36               orthogonal matrix Q as a product of elementary reflectors.  See
37               Further Details.  LDA     (input) INTEGER The leading dimension
38               of the array A.  LDA >= max(1,N).
39
40       TAU     (output) DOUBLE PRECISION 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) DOUBLE PRECISION 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 real scalar, and v is a real vector with
71       v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on exit
72       in 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  DGEHRD  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                       DGEHRD(1)
Impressum