12#ifndef TLAPACK_LABRD_HH 
   13#define TLAPACK_LABRD_HH 
   65    const idx_t m = nrows(
A);
 
   66    const idx_t n = ncols(
A);
 
   67    const idx_t nb = ncols(
X);
 
   70    if (m == 0 
or n == 0) 
return 0;
 
   76        for (idx_t i = 0; i < nb; ++i) {
 
   79                auto y = slice(
Y, i, 
range{0, i});
 
   95            auto v = slice(
A, 
range{i, m}, i);
 
  113                    auto t = slice(
Y, 
range{0, i}, i);
 
  138                    auto s = slice(
A, i, 
range{0, i + 1});
 
  146                    auto x = slice(
X, i, 
range{0, i});
 
  155                auto w = slice(
A, i, 
range{i + 1, n});
 
  171                    auto t2 = slice(
X, 
range{0, i + 1}, i);
 
  197        for (idx_t i = 0; i < nb; ++i) {
 
  198            auto w = slice(
A, i, 
range{i, n});
 
  204                auto s = slice(
A, i, 
range{0, i});
 
  213                auto x = slice(
X, i, 
range{0, i});
 
  258                    auto y = slice(
Y, i, 
range{0, i});
 
  273                auto v = slice(
A, 
range{i + 1, m}, i);
 
  289                    auto t = slice(
Y, 
range{0, i}, i);
 
  295                    auto t2 = slice(
Y, 
range{0, i + 1}, i);
 
 
#define TLAPACK_SMATRIX
Macro for tlapack::concepts::SliceableMatrix compatible with C++17.
Definition concepts.hpp:899
#define TLAPACK_VECTOR
Macro for tlapack::concepts::Vector compatible with C++17.
Definition concepts.hpp:906
void conjugate(vector_t &x)
Conjugates a vector.
Definition conjugate.hpp:24
int labrd(A_t &A, vector_t &tauq, vector_t &taup, X_t &X, matrixY_t &Y)
Reduces the first nb rows and columns of a general m by n matrix A to upper or lower bidiagonal form ...
Definition labrd.hpp:55
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 scal(const alpha_t &alpha, vector_t &x)
Scale vector by constant, .
Definition scal.hpp:30
void gemv(Op trans, const alpha_t &alpha, const matrixA_t &A, const vectorX_t &x, const beta_t &beta, vectorY_t &y)
General matrix-vector multiply:
Definition gemv.hpp:57
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 real_type< T > real(const T &x) noexcept
Extends std::real() to real datatypes.
Definition utils.hpp:71
constexpr internal::Forward FORWARD
Forward direction.
Definition types.hpp:381
constexpr internal::ConjTranspose CONJ_TRANS
conjugate transpose
Definition types.hpp:264
constexpr internal::ColumnwiseStorage COLUMNWISE_STORAGE
Columnwise storage.
Definition types.hpp:414
constexpr internal::NoTranspose NO_TRANS
no transpose
Definition types.hpp:260