10#ifndef TLAPACK_GEN_HOUSEHOLDER_Q_HH
11#define TLAPACK_GEN_HOUSEHOLDER_Q_HH
57 if (opts.variant == GenHouseholderQVariant::Level2)
58 return ungq_level2_worksize<T>(direction, storeMode, A, tau);
60 return ungq_worksize<T>(direction, storeMode, A, tau, opts);
84 if (opts.variant == GenHouseholderQVariant::Level2)
87 return ungq_work(direction, storeMode, A, tau, work, opts);
163 if (opts.variant == GenHouseholderQVariant::Level2)
166 return ungq(direction, storeMode, A, tau, opts);
#define TLAPACK_STOREV
Macro for tlapack::concepts::StoreV compatible with C++17.
Definition concepts.hpp:936
#define TLAPACK_SMATRIX
Macro for tlapack::concepts::SliceableMatrix compatible with C++17.
Definition concepts.hpp:899
#define TLAPACK_DIRECTION
Macro for tlapack::concepts::Direction compatible with C++17.
Definition concepts.hpp:930
#define TLAPACK_WORKSPACE
Macro for tlapack::concepts::Workspace compatible with C++17.
Definition concepts.hpp:912
#define TLAPACK_VECTOR
Macro for tlapack::concepts::Vector compatible with C++17.
Definition concepts.hpp:906
GenHouseholderQVariant
Variants of the algorithm to generate the unitary matrix Q from a set of Householder reflectors.
Definition gen_householder_q.hpp:21
int ungq(direction_t direction, storage_t storeMode, matrix_t &A, const vector_t &tau, const UngqOpts &opts={})
Generates a matrix Q that is the product of elementary reflectors.
Definition ungq.hpp:352
int ungq_level2(direction_t direction, storage_t storeMode, matrix_t &A, const vector_t &tau)
Generates a matrix Q that is the product of elementary reflectors.
Definition ungq_level2.hpp:289
int ungq_work(direction_t direction, storage_t storeMode, matrix_t &A, const vector_t &tau, work_t &work, const UngqOpts &opts={})
Generates a matrix Q that is the product of elementary reflectors. Workspace is provided as an argu...
Definition ungq.hpp:138
int ungq_level2_work(direction_t direction, storage_t storeMode, matrix_t &A, const vector_t &tau, work_t &work)
Generates a matrix Q that is the product of elementary reflectors. Workspace is provided as an argu...
Definition ungq_level2.hpp:90
int gen_householder_q_work(direction_t direction, storage_t storeMode, matrix_t &A, const vector_t &tau, work_t &work, const GenHouseholderQOpts &opts={})
Generates a matrix Q that is the product of elementary reflectors. Workspace is provided as an argu...
Definition gen_householder_q.hpp:77
int gen_householder_q(direction_t direction, storage_t storeMode, matrix_t &A, const vector_t &tau, const GenHouseholderQOpts &opts={})
Generates a matrix Q that is the product of elementary reflectors.
Definition gen_householder_q.hpp:157
constexpr WorkInfo gen_householder_q_worksize(direction_t direction, storage_t storeMode, const matrix_t &A, const vector_t &tau, const GenHouseholderQOpts &opts={})
Worspace query of gen_householder_q()
Definition gen_householder_q.hpp:50
typename traits::real_type_traits< Types..., int >::type real_type
The common real type of the list of types.
Definition scalar_type_traits.hpp:113
Options struct for gen_householder_q()
Definition gen_householder_q.hpp:24
Options struct for ungq.
Definition ungq.hpp:26
Output information in the workspace query.
Definition workspace.hpp:16