Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
gmres_diagnostics.hpp File Reference

Optional Euclidean-norm error diagnostics for matrix-free solves. More...

#include <uni20/core/math.hpp>
#include <uni20/core/runtime_precision.hpp>
#include <algorithm>
#include <cstdint>
#include <optional>
#include <stdexcept>
Include dependency graph for gmres_diagnostics.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uni20::krylov::gmres_detail::DiagnosticMagnitude< R >
 
struct  uni20::krylov::GmresErrorEstimates< R >
 Error estimates evaluated from the residual and supplied operator data. More...
 
struct  uni20::krylov::GmresOperatorEstimate< R >
 An application-supplied estimate or known upper bound. More...
 
struct  uni20::krylov::GmresOperatorEstimates< R >
 Optional properties of the original operator in the vector space's 2-norm. More...
 
struct  uni20::krylov::GmresResidual< R >
 Recomputed Euclidean norms for the published iterate. More...
 

Namespaces

namespace  uni20
 
namespace  uni20::krylov
 
namespace  uni20::krylov::gmres_detail
 

Enumerations

enum class  uni20::krylov::GmresEstimateKind { uni20::krylov::estimate , uni20::krylov::upper_bound }
 Provenance of a supplied operator quantity, not of a computed error. More...
 

Functions

template<Real R>
DiagnosticMagnitude< R > uni20::krylov::gmres_detail::add (DiagnosticMagnitude< R > const &a, DiagnosticMagnitude< R > const &b)
 
template<Real R>
R uni20::krylov::gmres_detail::diagnostic_scale (R const &fraction, __int128_t exponent)
 
template<Real R>
std::optional< GmresErrorEstimates< R > > uni20::krylov::gmres_detail::error_estimates (GmresResidual< R > const &residual, GmresOperatorEstimates< R > const &properties)
 
template<Real R>
DiagnosticMagnitude< R > uni20::krylov::gmres_detail::magnitude (R const &value)
 
template<Real R>
DiagnosticMagnitude< R > uni20::krylov::gmres_detail::multiply (DiagnosticMagnitude< R > const &a, DiagnosticMagnitude< R > const &b)
 
template<Real R>
GmresOperatorEstimates< R > uni20::krylov::gmres_detail::operator_estimates_at_precision (GmresOperatorEstimates< R > const &input, Precision p)
 
template<Real R>
R uni20::krylov::gmres_detail::ratio (DiagnosticMagnitude< R > const &a, DiagnosticMagnitude< R > const &b)
 

Detailed Description

Optional Euclidean-norm error diagnostics for matrix-free solves.