(S|D|C|Z)LARFT¶
Single, double, single complex, and double complex LARFT.
Description¶
Generates the triangular factor T of a block reflector.
The block reflector matrix H is formed as a product of elementary reflectors.
When DIRECT is ‘F’:

When DIRECT is ‘B’:

If STOREV is ‘C’, the vectors that define each elementary reflector are stored as columns of V and:

If STOREV is ‘R’, the vectors that define each elementary reflector are stored as rows of V and:

LAPACK Interface¶
void slarft(const char *DIRECT, const char *STOREV, const qml_long *N,
const qml_long *K, const float *V, const qml_long *LDV, const float *TAU,
float *T, const qml_long *LDT);
void dlarft(const char *DIRECT, const char *STOREV, const qml_long *N,
const qml_long *K, const double *V, const qml_long *LDV, const double *TAU,
double *T, const qml_long *LDT);
void clarft(const char *DIRECT, const char *STOREV, const qml_long *N,
const qml_long *K, const qml_single_complex *V, const qml_long *LDV,
const qml_single_complex *TAU, qml_single_complex *T, const qml_long *LDT);
void zlarft(const char *DIRECT, const char *STOREV, const qml_long *N,
const qml_long *K, const qml_double_complex *V, const qml_long *LDV,
const qml_double_complex *TAU, qml_double_complex *T, const qml_long *LDT);
Arguments¶
| DIRECT | Direction to apply elementary reflectors |
| STOREV | Storage format of elementary reflector vectors |
| N | Order of the block reflector H |
| K | The number of elementary reflectors in the block |
| V | Matrix storing reflector vectors |
| LDV | Leading dimension of V |
| TAU | Vector of scale factors ![]() |
| T | Triangular K x K matrix storing reflectors |
| LDT | Leading dimension of T |
