SORGHR - generate a real orthogonal matrix Q which is
defined as the product of IHI-ILO elementary reflectors of
order N, as returned by SGEHRD
SYNOPSIS
SUBROUTINE SORGHR( N, ILO, IHI, A, LDA, TAU, WORK, LWORK,
INFO )
INTEGER IHI, ILO, INFO, LDA, LWORK, N
REAL A( LDA, * ), TAU( * ), WORK( * )
PURPOSE
SORGHR generates a real orthogonal matrix Q which is
defined as the product of IHI-ILO elementary reflectors of
order N, as returned by SGEHRD: Q = H(ilo) H(ilo+1) . . .
H(ihi-1).
ARGUMENTS
N (input) INTEGER
The order of the matrix Q. N >= 0.
ILO (input) INTEGER
IHI (input) INTEGER ILO and IHI must have the
same values as in the previous call of SGEHRD. Q
is equal to the unit matrix except in the subma
trix Q(ilo+1:ihi,ilo+1:ihi). 1 <= ILO <= IHI <=
N, if N > 0; ILO=1 and IHI=0, if N=0.
A (input/output) REAL array, dimension (LDA,N)
On entry, the vectors which define the elementary
reflectors, as returned by SGEHRD. On exit, the
N-by-N orthogonal matrix Q.
LDA (input) INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
TAU (input) REAL array, dimension (N-1)
TAU(i) must contain the scalar factor of the ele
mentary reflector H(i), as returned by SGEHRD.
WORK (workspace/output) REAL array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal
LWORK.
LWORK (input) INTEGER
The dimension of the array WORK. LWORK >= IHI-ILO.
For optimum performance LWORK >= (IHI-ILO)*NB,
where NB is the optimal blocksize.
If LWORK = -1, then a workspace query is assumed;
the WORK array, returns this value as the first
entry of the WORK array, and no error message
related to LWORK is issued by XERBLA.
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille
gal value
Man(1) output converted with
man2html