Functions to improve the stability of numerical algorithms working on dense tensors. More...
#include "inc/dense/dense.h"
Namespaces | |
namespace | syten |
Syten namespace. | |
Functions | |
template<Rank rank, typename Scalar > | |
void | syten::prune_small_reim (DenseTensor< rank, Scalar > &) |
Removes real or imaginary parts if they are much smaller than the other one. More... | |
template<Rank rank, typename Scalar > | |
void | syten::prune_small_reim (DenseTensor< rank, std::complex< Scalar > > &a) |
Removes real or imaginary parts if they are much smaller than the other one. More... | |
template<typename Scalar > | |
void | syten::prune_small_rows (DenseTensor< 2, Scalar > &a) |
Removes elements small relative to the other elements of the row. More... | |
template<typename Scalar > | |
void | syten::regularise_abs (Scalar *first, Scalar *last, typename ScalarBase< typename IdentityType< Scalar >::type >::type threshold) |
Changes the absolute value of entries with very similar absolute values to the median of those. More... | |
template<typename ScalarBase > | |
void | syten::regularise_imag (std::complex< ScalarBase > *first, std::complex< ScalarBase > *last, ScalarBase threshold) |
Changes the imaginary part of entries with very similar absolute imaginary parts to the median of those. More... | |
template<typename ScalarBase > | |
void | syten::regularise_real (std::complex< ScalarBase > *first, std::complex< ScalarBase > *last, ScalarBase threshold) |
Changes the real part of entries with very similar absolute real parts to the median of those. More... | |
template<typename Scalar > | |
void | syten::scale_columns_2norm (DenseTensor< 2, Scalar > &a, DenseTensor< 2, Scalar > &s) |
Scales the columns of a in-place to have 2-norm close to one. More... | |
template<typename Scalar > | |
void | syten::sort_cols_sparsity (DenseTensor< 2, Scalar > &a, DenseTensor< 2, Scalar > &p) |
Sorts the columns of a in-place to have the sparsest columns first. More... | |
template<typename Scalar > | |
void | syten::sort_rows_infnorm (DenseTensor< 2, Scalar > &a, DenseTensor< 2, Scalar > &p) |
Sorts the rows of a in-place such that the row with the largest absolute value comes first, then the row with the second-largest absolute value etc. More... | |
Functions to improve the stability of numerical algorithms working on dense tensors.