Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Attributes | List of all members
uni20::linalg::SvdTruncationPolicy< Real > Struct Template Reference

Rank-selection policy for a truncated singular value decomposition. More...

#include <truncated_svd.hpp>

Public Attributes

std::optional< Real > maximum_discarded_weight = std::nullopt
 
std::size_t maximum_retained_extent = uni20::numeric_limits<std::size_t>::max()
 
std::size_t minimum_retained_extent = 0
 
std::optional< Real > normalized_squared_singular_value_cutoff = std::nullopt
 
std::optional< Real > singular_value_cutoff = std::nullopt
 

Detailed Description

template<uni20::Real Real>
struct uni20::linalg::SvdTruncationPolicy< Real >

Rank-selection policy for a truncated singular value decomposition.

Active cutoff and discarded-weight criteria each impose a minimum rank. Their maximum is then clamped by the explicit extent bounds. The maximum retained extent is a hard cap and may therefore prevent another requested criterion from being satisfied.

Member Data Documentation

◆ maximum_discarded_weight

template<uni20::Real Real>
std::optional<Real> uni20::linalg::SvdTruncationPolicy< Real >::maximum_discarded_weight = std::nullopt

◆ maximum_retained_extent

template<uni20::Real Real>
std::size_t uni20::linalg::SvdTruncationPolicy< Real >::maximum_retained_extent = uni20::numeric_limits<std::size_t>::max()

◆ minimum_retained_extent

template<uni20::Real Real>
std::size_t uni20::linalg::SvdTruncationPolicy< Real >::minimum_retained_extent = 0

◆ normalized_squared_singular_value_cutoff

template<uni20::Real Real>
std::optional<Real> uni20::linalg::SvdTruncationPolicy< Real >::normalized_squared_singular_value_cutoff = std::nullopt

◆ singular_value_cutoff

template<uni20::Real Real>
std::optional<Real> uni20::linalg::SvdTruncationPolicy< Real >::singular_value_cutoff = std::nullopt

The documentation for this struct was generated from the following file: