3#ifndef pRC_TENSOR_TRAIN_TENSOR_TENSOR_H
4#define pRC_TENSOR_TRAIN_TENSOR_TENSOR_H
19 template<
class T,
class N,
class Ranks,
class F>
52 template<
class V, If<IsValue<V>> = 0>
70 template<
class E =
typename N::IsLinearizable, If<E> = 0>
71 static constexpr auto n()
81 template<
class E =
typename Sizes::IsLinearizable, If<E> = 0>
82 static constexpr auto size()
99 template<
class X, If<IsConstructible<T, X>> = 0>
100 static inline constexpr auto Single(
X &&value,
142 constexpr decltype(
auto)
core() &&
148 constexpr decltype(
auto)
core()
const &&
154 constexpr decltype(
auto)
core() &
160 constexpr decltype(
auto)
core()
const &
177 template<
class X, If<IsInvocable<Add, Tensor &, X>> = 0>
183 template<
class X, If<IsInvocable<Sub, Tensor &, X>> = 0>
189 template<
class X, If<IsInvocable<Mul, X, Tensor &>> = 0>
192 view(*this).applyOnTheLeft(forward<X>(
lhs));
196 template<
class X, If<IsInvocable<Mul, Tensor &, X>> = 0>
199 view(*this).applyOnTheRight(forward<X>(
rhs));
203 template<
class X, If<IsInvocable<Mul, Tensor &, X>> = 0>
210 template<
class X, If<IsInvocable<Div, Tensor &, X>> = 0>
229 return tuple<Cores<seq>...>{};
241 template<
class T,
Size...
Ns,
class R>
pRC::Constant< Size, W > Width
Definition float.hpp:39
Float< W > Value
Definition float.hpp:31
False<> IsComplexified
Definition float.hpp:43
True<> Signed
Definition float.hpp:35
Definition sequence.hpp:56
static constexpr auto size()
Definition sequence.hpp:88
Constant< Size, sizeof...(Ns)> Dimension
Definition sequence.hpp:74
Constant< Bool, linearizable()> IsLinearizable
Definition sequence.hpp:75
Definition sequence.hpp:34
Definition subscripts.hpp:20
Definition enumerate.hpp:19
Definition type_traits.hpp:37
typename N::Dimension Dimension
Definition tensor.hpp:36
static constexpr auto size(Index const dimension)
Definition tensor.hpp:87
static constexpr auto n(Index const dimension)
Definition tensor.hpp:76
constexpr auto & operator*=(X &&rhs) &
Definition tensor.hpp:204
typename T::IsComplexified IsComplexified
Definition tensor.hpp:66
constexpr auto & operator/=(X &&rhs) &
Definition tensor.hpp:211
typename T::Value Value
Definition tensor.hpp:51
constexpr auto & operator-=(X &&rhs) &
Definition tensor.hpp:184
typename T::Signed Signed
Definition tensor.hpp:56
constexpr decltype(auto) core() const &&
Definition tensor.hpp:148
static constexpr auto Single(X &&value, Is const ... indices)
Definition tensor.hpp:94
constexpr auto & operator+=(X &&rhs) &
Definition tensor.hpp:178
constexpr Tensor & operator=(Tensor &&) &=default
constexpr decltype(auto) core() const &
Definition tensor.hpp:160
typename T::Width Width
Definition tensor.hpp:61
constexpr decltype(auto) core() &&
Definition tensor.hpp:142
constexpr Tensor(Tensor &&)=default
constexpr decltype(auto) core() &
Definition tensor.hpp:154
constexpr Tensor(X &&other)
Definition tensor.hpp:128
constexpr auto & applyOnTheLeft(X &&lhs) &
Definition tensor.hpp:190
constexpr Tensor(Tensor const &)=default
constexpr Tensor()=default
constexpr Tensor & operator=(Tensor const &) &=default
static constexpr auto Single(X &&value, Subscripts const &subscripts)
Definition tensor.hpp:100
constexpr decltype(auto) operator()(Is const ... indices) const
Definition tensor.hpp:167
constexpr auto & operator=(X &&rhs) &
Definition tensor.hpp:135
constexpr auto & applyOnTheRight(X &&rhs) &
Definition tensor.hpp:197
static constexpr auto size()
Definition tensor.hpp:82
static constexpr auto n()
Definition tensor.hpp:71
Definition type_traits.hpp:17
static constexpr auto size()
Definition tensor.hpp:65
TN::Subscripts S
Definition externs_nonTT.hpp:9
pRC::Float<> T
Definition externs_nonTT.hpp:1
Definition from_cores.hpp:11
Tensor(TensorViews::View< T, N, Ranks, F > const &) -> Tensor< T, N, Ranks >
Definition cholesky.hpp:18
static constexpr auto makeConstantSequence()
Definition sequence.hpp:402
Size Index
Definition type_traits.hpp:21
std::size_t Size
Definition type_traits.hpp:20
static constexpr X view(X &&a)
Definition view.hpp:12
std::disjunction< Bs... > Any
Definition type_traits.hpp:80
std::enable_if_t< B{}, int > If
Definition type_traits.hpp:68
Constant< Bool, B > IsSatisfied
Definition type_traits.hpp:71
Tensor(TensorViews::View< T, Sizes< Ns... >, F > const &) -> Tensor< T, Ns... >
static constexpr auto makeSeries()
Definition sequence.hpp:351
RemoveConst< RemoveReference< T > > RemoveConstReference
Definition type_traits.hpp:62
std::conjunction< Bs... > All
Definition type_traits.hpp:77
Definition type_traits.hpp:15