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