mult_engine.h
void init_indices(bool children_initialized=false)
Initialize the index list of this expression.
Definition: cont_engine.h:212
dist_eval_type make_dist_eval() const
Definition: cont_engine.h:418
EngineTrait< MultEngine_ >::right_type right_type
The right-hand expression type.
Definition: mult_engine.h:216
dist_eval_type make_dist_eval() const
Construct the distributed evaluator for this expression.
Definition: mult_engine.h:443
void perm_indices(const BipartiteIndexList &target_indices)
Set the index list for this expression.
Definition: mult_engine.h:534
dist_eval_type make_dist_eval() const
Construct the distributed evaluator for this expression.
Definition: binary_engine.h:284
void init_distribution(World *world, std::shared_ptr< pmap_interface > pmap)
Initialize result tensor distribution.
Definition: mult_engine.h:349
EngineTrait< ScalMultEngine_ >::right_type right_type
The right-hand expression type.
Definition: mult_engine.h:491
trange_type make_trange(const Permutation &perm) const
Permuting tiled range factory function.
Definition: mult_engine.h:370
op_type make_tile_op() const
Non-permuting tile operation factory function.
Definition: mult_engine.h:396
BinaryEngine< ScalMultEngine_ > ExprEngine_
Expression engine base class type.
Definition: mult_engine.h:485
Permutation of a sequence of objects indexed by base-0 indices.
Definition: permutation.h:130
BipartiteIndexList indices_
Definition: expr_engine.h:75
auto make_tile_contract_op(const IndexList &left_indices, const IndexList &right_indices, const IndexList &result_indices)
Definition: mult_engine.h:49
void perm_indices(const BipartiteIndexList &target_indices)
Set the index list for this expression.
Definition: binary_engine.h:192
constexpr const bool is_tensor_of_tensor_v
Definition: type_traits.h:155
trange_type make_trange() const
Non-permuting tiled range factory function.
Definition: mult_engine.h:359
op_type make_tile_op(const Perm &perm) const
Permuting tile operation factory function.
Definition: mult_engine.h:670
void init_struct(const BipartiteIndexList &target_indices)
Initialize result tensor structure.
Definition: mult_engine.h:588
trange_type make_trange() const
Non-permuting tiled range factory function.
Definition: mult_engine.h:622
trange_type make_trange() const
Non-permuting tiled range factory function.
Definition: binary_engine.h:271
void init_indices(const BipartiteIndexList &target_indices)
Initialize the index list of this expression.
Definition: binary_engine.h:211
EngineTrait< MultEngine_ >::op_base_type op_base_type
The tile operation type.
Definition: mult_engine.h:222
TiledArray::detail::BinaryWrapper< op_base_type > op_type
The tile operation type.
Definition: mult_engine.h:128
TiledArray::detail::BinaryWrapper< op_base_type > op_type
The tile operation type.
Definition: mult_engine.h:169
EngineTrait< ScalMultEngine_ >::trange_type trange_type
Tiled range type.
Definition: mult_engine.h:511
void init_indices(const BipartiteIndexList &target_indices)
Initialize the index list of this expression.
Definition: mult_engine.h:269
void init_struct(const BipartiteIndexList &target_indices)
Initialize result tensor structure.
Definition: binary_engine.h:234
void perm_indices(const BipartiteIndexList &target_indices)
Set the index list for this expression.
Definition: cont_engine.h:190
ContEngine< ScalMultEngine_ > ContEngine_
Contraction engine base class.
Definition: mult_engine.h:481
EngineTrait< ScalMultEngine_ >::value_type value_type
The result tile type.
Definition: mult_engine.h:495
void init_struct(const BipartiteIndexList &target_indices)
Initialize result tensor structure.
Definition: mult_engine.h:335
void perm_indices(const BipartiteIndexList &target_indices)
Set the index list for this expression.
Definition: mult_engine.h:258
op_type make_tile_op(const Perm &perm) const
Permuting tile operation factory function.
Definition: mult_engine.h:421
EngineTrait< ScalMultEngine_ >::dist_eval_type dist_eval_type
The distributed evaluator type.
Definition: mult_engine.h:505
TiledArray::detail::Mult< Result, typename EngineTrait< Left >::eval_type, typename EngineTrait< Right >::eval_type, EngineTrait< Left >::consumable, EngineTrait< Right >::consumable > op_base_type
The base tile operation type.
Definition: mult_engine.h:126
void print(ExprOStream os, const BipartiteIndexList &target_indices) const
Expression print.
Definition: mult_engine.h:687
ScalMultEngine< Left, Right, Scalar, Result > ScalMultEngine_
This class type.
Definition: mult_engine.h:479
void print(ExprOStream os, const BipartiteIndexList &target_indices) const
Expression print.
Definition: cont_engine.h:449
void init_distribution(World *world, std::shared_ptr< pmap_interface > pmap)
Initialize result tensor distribution.
Definition: mult_engine.h:602
shape_type make_shape(const Permutation &perm) const
Permuting shape factory function.
Definition: mult_engine.h:652
void init_struct(const BipartiteIndexList &target_indices)
Initialize result tensor structure.
Definition: cont_engine.h:238
TiledArray::detail::DistEval< value_type, policy > dist_eval_type
The distributed evaluator type.
Definition: mult_engine.h:136
EngineTrait< MultEngine_ >::left_type left_type
The left-hand expression type.
Definition: mult_engine.h:214
op_type make_tile_op() const
Non-permuting tile operation factory function.
Definition: mult_engine.h:660
void init_indices(const BipartiteIndexList &target_indices)
Initialize the index list of this expression.
Definition: mult_engine.h:545
EngineTrait< ScalMultEngine_ >::left_type left_type
The left-hand expression type.
Definition: mult_engine.h:489
Definition: array_impl.cpp:28
TensorProduct compute_product_type(const IndexList &left_indices, const IndexList &right_indices)
Definition: product.h:51
EngineTrait< ScalMultEngine_ >::scalar_type scalar_type
Tile scalar type.
Definition: mult_engine.h:497
EngineTrait< ScalMultEngine_ >::pmap_interface pmap_interface
Process map interface type.
Definition: mult_engine.h:515
trange_type make_trange(const Permutation &perm) const
Permuting tiled range factory function.
Definition: mult_engine.h:633
EngineTrait< MultEngine_ >::pmap_interface pmap_interface
Process map interface type.
Definition: mult_engine.h:240
void print(ExprOStream os, const BipartiteIndexList &target_indices) const
Expression print.
Definition: binary_engine.h:306
dist_eval_type make_dist_eval() const
Construct the distributed evaluator for this expression.
Definition: mult_engine.h:612
EngineTrait< MultEngine_ >::dist_eval_type dist_eval_type
The distributed evaluator type.
Definition: mult_engine.h:228
shape_type make_shape(const Permutation &perm) const
Permuting shape factory function.
Definition: mult_engine.h:388
void init_distribution(World *world, const std::shared_ptr< pmap_interface > &pmap)
Initialize result tensor distribution.
Definition: binary_engine.h:261
Type trait for extracting the numeric type of tensors and arrays.
Definition: type_traits.h:709
void print(ExprOStream os, const BipartiteIndexList &target_indices) const
Expression print.
Definition: mult_engine.h:459
Determine the object type used in the evaluation of tensor expressions.
Definition: type_traits.h:580
EngineTrait< ScalMultEngine_ >::op_base_type op_base_type
The tile operation type.
Definition: mult_engine.h:499
void init_distribution(World *world, std::shared_ptr< pmap_interface > pmap)
Initialize result tensor distribution.
Definition: cont_engine.h:304
EngineTrait< ScalMultEngine_ >::op_type op_type
The tile operation type.
Definition: mult_engine.h:501
TiledArray::detail::DistEval< value_type, policy > dist_eval_type
The distributed evaluator type.
Definition: mult_engine.h:175
Scaled multiplication expression engine.
Definition: mult_engine.h:475
TiledArray::detail::ScalMult< Result, typename EngineTrait< Left >::eval_type, typename EngineTrait< Right >::eval_type, scalar_type, EngineTrait< Left >::consumable, EngineTrait< Right >::consumable > op_base_type
The base tile operation type.
Definition: mult_engine.h:167
BinaryEngine< MultEngine_ > ExprEngine_
Expression engine base class type.
Definition: mult_engine.h:210
TiledArray::detail::numeric_type< value_type >::type scalar_type
Tile scalar type.
Definition: mult_engine.h:133