1CUNGHR(1) LAPACK routine (version 3.1) CUNGHR(1)
2
3
4
6 CUNGHR - a complex unitary matrix Q which is defined as the product of
7 IHI-ILO elementary reflectors of order N, as returned by CGEHRD
8
10 SUBROUTINE CUNGHR( 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
17 CUNGHR generates a complex unitary matrix Q which is defined as the
18 product of IHI-ILO elementary reflectors of order N, as returned by
19 CGEHRD:
20
21 Q = H(ilo) H(ilo+1) . . . H(ihi-1).
22
23
25 N (input) INTEGER
26 The order of the matrix Q. N >= 0.
27
28 ILO (input) INTEGER
29 IHI (input) INTEGER ILO and IHI must have the same values
30 as in the previous call of CGEHRD. Q is equal to the unit
31 matrix except in the submatrix Q(ilo+1:ihi,ilo+1:ihi). 1 <=
32 ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0.
33
34 A (input/output) COMPLEX array, dimension (LDA,N)
35 On entry, the vectors which define the elementary reflectors,
36 as returned by CGEHRD. On exit, the N-by-N unitary matrix Q.
37
38 LDA (input) INTEGER
39 The leading dimension of the array A. LDA >= max(1,N).
40
41 TAU (input) COMPLEX array, dimension (N-1)
42 TAU(i) must contain the scalar factor of the elementary reflecā
43 tor H(i), as returned by CGEHRD.
44
45 WORK (workspace/output) COMPLEX array, dimension (MAX(1,LWORK))
46 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
47
48 LWORK (input) INTEGER
49 The dimension of the array WORK. LWORK >= IHI-ILO. For optimum
50 performance LWORK >= (IHI-ILO)*NB, where NB is the optimal
51 blocksize.
52
53 If LWORK = -1, then a workspace query is assumed; the routine
54 only calculates the optimal size of the WORK array, returns
55 this value as the first entry of the WORK array, and no error
56 message related to LWORK is issued by XERBLA.
57
58 INFO (output) INTEGER
59 = 0: successful exit
60 < 0: if INFO = -i, the i-th argument had an illegal value
61
62
63
64 LAPACK routine (version 3.1) November 2006 CUNGHR(1)