Namespaces | |
detail | |
kernels | |
Typedefs | |
template<typename Left , typename Right > | |
using | ConjAddExpr = ScalAddExpr< Left, Right, TiledArray::detail::ComplexConjugate< void > > |
template<typename Left , typename Right , typename Scalar > | |
using | ScalConjAddExpr = ScalAddExpr< Left, Right, TiledArray::detail::ComplexConjugate< Scalar > > |
template<typename Array > | |
using | ConjBlkTsrExpr = ScalBlkTsrExpr< Array, TiledArray::detail::ComplexConjugate< void > > |
template<typename Array , typename Scalar > | |
using | ScalConjBlkTsrExpr = ScalBlkTsrExpr< Array, TiledArray::detail::ComplexConjugate< Scalar > > |
template<typename Left , typename Right > | |
using | ConjMultExpr = ScalMultExpr< Left, Right, TiledArray::detail::ComplexConjugate< void > > |
template<typename Left , typename Right , typename Scalar > | |
using | ScalConjMultExpr = ScalMultExpr< Left, Right, TiledArray::detail::ComplexConjugate< Scalar > > |
template<typename Array > | |
using | ConjTsrExpr = ScalTsrExpr< Array, TiledArray::detail::ComplexConjugate< void > > |
template<typename Array , typename Scalar > | |
using | ScalConjTsrExpr = ScalTsrExpr< Array, TiledArray::detail::ComplexConjugate< Scalar > > |
template<typename Left , typename Right > | |
using | ConjSubtExpr = ScalSubtExpr< Left, Right, TiledArray::detail::ComplexConjugate< void > > |
template<typename Left , typename Right , typename Scalar > | |
using | ScalConjSubtExpr = ScalSubtExpr< Left, Right, TiledArray::detail::ComplexConjugate< Scalar > > |
Enumerations | |
enum | PermutationType { PermutationType::identity = 1, PermutationType::matrix_transpose = 2, PermutationType::general = 3 } |
enum | TensorProduct { TensorProduct::Hadamard, TensorProduct::Contraction, TensorProduct::General, TensorProduct::Invalid = -1 } |
types of binary tensor products known to TiledArray More... | |
Functions | |
template<typename Left , typename Right > | |
AddExpr< Left, Right > | operator+ (const Expr< Left > &left, const Expr< Right > &right) |
Addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
std::enable_if< TiledArray::detail::is_numeric_v< Scalar >, ScalAddExpr< Left, Right, Scalar > >::type | operator* (const AddExpr< Left, Right > &expr, const Scalar &factor) |
Scaled-addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
std::enable_if< TiledArray::detail::is_numeric_v< Scalar >, ScalAddExpr< Left, Right, Scalar > >::type | operator* (const Scalar &factor, const AddExpr< Left, Right > &expr) |
Scaled-addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalAddExpr< Left, Right, mult_t< Scalar1, Scalar2 > > | operator* (const ScalAddExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalAddExpr< Left, Right, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalAddExpr< Left, Right, Scalar2 > &expr) |
Scaled-addition expression factor. More... | |
template<typename Left , typename Right > | |
ScalAddExpr< Left, Right, typename ExprTrait< AddExpr< Left, Right > >::numeric_type > | operator- (const AddExpr< Left, Right > &expr) |
Negated addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalAddExpr< Left, Right, Scalar > | operator- (const ScalAddExpr< Left, Right, Scalar > &expr) |
Negated scaled-addition expression factor. More... | |
template<typename Left , typename Right > | |
ConjAddExpr< Left, Right > | conj (const AddExpr< Left, Right > &expr) |
Conjugated addition expression factory. More... | |
template<typename Left , typename Right > | |
AddExpr< Left, Right > | conj (const ConjAddExpr< Left, Right > &expr) |
Conjugated-conjugate addition expression factory. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalConjAddExpr< Left, Right, Scalar > | conj (const ScalAddExpr< Left, Right, Scalar > &expr) |
Conjugated addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalAddExpr< Left, Right, Scalar > | conj (const ScalConjAddExpr< Left, Right, Scalar > &expr) |
Conjugated-conjugate addition expression factory. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjAddExpr< Left, Right, Scalar > | operator* (const ConjAddExpr< Left, Right > &expr, const Scalar &factor) |
Scaled-conjugated addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjAddExpr< Left, Right, Scalar > | operator* (const Scalar &factor, const ConjAddExpr< Left, Right > &expr) |
Scaled-conjugated addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalConjAddExpr< Left, Right, mult_t< Scalar1, Scalar2 > > | operator* (const ScalConjAddExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-conjugated addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalConjAddExpr< Left, Right, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalConjAddExpr< Left, Right, Scalar2 > &expr) |
Scaled-conjugated addition expression factor. More... | |
template<typename Left , typename Right > | |
ScalConjAddExpr< Left, Right, typename ExprTrait< ConjAddExpr< Left, Right > >::numeric_type > | operator- (const ConjAddExpr< Left, Right > &expr) |
Negated-conjugated addition expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalConjAddExpr< Left, Right, Scalar > | operator- (const ScalConjAddExpr< Left, Right, Scalar > &expr) |
Negated-conjugated addition expression factor. More... | |
template<typename Array , typename Scalar , bool Alias, typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> | |
ScalBlkTsrExpr< typename std::remove_const< Array >::type, Scalar > | operator* (const BlkTsrExpr< Array, Alias > &expr, const Scalar &factor) |
Scaled-block expression factor. More... | |
template<typename Array , typename Scalar , bool Alias, typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> | |
ScalBlkTsrExpr< typename std::remove_const< Array >::type, Scalar > | operator* (const Scalar &factor, const BlkTsrExpr< Array, Alias > &expr) |
Scaled-block expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 >>::type * = nullptr> | |
ScalBlkTsrExpr< Array, mult_t< Scalar1, Scalar2 > > | operator* (const ScalBlkTsrExpr< Array, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-block expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 >>::type * = nullptr> | |
ScalBlkTsrExpr< Array, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalBlkTsrExpr< Array, Scalar2 > &expr) |
Scaled-block expression factor. More... | |
template<typename Array > | |
ScalBlkTsrExpr< typename std::remove_const< Array >::type, typename ExprTrait< BlkTsrExpr< Array, true > >::numeric_type > | operator- (const BlkTsrExpr< Array, true > &expr) |
Negated block expression factor. More... | |
template<typename Array , typename Scalar > | |
ScalBlkTsrExpr< Array, Scalar > | operator- (const ScalBlkTsrExpr< Array, Scalar > &expr) |
Negated scaled-block expression factor. More... | |
template<typename Array , bool Alias> | |
ConjBlkTsrExpr< typename std::remove_const< Array >::type > | conj (const BlkTsrExpr< Array, Alias > &expr) |
Conjugated block tensor expression factory. More... | |
template<typename Array > | |
BlkTsrExpr< const Array, true > | conj (const ConjBlkTsrExpr< Array > &expr) |
Conjugate-conjugate block tensor expression factory. More... | |
template<typename Array , typename Scalar > | |
ScalConjBlkTsrExpr< Array, Scalar > | conj (const ScalBlkTsrExpr< Array, Scalar > &expr) |
Conjugated block tensor expression factor. More... | |
template<typename Array , typename Scalar > | |
ScalBlkTsrExpr< Array, Scalar > | conj (const ScalConjBlkTsrExpr< Array, Scalar > &expr) |
Conjugate-conjugate tensor expression factory. More... | |
template<typename Array , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> | |
ScalConjBlkTsrExpr< Array, Scalar > | operator* (const ConjBlkTsrExpr< const Array > &expr, const Scalar &factor) |
Scaled block tensor expression factor. More... | |
template<typename Array , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar >>::type * = nullptr> | |
ScalConjBlkTsrExpr< Array, Scalar > | operator* (const Scalar &factor, const ConjBlkTsrExpr< Array > &expr) |
Scaled block tensor expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 >>::type * = nullptr> | |
ScalConjBlkTsrExpr< Array, mult_t< Scalar1, Scalar2 > > | operator* (const ScalConjBlkTsrExpr< Array, Scalar1 > &expr, const Scalar2 &factor) |
Scaled block tensor expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 >>::type * = nullptr> | |
ScalConjBlkTsrExpr< Array, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalConjBlkTsrExpr< Array, Scalar2 > &expr) |
Scaled-tensor expression factor. More... | |
template<typename Array > | |
ScalConjBlkTsrExpr< Array, typename ExprTrait< ConjBlkTsrExpr< Array > >::numeric_type > | operator- (const ConjBlkTsrExpr< Array > &expr) |
Negated-conjugated-tensor expression factor. More... | |
template<typename Array , typename Scalar > | |
ScalConjBlkTsrExpr< Array, Scalar > | operator- (const ScalConjBlkTsrExpr< Array, Scalar > &expr) |
Negated-conjugated-tensor expression factor. More... | |
template<typename IndexList_ , typename LHSType , typename RHSType > | |
auto | range_from_annotation (const IndexList_ &target_idxs, const IndexList_ &lhs_idxs, const IndexList_ &rhs_idxs, LHSType &&lhs, RHSType &&rhs) |
template<typename IndexList_ , typename LHSType , typename RHSType > | |
auto | trange_from_annotation (const IndexList_ &target_idxs, const IndexList_ &lhs_idxs, const IndexList_ &rhs_idxs, LHSType &&lhs, RHSType &&rhs) |
template<typename IndexList_ , typename IndexType > | |
auto | make_index (const IndexList_ &free_vars, const IndexList_ &bound_vars, const IndexList_ &tensor_vars, IndexType &&free_idx, IndexType &&bound_idx) |
auto | make_bound_annotation (const BipartiteIndexList &free_vars, const BipartiteIndexList &lhs_vars, const BipartiteIndexList &rhs_vars) |
Wraps process of getting a list with the bound variables. More... | |
auto | make_bound_annotation (const IndexList &free_vars, const IndexList &lhs_vars, const IndexList &rhs_vars) |
Wraps process of getting a list with the bound variables. More... | |
template<typename ResultType , typename LHSType , typename RHSType > | |
void | einsum (TsrExpr< ResultType, true > out, const TsrExpr< LHSType, true > &lhs, const TsrExpr< RHSType, true > &rhs) |
template<typename A , bool Alias> | |
ExprTraceTarget | operator<< (std::ostream &os, const TsrExpr< A, Alias > &tsr) |
Expression trace factory function. More... | |
IndexList | operator* (const ::TiledArray::Permutation &, const IndexList &) |
void | swap (IndexList &v0, IndexList &v1) |
Exchange the content of the two index lists. More... | |
BipartiteIndexList | operator* (const ::TiledArray::Permutation &, const BipartiteIndexList &) |
void | swap (BipartiteIndexList &v0, BipartiteIndexList &v1) |
Exchange the content of the two index lists. More... | |
bool | operator== (const IndexList &v0, const IndexList &v1) |
bool | operator!= (const IndexList &v0, const IndexList &v1) |
std::ostream & | operator<< (std::ostream &out, const IndexList &v) |
ostream IndexList output operator. More... | |
template<typename T , typename... Args> | |
auto | all_annotations (T &&v, Args &&... args) |
Returns a set of each annotation found in at least one of the index lists. More... | |
template<typename T , typename... Args> | |
auto | common_annotations (T &&v, Args &&... args) |
Returns the set of annotations found in all of the index lists. More... | |
template<typename IndexList_ , typename... Args> | |
auto | bound_annotations (const IndexList_ &out, Args &&... args) |
bool | operator!= (const BipartiteIndexList &v0, const BipartiteIndexList &v1) |
std::ostream & | operator<< (std::ostream &out, const BipartiteIndexList &v) |
auto | inner (const IndexList &p) |
auto | outer (const IndexList &p) |
auto | inner_size (const IndexList &p) |
auto | outer_size (const IndexList &p) |
auto | inner (const BipartiteIndexList &p) |
auto | outer (const BipartiteIndexList &p) |
auto | inner_size (const BipartiteIndexList &p) |
auto | outer_size (const BipartiteIndexList &p) |
template<typename Tile > | |
auto | make_tile_contract_op (const IndexList &left_indices, const IndexList &right_indices, const IndexList &result_indices) |
template<typename Left , typename Right > | |
MultExpr< Left, Right > | operator* (const Expr< Left > &left, const Expr< Right > &right) |
Multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalMultExpr< Left, Right, Scalar > | operator* (const MultExpr< Left, Right > &expr, const Scalar &factor) |
Scaled-multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalMultExpr< Left, Right, Scalar > | operator* (const Scalar &factor, const MultExpr< Left, Right > &expr) |
Scaled-multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalMultExpr< Left, Right, mult_t< Scalar1, Scalar2 > > | operator* (const ScalMultExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalMultExpr< Left, Right, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalMultExpr< Left, Right, Scalar2 > &expr) |
Scaled-multiplication expression factor. More... | |
template<typename Left , typename Right > | |
ScalMultExpr< Left, Right, typename ExprTrait< MultExpr< Left, Right > >::numeric_type > | operator- (const MultExpr< Left, Right > &expr) |
Negated multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalMultExpr< Left, Right, Scalar > | operator- (const ScalMultExpr< Left, Right, Scalar > &expr) |
Negated scaled-multiplication expression factor. More... | |
template<typename Left , typename Right > | |
ConjMultExpr< Left, Right > | conj (const MultExpr< Left, Right > &expr) |
Conjugated multiplication expression factory. More... | |
template<typename Left , typename Right > | |
MultExpr< Left, Right > | conj (const ConjMultExpr< Left, Right > &expr) |
Conjugated-conjugate multiplication expression factory. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalConjMultExpr< Left, Right, Scalar > | conj (const ScalMultExpr< Left, Right, Scalar > &expr) |
Conjugated multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalMultExpr< Left, Right, Scalar > | conj (const ScalConjMultExpr< Left, Right, Scalar > &expr) |
Conjugated-conjugate multiplication expression factory. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjMultExpr< Left, Right, Scalar > | operator* (const ConjMultExpr< Left, Right > &expr, const Scalar &factor) |
Scaled-conjugated multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjMultExpr< Left, Right, Scalar > | operator* (const Scalar &factor, const ConjMultExpr< Left, Right > &expr) |
Scaled-conjugated multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalConjMultExpr< Left, Right, mult_t< Scalar1, Scalar2 > > | operator* (const ScalConjMultExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-conjugated multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalConjMultExpr< Left, Right, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalConjMultExpr< Left, Right, Scalar2 > &expr) |
Scaled-conjugated multiplication expression factor. More... | |
template<typename Left , typename Right > | |
ScalConjMultExpr< Left, Right, typename ExprTrait< ConjMultExpr< Left, Right > >::numeric_type > | operator- (const ConjMultExpr< Left, Right > &expr) |
Negated-conjugated multiplication expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalConjMultExpr< Left, Right, Scalar > | operator- (const ScalConjMultExpr< Left, Right, Scalar > &expr) |
Negated-conjugated multiplication expression factor. More... | |
template<typename Numeric , typename Left , typename Right , typename std::enable_if< TiledArray::detail::is_numeric_v< Numeric > >::type * = nullptr> | |
Numeric & | operator+= (Numeric &result, const MultExpr< Left, Right > &expr) |
Dot product add-to operator. More... | |
template<typename Numeric , typename Left , typename Right , typename std::enable_if< TiledArray::detail::is_numeric_v< Numeric > >::type * = nullptr> | |
Numeric & | operator-= (Numeric &result, const MultExpr< Left, Right > &expr) |
Dot product subtract-to operator. More... | |
template<typename Numeric , typename Left , typename Right , typename std::enable_if< TiledArray::detail::is_numeric_v< Numeric > >::type * = nullptr> | |
Numeric & | operator*= (Numeric &result, const MultExpr< Left, Right > &expr) |
Dot product multiply-to operator. More... | |
blas::Op | to_cblas_op (PermutationType permtype) |
std::shared_ptr< BinaryOpPermutationOptimizer > | make_permutation_optimizer (TensorProduct product_type, const IndexList &left_indices, const IndexList &right_indices, bool prefer_to_permute_left) |
std::shared_ptr< BinaryOpPermutationOptimizer > | make_permutation_optimizer (TensorProduct product_type, const IndexList &target_indices, const IndexList &left_indices, const IndexList &right_indices, bool prefer_to_permute_left) |
std::shared_ptr< BinaryOpPermutationOptimizer > | make_permutation_optimizer (const IndexList &left_indices, const IndexList &right_indices, bool prefer_to_permute_left) |
std::shared_ptr< BinaryOpPermutationOptimizer > | make_permutation_optimizer (const IndexList &target_indices, const IndexList &left_indices, const IndexList &right_indices, bool prefer_to_permute_left) |
TensorProduct | compute_product_type (const IndexList &left_indices, const IndexList &right_indices) |
TensorProduct | compute_product_type (const IndexList &left_indices, const IndexList &right_indices, const IndexList &target_indices) |
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalExpr< Arg, Scalar > | operator* (const Expr< Arg > &expr, const Scalar &factor) |
Scaled expression factor. More... | |
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalExpr< Arg, Scalar > | operator* (const Scalar &factor, const Expr< Arg > &expr) |
Scaled expression factor. More... | |
template<typename Arg , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalExpr< Arg, mult_t< Scalar1, Scalar2 > > | operator* (const ScalExpr< Arg, Scalar1 > &expr, const Scalar2 &factor) |
Scaled expression factor. More... | |
template<typename Arg , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalExpr< Arg, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalExpr< Arg, Scalar2 > &expr) |
Scaled expression factor. More... | |
template<typename Arg > | |
ScalExpr< Arg, typename ExprTrait< Arg >::scalar_type > | operator- (const Expr< Arg > &expr) |
Negated expression factor. More... | |
template<typename Arg , typename Scalar > | |
ScalExpr< Arg, Scalar > | operator- (const ScalExpr< Arg, Scalar > &expr) |
Negated expression factor. More... | |
template<typename Array , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalTsrExpr< typename std::remove_const< Array >::type, Scalar > | operator* (const TsrExpr< Array, true > &expr, const Scalar &factor) |
Scaled-tensor expression factor. More... | |
template<typename Array , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalTsrExpr< typename std::remove_const< Array >::type, Scalar > | operator* (const Scalar &factor, const TsrExpr< Array, true > &expr) |
Scaled-tensor expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalTsrExpr< Array, mult_t< Scalar1, Scalar2 > > | operator* (const ScalTsrExpr< Array, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-tensor expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalTsrExpr< Array, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalTsrExpr< Array, Scalar2 > &expr) |
Scaled-tensor expression factor. More... | |
template<typename Array > | |
ScalTsrExpr< typename std::remove_const< Array >::type, typename ExprTrait< TsrExpr< Array, true > >::numeric_type > | operator- (const TsrExpr< Array, true > &expr) |
Negated-tensor expression factor. More... | |
template<typename Array , typename Scalar > | |
ScalTsrExpr< Array, Scalar > | operator- (const ScalTsrExpr< Array, Scalar > &expr) |
Negated-tensor expression factor. More... | |
template<typename Array > | |
ConjTsrExpr< typename std::remove_const< Array >::type > | conj (const TsrExpr< Array, true > &expr) |
Conjugated tensor expression factory. More... | |
template<typename Array > | |
TsrExpr< const Array, true > | conj (const ConjTsrExpr< Array > &expr) |
Conjugate-conjugate tensor expression factory. More... | |
template<typename Array , typename Scalar > | |
ScalConjTsrExpr< Array, Scalar > | conj (const ScalTsrExpr< Array, Scalar > &expr) |
Conjugated-tensor expression factor. More... | |
template<typename Array , typename Scalar > | |
ScalTsrExpr< Array, Scalar > | conj (const ScalConjTsrExpr< Array, Scalar > &expr) |
Conjugate-conjugate tensor expression factory. More... | |
template<typename Array , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjTsrExpr< Array, Scalar > | operator* (const ConjTsrExpr< const Array > &expr, const Scalar &factor) |
Scaled-tensor expression factor. More... | |
template<typename Array , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjTsrExpr< Array, Scalar > | operator* (const Scalar &factor, const ConjTsrExpr< Array > &expr) |
Scaled-tensor expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalConjTsrExpr< Array, mult_t< Scalar1, Scalar2 > > | operator* (const ScalConjTsrExpr< Array, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-tensor expression factor. More... | |
template<typename Array , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalConjTsrExpr< Array, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalConjTsrExpr< Array, Scalar2 > &expr) |
Scaled-tensor expression factor. More... | |
template<typename Array > | |
ScalConjTsrExpr< Array, typename ExprTrait< ConjTsrExpr< Array > >::numeric_type > | operator- (const ConjTsrExpr< Array > &expr) |
Negated-conjugated-tensor expression factor. More... | |
template<typename Array , typename Scalar > | |
ScalConjTsrExpr< Array, Scalar > | operator- (const ScalConjTsrExpr< Array, Scalar > &expr) |
Negated-conjugated-tensor expression factor. More... | |
template<typename Left , typename Right > | |
SubtExpr< Left, Right > | operator- (const Expr< Left > &left, const Expr< Right > &right) |
Subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalSubtExpr< Left, Right, Scalar > | operator* (const SubtExpr< Left, Right > &expr, const Scalar &factor) |
Scaled-subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalSubtExpr< Left, Right, Scalar > | operator* (const Scalar &factor, const SubtExpr< Left, Right > &expr) |
Scaled-subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalSubtExpr< Left, Right, mult_t< Scalar1, Scalar2 > > | operator* (const ScalSubtExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalSubtExpr< Left, Right, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalSubtExpr< Left, Right, Scalar2 > &expr) |
Scaled-subtraction expression factor. More... | |
template<typename Left , typename Right > | |
ScalSubtExpr< Left, Right, typename ExprTrait< SubtExpr< Left, Right > >::numeric_type > | operator- (const SubtExpr< Left, Right > &expr) |
Negated subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalSubtExpr< Left, Right, Scalar > | operator- (const ScalSubtExpr< Left, Right, Scalar > &expr) |
Negated scaled-subtraction expression factor. More... | |
template<typename Left , typename Right > | |
ConjSubtExpr< Left, Right > | conj (const SubtExpr< Left, Right > &expr) |
Conjugated subtraction expression factory. More... | |
template<typename Left , typename Right > | |
SubtExpr< Left, Right > | conj (const ConjSubtExpr< Left, Right > &expr) |
Conjugated-conjugate subtraction expression factory. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalConjSubtExpr< Left, Right, Scalar > | conj (const ScalSubtExpr< Left, Right, Scalar > &expr) |
Conjugated subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalSubtExpr< Left, Right, Scalar > | conj (const ScalConjSubtExpr< Left, Right, Scalar > &expr) |
Conjugated-conjugate subtraction expression factory. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjSubtExpr< Left, Right, Scalar > | operator* (const ConjSubtExpr< Left, Right > &expr, const Scalar &factor) |
Scaled-conjugated subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr> | |
ScalConjSubtExpr< Left, Right, Scalar > | operator* (const Scalar &factor, const ConjSubtExpr< Left, Right > &expr) |
Scaled-conjugated subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr> | |
ScalConjSubtExpr< Left, Right, mult_t< Scalar1, Scalar2 > > | operator* (const ScalConjSubtExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor) |
Scaled-conjugated subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr> | |
ScalConjSubtExpr< Left, Right, mult_t< Scalar2, Scalar1 > > | operator* (const Scalar1 &factor, const ScalConjSubtExpr< Left, Right, Scalar2 > &expr) |
Scaled-conjugated subtraction expression factor. More... | |
template<typename Left , typename Right > | |
ScalConjSubtExpr< Left, Right, typename ExprTrait< ConjSubtExpr< Left, Right > >::numeric_type > | operator- (const ConjSubtExpr< Left, Right > &expr) |
Negated-conjugated subtraction expression factor. More... | |
template<typename Left , typename Right , typename Scalar > | |
ScalConjSubtExpr< Left, Right, Scalar > | operator- (const ScalConjSubtExpr< Left, Right, Scalar > &expr) |
Negated-conjugated subtraction expression factor. More... | |
Typedef Documentation
◆ ConjAddExpr
using TiledArray::expressions::ConjAddExpr = typedef ScalAddExpr<Left, Right, TiledArray::detail::ComplexConjugate<void> > |
Definition at line 36 of file add_expr.h.
◆ ConjBlkTsrExpr
using TiledArray::expressions::ConjBlkTsrExpr = typedef ScalBlkTsrExpr<Array, TiledArray::detail::ComplexConjugate<void> > |
Definition at line 47 of file blk_tsr_expr.h.
◆ ConjMultExpr
using TiledArray::expressions::ConjMultExpr = typedef ScalMultExpr<Left, Right, TiledArray::detail::ComplexConjugate<void> > |
Definition at line 36 of file mult_expr.h.
◆ ConjSubtExpr
using TiledArray::expressions::ConjSubtExpr = typedef ScalSubtExpr<Left, Right, TiledArray::detail::ComplexConjugate<void> > |
Definition at line 36 of file subt_expr.h.
◆ ConjTsrExpr
using TiledArray::expressions::ConjTsrExpr = typedef ScalTsrExpr<Array, TiledArray::detail::ComplexConjugate<void> > |
Definition at line 35 of file scal_tsr_expr.h.
◆ ScalConjAddExpr
using TiledArray::expressions::ScalConjAddExpr = typedef ScalAddExpr<Left, Right, TiledArray::detail::ComplexConjugate<Scalar> > |
Definition at line 40 of file add_expr.h.
◆ ScalConjBlkTsrExpr
using TiledArray::expressions::ScalConjBlkTsrExpr = typedef ScalBlkTsrExpr<Array, TiledArray::detail::ComplexConjugate<Scalar> > |
Definition at line 51 of file blk_tsr_expr.h.
◆ ScalConjMultExpr
using TiledArray::expressions::ScalConjMultExpr = typedef ScalMultExpr<Left, Right, TiledArray::detail::ComplexConjugate<Scalar> > |
Definition at line 40 of file mult_expr.h.
◆ ScalConjSubtExpr
using TiledArray::expressions::ScalConjSubtExpr = typedef ScalSubtExpr<Left, Right, TiledArray::detail::ComplexConjugate<Scalar> > |
Definition at line 40 of file subt_expr.h.
◆ ScalConjTsrExpr
using TiledArray::expressions::ScalConjTsrExpr = typedef ScalTsrExpr<Array, TiledArray::detail::ComplexConjugate<Scalar> > |
Definition at line 39 of file scal_tsr_expr.h.
Enumeration Type Documentation
◆ PermutationType
|
strong |
Denotes whether permutation op is an identity or a matrix transpose; this is important to be able to fuse permutations into GEMM:
identity
: an identity permutationmatrix_transpose
: matrix transpose (e.g. "ijklm" -> "lmijk")general
: general permutation
Enumerator | |
---|---|
identity | |
matrix_transpose | |
general |
◆ TensorProduct
|
strong |
types of binary tensor products known to TiledArray
Enumerator | |
---|---|
Hadamard | fused indices only |
Contraction | (at least 1) free and (at least 1) contracted indices |
General | free, fused, and contracted indices |
Invalid | invalid |
Function Documentation
◆ all_annotations()
auto TiledArray::expressions::all_annotations | ( | T && | v, |
Args &&... | args | ||
) |
Returns a set of each annotation found in at least one of the index lists.
Definition at line 720 of file index_list.h.
◆ bound_annotations()
auto TiledArray::expressions::bound_annotations | ( | const IndexList_ & | out, |
Args &&... | args | ||
) |
Definition at line 747 of file index_list.h.
◆ common_annotations()
auto TiledArray::expressions::common_annotations | ( | T && | v, |
Args &&... | args | ||
) |
Returns the set of annotations found in all of the index lists.
Definition at line 731 of file index_list.h.
◆ compute_product_type() [1/2]
|
inline |
computes the tensor product type corresponding to the left and right argument indices
- Parameters
-
left_indices the left argument index list right_indices the right argument index list
- Returns
- TensorProduct::Invalid is either argument is empty, TensorProduct::Hadamard if the arguments are related by a permutation, else TensorProduct::Contraction
Definition at line 51 of file product.h.
◆ compute_product_type() [2/2]
|
inline |
◆ conj() [1/20]
|
inline |
Conjugated addition expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The addition expression object
- Returns
- A conjugated addition expression object
Definition at line 281 of file add_expr.h.
◆ conj() [2/20]
|
inline |
Conjugated block tensor expression factory.
- Template Parameters
-
Array A DistArray
typeAlias Tiles alias flag
- Parameters
-
expr The block tensor expression object
- Returns
- A conjugated expression object
Definition at line 685 of file blk_tsr_expr.h.
◆ conj() [3/20]
|
inline |
Conjugated-conjugate addition expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The addition expression object
- Returns
- A tensor expression object
Definition at line 292 of file add_expr.h.
◆ conj() [4/20]
|
inline |
Conjugate-conjugate block tensor expression factory.
- Template Parameters
-
Array A DistArray
type
- Parameters
-
expr The tensor expression object
- Returns
- A tensor expression object
Definition at line 698 of file blk_tsr_expr.h.
◆ conj() [5/20]
|
inline |
Conjugated-conjugate multiplication expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The multiplication expression object
- Returns
- A multiplication expression object
Definition at line 318 of file mult_expr.h.
◆ conj() [6/20]
|
inline |
Conjugated-conjugate subtraction expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The subtraction expression object
- Returns
- A tensor expression object
Definition at line 296 of file subt_expr.h.
◆ conj() [7/20]
|
inline |
Conjugate-conjugate tensor expression factory.
- Template Parameters
-
Array A DistArray
type
- Parameters
-
expr The tensor expression object
- Returns
- A tensor expression object
Definition at line 231 of file scal_tsr_expr.h.
◆ conj() [8/20]
|
inline |
Conjugated multiplication expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The multiplication expression object
- Returns
- A conjugated multiplication expression object
Definition at line 307 of file mult_expr.h.
◆ conj() [9/20]
|
inline |
Conjugated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The addition expression object
- Returns
- A conjugated addition expression object
Definition at line 304 of file add_expr.h.
◆ conj() [10/20]
|
inline |
Conjugated block tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The block tensor expression object
- Returns
- A conjugated expression object
Definition at line 710 of file blk_tsr_expr.h.
◆ conj() [11/20]
|
inline |
Conjugated-conjugate addition expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The scaled conjugate tensor expression object
- Returns
- A conjugated expression object
Definition at line 319 of file add_expr.h.
◆ conj() [12/20]
|
inline |
Conjugate-conjugate tensor expression factory.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The scaled conjugate tensor expression object
- Returns
- A conjugated expression object
Definition at line 725 of file blk_tsr_expr.h.
◆ conj() [13/20]
|
inline |
Conjugated-conjugate multiplication expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The scaled conjugate tensor expression object
- Returns
- A scaled multiplication expression object
Definition at line 345 of file mult_expr.h.
◆ conj() [14/20]
|
inline |
Conjugated-conjugate subtraction expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The scaled conjugate tensor expression object
- Returns
- A conjugated expression object
Definition at line 323 of file subt_expr.h.
◆ conj() [15/20]
|
inline |
Conjugate-conjugate tensor expression factory.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The scaled conjugate tensor expression object
- Returns
- A conjugated expression object
Definition at line 256 of file scal_tsr_expr.h.
◆ conj() [16/20]
|
inline |
Conjugated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The multiplication expression object
- Returns
- A scaled-conjugated multiplication expression object
Definition at line 330 of file mult_expr.h.
◆ conj() [17/20]
|
inline |
Conjugated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The subtraction expression object
- Returns
- A conjugated subtraction expression object
Definition at line 308 of file subt_expr.h.
◆ conj() [18/20]
|
inline |
Conjugated-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The tensor expression object
- Returns
- A conjugated expression object
Definition at line 242 of file scal_tsr_expr.h.
◆ conj() [19/20]
|
inline |
Conjugated subtraction expression factory.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The subtraction expression object
- Returns
- A conjugated subtraction expression object
Definition at line 285 of file subt_expr.h.
◆ conj() [20/20]
|
inline |
Conjugated tensor expression factory.
- Template Parameters
-
Array A DistArray
type
- Parameters
-
expr The tensor expression object
- Returns
- A conjugated expression object
Definition at line 219 of file scal_tsr_expr.h.
◆ einsum()
◆ inner() [1/2]
|
inline |
◆ inner() [2/2]
|
inline |
◆ inner_size() [1/2]
|
inline |
◆ inner_size() [2/2]
|
inline |
◆ make_bound_annotation() [1/2]
|
inline |
Wraps process of getting a list with the bound variables.
Definition at line 146 of file contraction_helpers.h.
◆ make_bound_annotation() [2/2]
|
inline |
Wraps process of getting a list with the bound variables.
Definition at line 157 of file contraction_helpers.h.
◆ make_index()
auto TiledArray::expressions::make_index | ( | const IndexList_ & | free_vars, |
const IndexList_ & | bound_vars, | ||
const IndexList_ & | tensor_vars, | ||
IndexType && | free_idx, | ||
IndexType && | bound_idx | ||
) |
Maps a tensor's annotation to an actual index.
This function assumes that the contraction is being done in a loop form with one loop running over free indices (those present on both sides of the assignment) and one running over the bound indices (those only present on the right side of the assignment). Subject to this assumption, this function will map the coordinate indices of the two loops to the coordinate index of the tensor by using the annotation of the tensor.
- Template Parameters
-
IndexType The type used to hold ordinal indices. Assumed to satisfy random-access container.
- Parameters
-
[in] free_vars An index list containing the free variables of the contraction. [in] bound_vars An index list containing the bound variables of the contraction. [in] tensor_vars An index list containing the annotation for the tensor we want the index of. [in] free_idx A coordinate index such that free_idx[i]
is the offset along modes annotatedfree_vars[i]
.[in] bound_idx A coordinate index such that bound_idx[i]
is the offset along modes annotatedbound_vars[i]
.
- Returns
- A coordinate index such that the i-th element is the offset associated with annotation
tensor_vars[i]
.
Definition at line 130 of file contraction_helpers.h.
◆ make_permutation_optimizer() [1/4]
|
inline |
◆ make_permutation_optimizer() [2/4]
|
inline |
◆ make_permutation_optimizer() [3/4]
|
inline |
◆ make_permutation_optimizer() [4/4]
|
inline |
◆ make_tile_contract_op()
|
inline |
Definition at line 49 of file mult_engine.h.
◆ operator!=() [1/2]
|
inline |
Determines if two BipartiteIndexLists are different.
Two IndexList instances are equivalent if they contain the same number of indices, the indices are partitioned into inner and outer indices identically, and if the -th index of each instance are equivalent for all . In particular this means BipartiteIndexList instances will compare different if they use different capitalization and/or are permutations of each other.
- Parameters
-
[in] other The BipartiteIndexList instance we are comparing to.
- Returns
- True if the two instances are different and false otherwise.
- Exceptions
-
None No throw guarantee.
Definition at line 775 of file index_list.h.
◆ operator!=() [2/2]
◆ operator*() [1/47]
|
inline |
◆ operator*() [2/47]
|
inline |
◆ operator*() [3/47]
|
inline |
Scaled-addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The addition expression object factor The scaling factor
- Returns
- A scaled-addition expression object
Definition at line 191 of file add_expr.h.
◆ operator*() [4/47]
|
inline |
Scaled-block expression factor.
- Template Parameters
-
Array The array type Scalar Array scalar type Alias Tiles alias flag
- Parameters
-
expr The block expression object factor The scaling factor
- Returns
- Array scaled-block expression object
Definition at line 588 of file blk_tsr_expr.h.
◆ operator*() [5/47]
|
inline |
Scaled-conjugated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 337 of file add_expr.h.
◆ operator*() [6/47]
|
inline |
Scaled block tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The block tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 743 of file blk_tsr_expr.h.
◆ operator*() [7/47]
|
inline |
Scaled-conjugated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The tensor expression object factor The scaling factor
- Returns
- A scaled-conjugated multiplication expression object
Definition at line 363 of file mult_expr.h.
◆ operator*() [8/47]
|
inline |
Scaled-conjugated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 341 of file subt_expr.h.
◆ operator*() [9/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 273 of file scal_tsr_expr.h.
◆ operator*() [10/47]
|
inline |
Scaled expression factor.
- Template Parameters
-
Arg The expression type Scalar A scalar type
- Parameters
-
expr The expression object factor The scaling factor
- Returns
- A scaled expression object
Definition at line 113 of file scal_expr.h.
◆ operator*() [11/47]
|
inline |
Multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
left The left-hand expression object right The right-hand expression object
- Returns
- An multiplication expression object
Definition at line 191 of file mult_expr.h.
◆ operator*() [12/47]
|
inline |
Scaled-multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The multiplication expression object factor The scaling factor
- Returns
- A scaled-multiplication expression object
Definition at line 215 of file mult_expr.h.
◆ operator*() [13/47]
|
inline |
Scaled-addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The expression scaling factor type Scalar2 The scaling factor type
- Parameters
-
expr The addition expression object factor The scaling factor
- Returns
- A scaled-addition expression object
Definition at line 222 of file add_expr.h.
◆ operator*() [14/47]
|
inline |
Scaled-addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The addition expression object
- Returns
- A scaled-addition expression object
Definition at line 206 of file add_expr.h.
◆ operator*() [15/47]
|
inline |
Scaled-block expression factor.
- Template Parameters
-
Array The array type Scalar A scalar type Alias Tiles alias flag
- Parameters
-
factor The scaling factor expr The block expression object
- Returns
- A scaled-block expression object
Definition at line 606 of file blk_tsr_expr.h.
◆ operator*() [16/47]
|
inline |
Scaled-conjugated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The tensor expression object
- Returns
- A scaled-conjugated addition expression object
Definition at line 354 of file add_expr.h.
◆ operator*() [17/47]
|
inline |
Scaled block tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
factor The scaling factor expr The block tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 760 of file blk_tsr_expr.h.
◆ operator*() [18/47]
|
inline |
Scaled-conjugated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The multiplication expression object
- Returns
- A scaled-conjugated multiplication expression object
Definition at line 380 of file mult_expr.h.
◆ operator*() [19/47]
|
inline |
Scaled-conjugated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The tensor expression object
- Returns
- A scaled-conjugated subtraction expression object
Definition at line 358 of file subt_expr.h.
◆ operator*() [20/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
factor The scaling factor expr The tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 289 of file scal_tsr_expr.h.
◆ operator*() [21/47]
|
inline |
Scaled expression factor.
- Template Parameters
-
Arg The expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The expression object
- Returns
- A scaled expression object
Definition at line 132 of file scal_expr.h.
◆ operator*() [22/47]
|
inline |
Scaled-multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The multiplication expression object
- Returns
- A scaled-multiplication expression object
Definition at line 231 of file mult_expr.h.
◆ operator*() [23/47]
|
inline |
Scaled-subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The subtraction expression object
- Returns
- A scaled-subtraction expression object
Definition at line 210 of file subt_expr.h.
◆ operator*() [24/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
factor The scaling factor expr The tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 146 of file scal_tsr_expr.h.
◆ operator*() [25/47]
|
inline |
Scaled-addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The scaling factor type Scalar2 The expression scaling factor type
- Parameters
-
factor The scaling factor expr The addition expression object
- Returns
- A scaled-addition expression object
Definition at line 240 of file add_expr.h.
◆ operator*() [26/47]
|
inline |
Scaled-block expression factor.
- Template Parameters
-
Array The array type Scalar1 A scalar factor type Scalar2 A scalar factor type
- Parameters
-
factor The scaling factor expr The block expression object
- Returns
- A scaled-block expression object
Definition at line 641 of file blk_tsr_expr.h.
◆ operator*() [27/47]
|
inline |
Scaled-conjugated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The scaling factor type Scalar2 The expression scaling factor type
- Parameters
-
factor The scaling factor expr The scaled-conjugated addition expression object
- Returns
- A scaled-conjugated addition expression object
Definition at line 390 of file add_expr.h.
◆ operator*() [28/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
factor The scaling factor expr The scaled block tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 794 of file blk_tsr_expr.h.
◆ operator*() [29/47]
|
inline |
Scaled-conjugated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The scaling factor type Scalar2 The expression scaling factor type
- Parameters
-
factor The scaling factor expr The scaled-conjugated multiplication expression object
- Returns
- A scaled-conjugated multiplication expression object
Definition at line 416 of file mult_expr.h.
◆ operator*() [30/47]
|
inline |
Scaled-conjugated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The scaling factor type Scalar2 The expression scaling factor type
- Parameters
-
factor The scaling factor expr The scaled-conjugated subtraction expression object
- Returns
- A scaled-conjugated subtraction expression object
Definition at line 394 of file subt_expr.h.
◆ operator*() [31/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
factor The scaling factor expr The scaled-tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 322 of file scal_tsr_expr.h.
◆ operator*() [32/47]
|
inline |
Scaled expression factor.
- Template Parameters
-
Arg The argument expression type Scalar A scalar type
- Parameters
-
factor The scaling factor expr The scaled expression object
- Returns
- A scaled expression object
Definition at line 166 of file scal_expr.h.
◆ operator*() [33/47]
|
inline |
Scaled-multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 A scalar type Scalar2 A scalar type
- Parameters
-
factor The scaling factor expr The multiplication expression object
- Returns
- A scaled-multiplication expression object
Definition at line 266 of file mult_expr.h.
◆ operator*() [34/47]
|
inline |
Scaled-subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The scaling factor type Scalar2 The expression scaling factor type
- Parameters
-
factor The scaling factor expr The scaled-subtraction expression object
- Returns
- A scaled-subtraction expression object
Definition at line 245 of file subt_expr.h.
◆ operator*() [35/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar1 A scalar type Scalar2 A scalar type
- Parameters
-
factor The scaling factor expr The scaled-tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 180 of file scal_tsr_expr.h.
◆ operator*() [36/47]
|
inline |
Scaled-block expression factor.
- Template Parameters
-
Array The array type Scalar1 A scalar factor type Scalar2 A scalar factor type
- Parameters
-
expr The block expression object factor The scaling factor
- Returns
- A scaled-block expression object
Definition at line 623 of file blk_tsr_expr.h.
◆ operator*() [37/47]
|
inline |
Scaled-conjugated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The expression scaling factor type Scalar2 The scaling factor type
- Parameters
-
expr The scaled-tensor expression object factor The scaling factor
- Returns
- A scaled-conjugated addition expression object
Definition at line 372 of file add_expr.h.
◆ operator*() [38/47]
|
inline |
Scaled block tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The scaled block tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 777 of file blk_tsr_expr.h.
◆ operator*() [39/47]
|
inline |
Scaled-conjugated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The expression scaling factor type Scalar2 The scaling factor type
- Parameters
-
expr The scaled-tensor expression object factor The scaling factor
- Returns
- A scaled-conjugated multiplication expression object
Definition at line 398 of file mult_expr.h.
◆ operator*() [40/47]
|
inline |
Scaled-conjugated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The expression scaling factor type Scalar2 The scaling factor type
- Parameters
-
expr The scaled-tensor expression object factor The scaling factor
- Returns
- A scaled-conjugated subtraction expression object
Definition at line 376 of file subt_expr.h.
◆ operator*() [41/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The scaled-tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 305 of file scal_tsr_expr.h.
◆ operator*() [42/47]
|
inline |
Scaled expression factor.
- Template Parameters
-
Arg The argument expression type Scalar A scalar type
- Parameters
-
expr The scaled expression object factor The scaling factor
- Returns
- A scaled expression object
Definition at line 151 of file scal_expr.h.
◆ operator*() [43/47]
|
inline |
Scaled-multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 A scalar type Scalar2 A scalar type
- Parameters
-
expr The multiplication expression object factor The scaling factor
- Returns
- A scaled-multiplication expression object
Definition at line 248 of file mult_expr.h.
◆ operator*() [44/47]
|
inline |
Scaled-subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar1 The expression scaling factor type Scalar2 The scaling factor type
- Parameters
-
expr The scaled-subtraction expression object factor The scaling factor
- Returns
- A scaled-subtraction expression object
Definition at line 227 of file subt_expr.h.
◆ operator*() [45/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar1 A scalar type Scalar2 A scalar type
- Parameters
-
expr The scaled-tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 163 of file scal_tsr_expr.h.
◆ operator*() [46/47]
|
inline |
Scaled-subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The subtraction expression object factor The scaling factor
- Returns
- A scaled-subtraction expression object
Definition at line 194 of file subt_expr.h.
◆ operator*() [47/47]
|
inline |
Scaled-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The tensor expression object factor The scaling factor
- Returns
- A scaled-tensor expression object
Definition at line 130 of file scal_tsr_expr.h.
◆ operator*=()
|
inline |
Dot product multiply-to operator.
- Template Parameters
-
Numeric The numeric result type Left The left-hand expression type Right The right-hand expression type
- Parameters
-
result The result that the dot product will be multiplied by. expr The multiply expression object
- Returns
- A reference to result
Definition at line 495 of file mult_expr.h.
◆ operator+()
|
inline |
Addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
left The left-hand expression object right The right-hand expression object
- Returns
- An addition expression object
Definition at line 167 of file add_expr.h.
◆ operator+=()
|
inline |
Dot product add-to operator.
- Template Parameters
-
Numeric The numeric result type Left The left-hand expression type Right The right-hand expression type
- Parameters
-
result The result that the dot product will be added to. expr The multiply expression object
- Returns
- A reference to result
Definition at line 463 of file mult_expr.h.
◆ operator-() [1/23]
|
inline |
Negated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The addition expression object
- Returns
- A scaled-addition expression object
Definition at line 255 of file add_expr.h.
◆ operator-() [2/23]
|
inline |
Negated block expression factor.
- Template Parameters
-
Array The array type
- Parameters
-
expr The block expression object
- Returns
- A scaled-block expression object
Definition at line 656 of file blk_tsr_expr.h.
◆ operator-() [3/23]
|
inline |
Negated-conjugated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The tensor expression object
- Returns
- A scaled-addition expression object
Definition at line 405 of file add_expr.h.
◆ operator-() [4/23]
|
inline |
Negated-conjugated-tensor expression factor.
- Template Parameters
-
Array Array DistArray
type
- Parameters
-
expr The block tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 809 of file blk_tsr_expr.h.
◆ operator-() [5/23]
|
inline |
Negated-conjugated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The tensor expression object
- Returns
- A scaled-multiplication expression object
Definition at line 431 of file mult_expr.h.
◆ operator-() [6/23]
|
inline |
Negated-conjugated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The tensor expression object
- Returns
- A scaled-subtraction expression object
Definition at line 409 of file subt_expr.h.
◆ operator-() [7/23]
|
inline |
Negated-conjugated-tensor expression factor.
- Template Parameters
-
Array A DistArray
type
- Parameters
-
expr The tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 337 of file scal_tsr_expr.h.
◆ operator-() [8/23]
|
inline |
Negated expression factor.
- Template Parameters
-
Arg The expression type
- Parameters
-
expr The expression object
- Returns
- A scaled expression object
Definition at line 177 of file scal_expr.h.
◆ operator-() [9/23]
|
inline |
Subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
left The left-hand expression object right The right-hand expression object
- Returns
- A subtraction expression object
Definition at line 170 of file subt_expr.h.
◆ operator-() [10/23]
|
inline |
Negated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The multiplication expression object
- Returns
- A scaled-multiplication expression object
Definition at line 281 of file mult_expr.h.
◆ operator-() [11/23]
|
inline |
Negated scaled-addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The addition expression object
- Returns
- A scaled-addition expression object
Definition at line 269 of file add_expr.h.
◆ operator-() [12/23]
|
inline |
Negated scaled-block expression factor.
- Template Parameters
-
Array The array type Scalar A scalar factor type
- Parameters
-
expr The block expression object
- Returns
- A scaled-block expression object
Definition at line 671 of file blk_tsr_expr.h.
◆ operator-() [13/23]
|
inline |
Negated-conjugated addition expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The scaled-conjugated-tensor expression object
- Returns
- A scaled-conjugated addition expression object
Definition at line 420 of file add_expr.h.
◆ operator-() [14/23]
|
inline |
Negated-conjugated-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The scaled-conjugated block tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 823 of file blk_tsr_expr.h.
◆ operator-() [15/23]
|
inline |
Negated-conjugated multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The scaled-conjugated-tensor expression object
- Returns
- A scaled-conjugated multiplication expression object
Definition at line 446 of file mult_expr.h.
◆ operator-() [16/23]
|
inline |
Negated-conjugated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type Scalar A scalar type
- Parameters
-
expr The scaled-conjugated-tensor expression object
- Returns
- A scaled-conjugated subtraction expression object
Definition at line 424 of file subt_expr.h.
◆ operator-() [17/23]
|
inline |
Negated-conjugated-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The scaled-conjugated-tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 350 of file scal_tsr_expr.h.
◆ operator-() [18/23]
|
inline |
Negated expression factor.
- Template Parameters
-
Arg The argument expression type
- Parameters
-
expr The scaled expression object
- Returns
- A scaled expression object
Definition at line 193 of file scal_expr.h.
◆ operator-() [19/23]
|
inline |
Negated scaled-multiplication expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The multiplication expression object
- Returns
- A scaled-multiplication expression object
Definition at line 294 of file mult_expr.h.
◆ operator-() [20/23]
|
inline |
Negated scaled-subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The subtraction expression object
- Returns
- A scaled-subtraction expression object
Definition at line 273 of file subt_expr.h.
◆ operator-() [21/23]
|
inline |
Negated-tensor expression factor.
- Template Parameters
-
Array A DistArray
typeScalar A scalar type
- Parameters
-
expr The scaled-tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 207 of file scal_tsr_expr.h.
◆ operator-() [22/23]
|
inline |
Negated subtraction expression factor.
- Template Parameters
-
Left The left-hand expression type Right The right-hand expression type
- Parameters
-
expr The subtraction expression object
- Returns
- A scaled-subtraction expression object
Definition at line 260 of file subt_expr.h.
◆ operator-() [23/23]
|
inline |
Negated-tensor expression factor.
- Template Parameters
-
Array A DistArray
type
- Parameters
-
expr The tensor expression object
- Returns
- A scaled-tensor expression object
Definition at line 194 of file scal_tsr_expr.h.
◆ operator-=()
|
inline |
Dot product subtract-to operator.
- Template Parameters
-
Numeric The numeric result type Left The left-hand expression type Right The right-hand expression type
- Parameters
-
result The result that the dot product will be subtracted from. expr The multiply expression object
- Returns
- A reference to result
Definition at line 479 of file mult_expr.h.
◆ operator<<() [1/3]
|
inline |
Expression trace factory function.
- Template Parameters
-
A An Array
objectAlias Tiles alias flag
- Parameters
-
os The output stream for the expression trace tsr The tensor that will be the target of the expression
- Returns
- The expression trace object
Definition at line 130 of file expr_trace.h.
◆ operator<<() [2/3]
|
inline |
Prints a BipartiteIndexList instance to a stream
This function simply casts the IndexList to a string, adds parenthesis to it, and then inserts the resulting string into the stream.
- Parameters
-
[in,out] out the stream that v
will be written to.[in] v The BipartiteIndexList instance to insert into the stream.
- Returns
out
will be returned after addingv
to it.
Definition at line 795 of file index_list.h.
◆ operator<<() [3/3]
|
inline |
ostream IndexList output operator.
Definition at line 348 of file index_list.h.
◆ operator==()
Definition at line 329 of file index_list.h.
◆ outer() [1/2]
|
inline |
◆ outer() [2/2]
|
inline |
◆ outer_size() [1/2]
|
inline |
◆ outer_size() [2/2]
|
inline |
Definition at line 883 of file index_list.h.
◆ range_from_annotation()
auto TiledArray::expressions::range_from_annotation | ( | const IndexList_ & | target_idxs, |
const IndexList_ & | lhs_idxs, | ||
const IndexList_ & | rhs_idxs, | ||
LHSType && | lhs, | ||
RHSType && | rhs | ||
) |
Assembles the range for the target annotation
When dealing with Einstein notation it is common to need to assemble iteration ranges/tensor sizes from the annotations of a tensor. More specifically, one needs to map the annotations to extents and use those extents to form a range. This function wraps that process. This function also ensures that all modes labeled with the same annotation have the same extent (i.e., that they are compatible).
- Template Parameters
-
LHSType The type of the tensor on the left side of the *
. Assumed to satisfy the concept of tile.RHSType The type of the tensor on the right side of the *
. Assumed to satisfy the concept of tile.
- Parameters
-
[in] target_idxs The annotation for the range we are creating. [in] lhs_idxs The annotation for the tensor on the left of the *
.[in] rhs_idxs The annotation for the tensor on the right of the *
.[in] lhs The tensor on the left of the *
.[in] rhs The tensor on the righ of the *
.
- Returns
- A range such that the extent of the i-th mode is the extent in
lhs
and/orrhs
associated with annotationtarget_idxs[i]
.
- Exceptions
-
TiledArray::Exception if lhs
andrhs
do not agree on the extent for a particular annotation. Strong throw guarantee.
Definition at line 54 of file contraction_helpers.h.
◆ swap() [1/2]
|
inline |
Exchange the content of the two index lists.
Definition at line 759 of file index_list.h.
◆ swap() [2/2]
Exchange the content of the two index lists.
Definition at line 325 of file index_list.h.
◆ to_cblas_op()
|
inline |
◆ trange_from_annotation()
auto TiledArray::expressions::trange_from_annotation | ( | const IndexList_ & | target_idxs, |
const IndexList_ & | lhs_idxs, | ||
const IndexList_ & | rhs_idxs, | ||
LHSType && | lhs, | ||
RHSType && | rhs | ||
) |