Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

?orghr

Generates the real orthogonal matrix Q determined by
?gehrd
.

Syntax

lapack_int
LAPACKE_sorghr
(
int
matrix_layout
,
lapack_int
n
,
lapack_int
ilo
,
lapack_int
ihi
,
float
*
a
,
lapack_int
lda
,
const
float
*
tau
);
lapack_int
LAPACKE_dorghr
(
int
matrix_layout
,
lapack_int
n
,
lapack_int
ilo
,
lapack_int
ihi
,
double
*
a
,
lapack_int
lda
,
const
double
*
tau
);
Include Files
  • mkl.h
Description
The routine explicitly generates the orthogonal matrix
Q
that has been determined by a preceding call to
sgehrd
/
dgehrd
. (The routine
?gehrd
reduces a real general matrix
A
to upper Hessenberg form
H
by an orthogonal similarity transformation,
A
=
Q*H*Q
T
, and represents the matrix
Q
as a product of
ihi
-
ilo
elementary reflectors. Here
ilo
and
ihi
are values determined by
sgebal
/
dgebal
when balancing the matrix; if the matrix has not been balanced,
ilo
= 1
and
ihi
=
n
.)
The matrix
Q
generated by
?orghr
has the structure:
Equation
where
Q
22
occupies rows and columns
ilo
to
ihi
.
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major (
LAPACK_ROW_MAJOR
) or column major (
LAPACK_COL_MAJOR
).
n
The order of the matrix
Q
(
n
0
).
ilo
,
ihi
These must be the same parameters
ilo
and
ihi
, respectively, as supplied to
?gehrd
. (If
n
> 0
, then
1
ilo
ihi
n
; if
n
=
0
,
ilo
= 1
and
ihi
= 0
.)
a
,
tau
Arrays:
a
(size max(1,
lda
*
n
))
contains details of the vectors which define the elementary reflectors, as returned by
?gehrd
.
tau
contains further details of the elementary reflectors, as returned by
?gehrd
.
The dimension of
tau
must be at least max (1,
n
-1).
lda
The leading dimension of
a
; at least max(1,
n
).
Output Parameters
a
Overwritten by the
n
-by-
n
orthogonal matrix
Q
.
Return Values
This function returns a value
info
.
If
info
=0
, the execution is successful.
If
info
=
-i
, the
i
-th parameter had an illegal value.
Application Notes
The computed matrix
Q
differs from the exact result by a matrix
E
such that
||
E
||
2
=
O
(
ε
)
, where
ε
is the machine precision.
The approximate number of floating-point operations is
(4/3)(
ihi
-
ilo
)
3
.
The complex counterpart of this routine is unghr.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804