TiledArray::expressions::HadamardPermutationOptimizer Class Reference
Inheritance diagram for TiledArray::expressions::HadamardPermutationOptimizer:
Collaboration diagram for TiledArray::expressions::HadamardPermutationOptimizer:

Documentation

Given left and right index lists computes the suggested indices for the left and right args and the result for computing Hadamard product efficiently

Definition at line 413 of file permopt.h.

Public Member Functions

 HadamardPermutationOptimizer (const HadamardPermutationOptimizer &)=default
 
HadamardPermutationOptimizeroperator= (const HadamardPermutationOptimizer &)=default
 
 ~HadamardPermutationOptimizer ()=default
 
 HadamardPermutationOptimizer (const IndexList &left_indices, const IndexList &right_indices, const bool prefer_to_permute_left=true)
 
 HadamardPermutationOptimizer (const IndexList &result_indices, const IndexList &left_indices, const IndexList &right_indices, const bool prefer_to_permute_left=true)
 
const IndexListtarget_left_indices () const override final
 
const IndexListtarget_right_indices () const override final
 
const IndexListtarget_result_indices () const override final
 
PermutationType left_permtype () const override final
 
PermutationType right_permtype () const override final
 
TensorProduct op_type () const override final
 
- Public Member Functions inherited from TiledArray::expressions::BinaryOpPermutationOptimizer
 BinaryOpPermutationOptimizer (const IndexList &left_indices, const IndexList &right_indices, const bool prefer_to_permute_left=true)
 
 BinaryOpPermutationOptimizer (const IndexList &result_indices, const IndexList &left_indices, const IndexList &right_indices, const bool prefer_to_permute_left=true)
 
 BinaryOpPermutationOptimizer ()=delete
 
 BinaryOpPermutationOptimizer (const BinaryOpPermutationOptimizer &)=default
 
BinaryOpPermutationOptimizeroperator= (const BinaryOpPermutationOptimizer &)=default
 
virtual ~BinaryOpPermutationOptimizer ()=default
 
const IndexListresult_indices () const
 
const IndexListleft_indices () const
 
const IndexListright_indices () const
 
bool prefer_to_permute_left () const
 

Constructor & Destructor Documentation

◆ HadamardPermutationOptimizer() [1/3]

TiledArray::expressions::HadamardPermutationOptimizer::HadamardPermutationOptimizer ( const HadamardPermutationOptimizer )
default

◆ ~HadamardPermutationOptimizer()

TiledArray::expressions::HadamardPermutationOptimizer::~HadamardPermutationOptimizer ( )
default

◆ HadamardPermutationOptimizer() [2/3]

TiledArray::expressions::HadamardPermutationOptimizer::HadamardPermutationOptimizer ( const IndexList left_indices,
const IndexList right_indices,
const bool  prefer_to_permute_left = true 
)
inline

Definition at line 420 of file permopt.h.

Here is the call graph for this function:

◆ HadamardPermutationOptimizer() [3/3]

TiledArray::expressions::HadamardPermutationOptimizer::HadamardPermutationOptimizer ( const IndexList result_indices,
const IndexList left_indices,
const IndexList right_indices,
const bool  prefer_to_permute_left = true 
)
inline

Definition at line 430 of file permopt.h.

Here is the call graph for this function:

Member Function Documentation

◆ left_permtype()

PermutationType TiledArray::expressions::HadamardPermutationOptimizer::left_permtype ( ) const
inlinefinaloverridevirtual
Returns
the type of permutation bringing the initial left index list to the target left index list

Implements TiledArray::expressions::BinaryOpPermutationOptimizer.

Definition at line 468 of file permopt.h.

◆ op_type()

TensorProduct TiledArray::expressions::HadamardPermutationOptimizer::op_type ( ) const
inlinefinaloverridevirtual
Returns
the binary op type

Implements TiledArray::expressions::BinaryOpPermutationOptimizer.

Definition at line 474 of file permopt.h.

◆ operator=()

HadamardPermutationOptimizer& TiledArray::expressions::HadamardPermutationOptimizer::operator= ( const HadamardPermutationOptimizer )
default

◆ right_permtype()

PermutationType TiledArray::expressions::HadamardPermutationOptimizer::right_permtype ( ) const
inlinefinaloverridevirtual
Returns
the type of permutation bringing the initial right index list to the target right index list

Implements TiledArray::expressions::BinaryOpPermutationOptimizer.

Definition at line 471 of file permopt.h.

◆ target_left_indices()

const IndexList& TiledArray::expressions::HadamardPermutationOptimizer::target_left_indices ( ) const
inlinefinaloverridevirtual
Returns
the proposed left index list

Implements TiledArray::expressions::BinaryOpPermutationOptimizer.

Definition at line 459 of file permopt.h.

◆ target_result_indices()

const IndexList& TiledArray::expressions::HadamardPermutationOptimizer::target_result_indices ( ) const
inlinefinaloverridevirtual
Returns
the proposed result index list (not necessarily same as that returned by result_indices())

Implements TiledArray::expressions::BinaryOpPermutationOptimizer.

Definition at line 465 of file permopt.h.

◆ target_right_indices()

const IndexList& TiledArray::expressions::HadamardPermutationOptimizer::target_right_indices ( ) const
inlinefinaloverridevirtual
Returns
the proposed right index list

Implements TiledArray::expressions::BinaryOpPermutationOptimizer.

Definition at line 462 of file permopt.h.


The documentation for this class was generated from the following file: