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.