10#ifndef TLAPACK_HOUSEHOLDER_LQ_HH
11#define TLAPACK_HOUSEHOLDER_LQ_HH
40template <
class T, TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
46 if (opts.variant == HouseholderLQVariant::Level2)
47 return gelq2_worksize<T>(A, tau);
49 return gelqf_worksize<T>(A, tau, opts);
69 if (opts.variant == HouseholderLQVariant::Level2)
108template <TLAPACK_MATRIX matrix_t, TLAPACK_VECTOR vector_t>
114 if (opts.variant == HouseholderLQVariant::Level2)
115 return gelq2(A, tau);
117 return gelqf(A, tau, opts);
#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
#define TLAPACK_MATRIX
Macro for tlapack::concepts::Matrix compatible with C++17.
Definition concepts.hpp:896
int gelq2(matrix_t &A, vector_t &tauw)
Computes an LQ factorization of a complex m-by-n matrix A using an unblocked algorithm.
Definition gelq2.hpp:126
int gelqf(A_t &A, tau_t &tau, const GelqfOpts &opts={})
Computes an LQ factorization of an m-by-n matrix A using a blocked algorithm.
Definition gelqf.hpp:157
int gelqf_work(A_t &A, tau_t &tau, work_t &work, const GelqfOpts &opts={})
Computes an LQ factorization of an m-by-n matrix A using a blocked algorithm. Workspace is provided...
Definition gelqf.hpp:80
int gelq2_work(matrix_t &A, vector_t &tauw, work_t &work)
Computes an LQ factorization of a complex m-by-n matrix A using an unblocked algorithm....
Definition gelq2.hpp:59
int householder_lq_work(matrix_t &A, vector_t &tau, workspace_t &work, const HouseholderLQOpts &opts={})
Computes a LQ factorization of an m-by-n matrix A. Workspace is provided as an argument.
Definition householder_lq.hpp:63
int householder_lq(matrix_t &A, vector_t &tau, const HouseholderLQOpts &opts={})
Computes a LQ factorization of an m-by-n matrix A.
Definition householder_lq.hpp:109
constexpr WorkInfo householder_lq_worksize(const matrix_t &A, const vector_t &tau, const HouseholderLQOpts &opts={})
Worspace query of householder_lq()
Definition householder_lq.hpp:41
HouseholderLQVariant
Variants of the algorithm to compute the LQ factorization.
Definition householder_lq.hpp:20
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 gelqf.
Definition gelqf.hpp:24
Options struct for householder_lq()
Definition householder_lq.hpp:23
Output information in the workspace query.
Definition workspace.hpp:16