12#ifndef TLAPACK_LANTR_HH 
   13#define TLAPACK_LANTR_HH 
   60    const idx_t m = nrows(
A);
 
   61    const idx_t n = ncols(
A);
 
   70    if (m == 0 || n == 0) 
return real_t(0);
 
   78                for (idx_t j = 0; j < n; ++j) {
 
   79                    for (idx_t i = 0; i <= min(j, m - 1); ++i) {
 
   91                for (idx_t j = 0; j < n; ++j) {
 
   92                    for (idx_t i = j; i < m; ++i) {
 
  107                for (idx_t j = 0; j < n; ++j) {
 
  108                    for (idx_t i = 0; i < min(j, m); ++i) {
 
  120                for (idx_t j = 0; j < n; ++j) {
 
  121                    for (idx_t i = j + 1; i < m; ++i) {
 
  136            for (idx_t i = 0; i < m; ++i) {
 
  139                    for (idx_t j = i; j < n; ++j)
 
  143                    for (idx_t j = i + 1; j < n; ++j)
 
  155            for (idx_t i = 0; i < m; ++i) {
 
  158                    for (idx_t j = 0; j <= min(i, n - 1); ++j)
 
  162                    for (idx_t j = 0; j < i; ++j)
 
  176            for (idx_t j = 0; j < n; ++j) {
 
  179                    for (idx_t i = 0; i <= min(j, m - 1); ++i)
 
  183                    for (idx_t i = 0; i < j; ++i)
 
  195            for (idx_t j = 0; j < n; ++j) {
 
  198                    for (idx_t i = j; i < m; ++i)
 
  202                    for (idx_t i = j + 1; i < m; ++i)
 
  219                for (idx_t j = 0; j < n; ++j)
 
  224                for (idx_t j = 1; j < n; ++j)
 
  230                for (idx_t j = 0; j < min(m, n); ++j)
 
  235                for (idx_t j = 0; j < min(m - 1, n); ++j)
 
 
#define TLAPACK_NORM
Macro for tlapack::concepts::Norm compatible with C++17.
Definition concepts.hpp:939
#define TLAPACK_DIAG
Macro for tlapack::concepts::Diag compatible with C++17.
Definition concepts.hpp:945
#define TLAPACK_UPLO
Macro for tlapack::concepts::Uplo compatible with C++17.
Definition concepts.hpp:942
#define TLAPACK_SMATRIX
Macro for tlapack::concepts::SliceableMatrix compatible with C++17.
Definition concepts.hpp:899
void lassq(const vector_t &x, real_type< type_t< vector_t > > &scale, real_type< type_t< vector_t > > &sumsq, abs_f absF)
Updates a sum of squares represented in scaled form.
Definition lassq.hpp:49
auto lantr(norm_t normType, uplo_t uplo, diag_t diag, const matrix_t &A)
Calculates the norm of a symmetric matrix.
Definition lantr.hpp:52
#define tlapack_check_false(cond)
Throw an error if cond is true.
Definition exceptionHandling.hpp:113
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 bool isnan(const T &x) noexcept
Extends std::isnan() to complex numbers.
Definition utils.hpp:125
@ Unit
The main diagonal is assumed to consist of 1's.
@ NonUnit
The main diagonal is not assumed to consist of 1's.
constexpr auto diag(T &A, int diagIdx=0) noexcept
Get the Diagonal of an Eigen Matrix.
Definition eigen.hpp:576
@ Upper
0 <= i <= j, 0 <= j <= n.
@ Lower
0 <= i <= m, 0 <= j <= i.
@ Inf
infinity norm of matrices
@ Fro
Frobenius norm of matrices.