|
template<blas::Layout Order, typename... Args> |
bool | is_congruent (const btas::RangeNd< Order, Args... > &r1, const btas::RangeNd< Order, Args... > &r2) |
| Test if the two ranges are congruent. More...
|
|
template<typename T , typename Range , typename Storage > |
decltype(auto) | make_ti (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
decltype(auto) | make_ti (btas::Tensor< T, Range, Storage > &arg) |
|
template<typename... Args> |
bool | operator== (const TiledArray::Range &range1, const btas::BaseRangeNd< Args... > &range2) |
|
template<typename T1 , typename S1 , typename T2 , typename S2 > |
bool | operator== (const btas::Tensor< T1, TiledArray::Range, S1 > &t1, const btas::Tensor< T2, TiledArray::Range, S2 > &t2) |
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | clone (const btas::Tensor< T, Range, Storage > &arg) |
| Computes the result of applying permutation perm to arg . More...
|
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | permute (const btas::Tensor< T, Range, Storage > &arg, const TiledArray::Permutation &perm) |
| Computes the result of applying permutation perm to arg . More...
|
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | permute (const btas::Tensor< T, Range, Storage > &arg, const TiledArray::BipartitePermutation &perm) |
| Computes the result of applying bipartite permutation perm to arg . More...
|
|
template<typename T , typename Range , typename Storage , typename Index > |
btas::Tensor< T, Range, Storage > | shift (const btas::Tensor< T, Range, Storage > &arg, const Index &range_shift) |
| Shift the range of arg . More...
|
|
template<typename T , typename Range , typename Storage , typename Index > |
btas::Tensor< T, Range, Storage > & | shift_to (btas::Tensor< T, Range, Storage > &arg, const Index &range_shift) |
| Shift the range of arg in place. More...
|
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | add (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2) |
| result[i] = arg1[i] + arg2[i] More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > | add (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Scalar factor) |
| result[i] = (arg1[i] + arg2[i]) * factor More...
|
|
template<typename T , typename Range , typename Storage , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> |
btas::Tensor< T, Range, Storage > | add (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Perm &perm) |
| result[perm ^ i] = (arg1[i] + arg2[i]) More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename Perm , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > &&TiledArray::detail::is_permutation_v< Perm >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > | add (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Scalar factor, const Perm &perm) |
| result[perm ^ i] = (arg1[i] + arg2[i]) * factor More...
|
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > & | add_to (btas::Tensor< T, Range, Storage > &result, const btas::Tensor< T, Range, Storage > &arg) |
| result[i] += arg[i] More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > & | add_to (btas::Tensor< T, Range, Storage > &result, const btas::Tensor< T, Range, Storage > &arg, const Scalar factor) |
| result[i] += factor * arg[i] More...
|
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | subt (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2) |
| result[i] = arg1[i] - arg2[i] More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > | subt (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Scalar factor) |
| result[i] = (arg1[i] - arg2[i]) * factor More...
|
|
template<typename T , typename Range , typename Storage , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> |
btas::Tensor< T, Range, Storage > | subt (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Perm &perm) |
| result[perm ^ i] = (arg1[i] - arg2[i]) * factor More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename Perm , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > &&TiledArray::detail::is_permutation_v< Perm >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > | subt (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Scalar factor, const Perm &perm) |
| result[perm ^ i] = (arg1[i] - arg2[i]) * factor More...
|
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > & | subt_to (btas::Tensor< T, Range, Storage > &result, const btas::Tensor< T, Range, Storage > &arg) |
| result[i] -= arg[i] More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > & | subt_to (btas::Tensor< T, Range, Storage > &result, const btas::Tensor< T, Range, Storage > &arg, const Scalar factor) |
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | mult (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2) |
| result[i] = arg1[i] * arg2[i] More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > | mult (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Scalar factor) |
| result[i] = arg1[i] * arg2[i] * factor More...
|
|
template<typename T , typename Range , typename Storage , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> |
btas::Tensor< T, Range, Storage > | mult (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Perm &perm) |
| result[perm ^ i] = arg1[i] * arg2[i] More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename Perm , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > &&TiledArray::detail::is_permutation_v< Perm >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > | mult (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, const Scalar factor, const Perm &perm) |
| result[perm ^ i] = arg1[i] * arg2[i] * factor More...
|
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > & | mult_to (btas::Tensor< T, Range, Storage > &result, const btas::Tensor< T, Range, Storage > &arg) |
| result[i] *= arg[i] More...
|
|
template<typename T , typename Range , typename Storage , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> |
btas::Tensor< T, Range, Storage > & | mult_to (btas::Tensor< T, Range, Storage > &result, const btas::Tensor< T, Range, Storage > &arg, const Scalar factor) |
| result[i] *= arg[i] * factor More...
|
|
template<typename T , typename Range , typename Storage , typename Op > |
auto | binary (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, Op &&op) |
|
template<typename T , typename Range , typename Storage , typename Op , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> |
auto | binary (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, Op &&op, const Perm &perm) |
|
template<typename T , typename Range , typename Storage , typename Op > |
btas::Tensor< T, Range, Storage > & | inplace_binary (btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2, Op &&op) |
|
template<typename T , typename Range , typename Storage , typename Scalar , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar >> * = nullptr> |
btas::Tensor< T, Range, Storage > & | scale_to (btas::Tensor< T, Range, Storage > &result, const Scalar factor) |
|
template<typename T , typename Range , typename Storage , typename Scalar , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar >> * = nullptr> |
decltype(auto) | scale (const btas::Tensor< T, Range, Storage > &result, const Scalar factor) |
|
template<typename T , typename Range , typename Storage , typename Scalar , typename Perm , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar > &&TiledArray::detail::is_permutation_v< Perm >> * = nullptr> |
decltype(auto) | scale (const btas::Tensor< T, Range, Storage > &result, const Scalar factor, const Perm &perm) |
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > & | neg_to (btas::Tensor< T, Range, Storage > &result) |
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | neg (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> |
btas::Tensor< T, Range, Storage > | neg (const btas::Tensor< T, Range, Storage > &arg, const Perm &perm) |
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > | conj (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> |
btas::Tensor< T, Range, Storage > | conj (const btas::Tensor< T, Range, Storage > &arg, const Perm &perm) |
|
template<typename T , typename Range , typename Storage , typename Scalar , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar >> * = nullptr> |
btas::Tensor< T, Range, Storage > | conj (const btas::Tensor< T, Range, Storage > &arg, const Scalar factor) |
|
template<typename T , typename Range , typename Storage , typename Scalar , typename Perm , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar > &&TiledArray::detail::is_permutation_v< Perm >> * = nullptr> |
btas::Tensor< T, Range, Storage > | conj (const btas::Tensor< T, Range, Storage > &arg, const Scalar factor, const Perm &perm) |
|
template<typename T , typename Range , typename Storage > |
btas::Tensor< T, Range, Storage > & | conj_to (btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage , typename Scalar , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar >> * = nullptr> |
btas::Tensor< T, Range, Storage > & | conj_to (btas::Tensor< T, Range, Storage > &arg, const Scalar factor) |
|
template<typename T , typename Range , typename Storage , typename Op > |
auto | unary (const btas::Tensor< T, Range, Storage > &arg, Op &&op) |
|
template<typename T , typename Range , typename Storage , typename Op , typename Perm , typename = std::enable_if_t<TiledArray::detail::is_permutation_v<Perm>>> |
auto | unary (const btas::Tensor< T, Range, Storage > &arg, Op &&op, const Perm &perm) |
|
template<typename T , typename Range , typename Storage , typename Op > |
btas::Tensor< T, Range, Storage > & | inplace_unary (const btas::Tensor< T, Range, Storage > &arg, Op &&op) |
|
template<typename T , typename Range , typename Storage , typename Scalar > |
btas::Tensor< T, Range, Storage > | gemm (const btas::Tensor< T, Range, Storage > &left, const btas::Tensor< T, Range, Storage > &right, Scalar factor, const TiledArray::math::GemmHelper &gemm_helper) |
|
template<typename T , typename Range , typename Storage , typename Scalar > |
void | gemm (btas::Tensor< T, Range, Storage > &result, const btas::Tensor< T, Range, Storage > &left, const btas::Tensor< T, Range, Storage > &right, Scalar factor, const TiledArray::math::GemmHelper &gemm_helper) |
|
template<typename T , typename Range , typename Storage > |
T | trace (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
T | sum (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
T | product (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
T | squared_norm (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
T | dot (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2) |
|
template<typename T , typename Range , typename Storage > |
T | inner_product (const btas::Tensor< T, Range, Storage > &arg1, const btas::Tensor< T, Range, Storage > &arg2) |
|
template<typename T , typename Range , typename Storage > |
T | norm (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage , typename ResultType > |
void | norm (const btas::Tensor< T, Range, Storage > &arg, ResultType &result) |
|
template<typename T , typename Range , typename Storage > |
T | max (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
T | min (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
T | abs_max (const btas::Tensor< T, Range, Storage > &arg) |
|
template<typename T , typename Range , typename Storage > |
T | abs_min (const btas::Tensor< T, Range, Storage > &arg) |
|