xerus
a general purpose tensor library
xerus::ADFVariant Class Reference

Wrapper class for all ADF variants. More...

#include <adf.h>

Classes

class  InternalSolver
 

Public Member Functions

 ADFVariant (const size_t _maxIteration, const double _targetResidual, const double _minimalResidualDecrease)
 fully defining constructor. alternatively ALSVariants can be created by copying a predefined variant and modifying it More...
 
template<class MeasurmentSet >
double operator() (TTTensor &_x, const MeasurmentSet &_measurments, PerformanceData &_perfData) const
 Tries to reconstruct the (low rank) tensor _x from the given measurments. More...
 
template<class MeasurmentSet >
double operator() (TTTensor &_x, const MeasurmentSet &_measurments, const std::vector< size_t > &_maxRanks, PerformanceData &_perfData) const
 Tries to reconstruct the (low rank) tensor _x from the given measurments. More...
 

Public Attributes

size_t maxIterations
 Maximum number of sweeps to perform. Set to 0 for infinite. More...
 
double minimalResidualNormDecrease
 
double targetResidualNorm
 Target residual. The algorithm will stop upon reaching a residual smaller than this value. More...
 

Detailed Description

Wrapper class for all ADF variants.

By creating a new object of this class and modifying the member variables, the behaviour of the solver can be modified. This algorithm is a modified implementation of the alternating directional fitting algrothim, first introduced by Grasedyck, Kluge and Kraemer (2015).

Definition at line 39 of file adf.h.

Constructor & Destructor Documentation

◆ ADFVariant()

xerus::ADFVariant::ADFVariant ( const size_t  _maxIteration,
const double  _targetResidual,
const double  _minimalResidualDecrease 
)
inline

fully defining constructor. alternatively ALSVariants can be created by copying a predefined variant and modifying it

Definition at line 238 of file adf.h.

Member Function Documentation

◆ operator()() [1/2]

template<class MeasurmentSet >
double xerus::ADFVariant::operator() ( TTTensor _x,
const MeasurmentSet &  _measurments,
PerformanceData _perfData 
) const
inline

Tries to reconstruct the (low rank) tensor _x from the given measurments.

Parameters
[in,out]_xOn input: an initial guess of the solution, also defining the ranks. On output: The reconstruction found by the algorithm.
_measurmentsthe available measurments, can be either a SinglePointMeasurementSet or RankOneMeasurementSet.
_perfDataoptinal performanceData object to be used.
Returns
the residual \(|P_\Omega(x-b)|_2\) of the final _x.

Definition at line 249 of file adf.h.

◆ operator()() [2/2]

template<class MeasurmentSet >
double xerus::ADFVariant::operator() ( TTTensor _x,
const MeasurmentSet &  _measurments,
const std::vector< size_t > &  _maxRanks,
PerformanceData _perfData 
) const
inline

Tries to reconstruct the (low rank) tensor _x from the given measurments.

Parameters
[in,out]_xOn input: an initial guess of the solution, may be of smaller rank. On output: The reconstruction found by the algorithm.
_measurmentsthe available measurments, can be either a SinglePointMeasurementSet or RankOneMeasurementSet.
_maxRanksthe maximal ranks the algorithm may use to decrease the resdiual.
_perfDataoptinal performanceData object to be used.
Returns
the residual \(|P_\Omega(x-b)|_2\) of the final _x.

Definition at line 263 of file adf.h.

Member Data Documentation

◆ maxIterations

size_t xerus::ADFVariant::maxIterations

Maximum number of sweeps to perform. Set to 0 for infinite.

Definition at line 233 of file adf.h.

◆ minimalResidualNormDecrease

double xerus::ADFVariant::minimalResidualNormDecrease

Definition at line 235 of file adf.h.

◆ targetResidualNorm

double xerus::ADFVariant::targetResidualNorm

Target residual. The algorithm will stop upon reaching a residual smaller than this value.

Definition at line 234 of file adf.h.


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