10#ifndef TLAPACK_TRGE_QR2_HH
11#define TLAPACK_TRGE_QR2_HH
17template <TLAPACK_SMATRIX matrix_t, TLAPACK_VECTOR vector_t>
29 idx_t m = nrows(
A) - n;
35 for (idx_t i = 0; i < n - 1; ++i) {
36 auto v = slice(
A,
range{n, m + n}, i);
40 v = slice(
A,
range{n, m + n}, i);
41 auto C0 = slice(
A, i,
range{i + 1, n});
47 auto v = slice(
A,
range{n, m + n}, n - 1);
void larfg(storage_t storeMode, type_t< vector_t > &alpha, vector_t &x, type_t< vector_t > &tau)
Generates a elementary Householder reflection.
Definition larfg.hpp:73
void larf_work(side_t side, storage_t storeMode, vector_t const &x, const tau_t &tau, vectorC0_t &C0, matrixC1_t &C1, work_t &work)
Applies an elementary reflector defined by tau and v to a m-by-n matrix C decomposed into C0 and C1....
Definition larf.hpp:48
Sort the numbers in D in increasing order (if ID = 'I') or in decreasing order (if ID = 'D' ).
Definition arrayTraits.hpp:15
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
constexpr T conj(const T &x) noexcept
Extends std::conj() to real datatypes.
Definition utils.hpp:100
constexpr internal::ColumnwiseStorage COLUMNWISE_STORAGE
Columnwise storage.
Definition types.hpp:414
constexpr internal::LeftSide LEFT_SIDE
left side
Definition types.hpp:294