1DORGTR(1) LAPACK routine (version 3.1) DORGTR(1)
2
3
4
6 DORGTR - a real orthogonal matrix Q which is defined as the product of
7 n-1 elementary reflectors of order N, as returned by DSYTRD
8
10 SUBROUTINE DORGTR( UPLO, N, A, LDA, TAU, WORK, LWORK, INFO )
11
12 CHARACTER UPLO
13
14 INTEGER INFO, LDA, LWORK, N
15
16 DOUBLE PRECISION A( LDA, * ), TAU( * ), WORK( * )
17
19 DORGTR generates a real orthogonal matrix Q which is defined as the
20 product of n-1 elementary reflectors of order N, as returned by DSYTRD:
21
22 if UPLO = 'U', Q = H(n-1) . . . H(2) H(1),
23
24 if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).
25
26
28 UPLO (input) CHARACTER*1
29 = 'U': Upper triangle of A contains elementary reflectors from
30 DSYTRD; = 'L': Lower triangle of A contains elementary reflec‐
31 tors from DSYTRD.
32
33 N (input) INTEGER
34 The order of the matrix Q. N >= 0.
35
36 A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
37 On entry, the vectors which define the elementary reflectors,
38 as returned by DSYTRD. On exit, the N-by-N orthogonal matrix
39 Q.
40
41 LDA (input) INTEGER
42 The leading dimension of the array A. LDA >= max(1,N).
43
44 TAU (input) DOUBLE PRECISION array, dimension (N-1)
45 TAU(i) must contain the scalar factor of the elementary reflec‐
46 tor H(i), as returned by DSYTRD.
47
48 WORK (workspace/output) DOUBLE PRECISION array, dimension
49 (MAX(1,LWORK))
50 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
51
52 LWORK (input) INTEGER
53 The dimension of the array WORK. LWORK >= max(1,N-1). For
54 optimum performance LWORK >= (N-1)*NB, where NB is the optimal
55 blocksize.
56
57 If LWORK = -1, then a workspace query is assumed; the routine
58 only calculates the optimal size of the WORK array, returns
59 this value as the first entry of the WORK array, and no error
60 message related to LWORK is issued by XERBLA.
61
62 INFO (output) INTEGER
63 = 0: successful exit
64 < 0: if INFO = -i, the i-th argument had an illegal value
65
66
67
68 LAPACK routine (version 3.1) November 2006 DORGTR(1)