(C|Z)UNGHR

Single complex and double complex UNGHR.

Description

Generates a unitary matrix given a set of elementary reflectors and scale factors.

Q = H_{ILO} \mult H_{ILO+1} \mult \dots \mult H_{IHI-1}

The elementary reflectors and scale factors are expected in the same form as generated by GEHRD.

LAPACK Interface

void cunghr(const qml_long *N, const qml_long *ILO, const qml_long *IHI,
    qml_single_complex *A, const qml_long *LDA, qml_single_complex *TAU,
    qml_single_complex *WORK, const qml_long *LWORK, qml_long *INFO);

void zunghr(const qml_long *N, const qml_long *ILO, const qml_long *IHI,
    qml_double_complex *A, const qml_long *LDA, qml_double_complex *TAU,
    qml_double_complex *WORK, const qml_long *LWORK, qml_long *INFO);

Arguments

N Number of rows and columns of A
ILO Lower index
IHI Upper index, 1 <= ILO <= IHI <= N
A Elementary reflector vectors, overwritten with Q on exit
LDA Leading dimension of A
TAU Array of scale factors for reflectors
WORK Work space of size at least LWORK
LWORK Size of work space (-1 to query)
INFO 0 on success