pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
pRC::TensorTrain Namespace Reference

Namespaces

namespace  OperatorViews
 
namespace  TensorViews
 

Classes

struct  IsOperator
 
struct  IsOperator< Operator< T, M, N, R > >
 
struct  IsOperator< T const >
 
struct  IsOperatorView
 
struct  IsTensor
 
struct  IsTensor< T const >
 
struct  IsTensor< Tensor< T, N, R > >
 
struct  IsTensorView
 
class  Operator
 
class  Operator< T, Sizes< Ms... >, Sizes< Ns... >, Sizes< Rs... >, If< All< IsSatisfied<(sizeof...(Ms)==sizeof...(Ns))>, IsSatisfied<(sizeof...(Ns) - 1==sizeof...(Rs))>, Any< IsValue< T >, IsComplex< T > > > > >
 
class  Tensor
 
class  Tensor< T, Sizes< Ns... >, Sizes< Rs... >, If< All< IsSatisfied<(sizeof...(Ns) - 1==sizeof...(Rs))>, Any< IsValue< T >, IsComplex< T > > > > >
 

Typedefs

template<class T >
using IsOperatorish = Any< IsOperator< T >, IsOperatorView< T > >
 
template<class T >
using IsTensorish = Any< IsTensor< T >, IsTensorView< T > >
 

Functions

template<class... Xs, If< All< pRC::IsTensorish< RemoveReference< Xs > >... > > = 0>
static constexpr auto fromCores (Xs &&...cores)
 
template<class T , class M , class N , class Ranks , class F >
 Operator (OperatorViews::View< T, M, N, Ranks, F > const &) -> Operator< T, M, N, Ranks >
 
template<class X , class T , class M , class N , class R , class F >
static constexpr auto isOperatorView (OperatorViews::View< T, M, N, R, F > const &&)
 
template<class >
static constexpr auto isOperatorView (...)
 
template<class T , class N , class Ranks , class F >
 Tensor (TensorViews::View< T, N, Ranks, F > const &) -> Tensor< T, N, Ranks >
 
template<class X , class T , class N , class R , class F >
static constexpr auto isTensorView (TensorViews::View< T, N, R, F > const &&)
 
template<class >
static constexpr auto isTensorView (...)
 

Typedef Documentation

◆ IsOperatorish

◆ IsTensorish

Function Documentation

◆ fromCores()

template<class... Xs, If< All< pRC::IsTensorish< RemoveReference< Xs > >... > > = 0>
static constexpr auto pRC::TensorTrain::fromCores ( Xs &&...  cores)
inlinestaticconstexpr

◆ isOperatorView() [1/2]

template<class >
static constexpr auto pRC::TensorTrain::isOperatorView (   ...)
inlinestaticconstexpr

◆ isOperatorView() [2/2]

template<class X , class T , class M , class N , class R , class F >
static constexpr auto pRC::TensorTrain::isOperatorView ( OperatorViews::View< T, M, N, R, F > const &&  )
inlinestaticconstexpr

◆ isTensorView() [1/2]

template<class >
static constexpr auto pRC::TensorTrain::isTensorView (   ...)
inlinestaticconstexpr

◆ isTensorView() [2/2]

template<class X , class T , class N , class R , class F >
static constexpr auto pRC::TensorTrain::isTensorView ( TensorViews::View< T, N, R, F > const &&  )
inlinestaticconstexpr

◆ Operator()

template<class T , class M , class N , class Ranks , class F >
pRC::TensorTrain::Operator ( OperatorViews::View< T, M, N, Ranks, F > const ) -> Operator< T, M, N, Ranks >

◆ Tensor()

template<class T , class N , class Ranks , class F >
pRC::TensorTrain::Tensor ( TensorViews::View< T, N, Ranks, F > const ) -> Tensor< T, N, Ranks >