ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Classes | Functions
container::op Namespace Reference

Classes

struct  add_op
 A functor to perform add operation on a Tensor. More...
 
struct  div_op
 
class  EinsumOpTest
 
struct  inflate_op
 A functor for inflating a tensor. More...
 
class  LinalgOpTest
 
struct  mul_op
 
struct  reduce_op
 
struct  stride_op
 A functor to perform stride operation on a Tensor. More...
 
struct  transpose_op
 

Functions

template<typename... Tensors>
std::enable_if< std::is_same< typenamestd::common_type< Tensors... >::type, Tensor >::value, Tensor >::type einsum_impl (const std::string &equation, const EinsumOption &option, const Tensors &... tensors)
 Computes the Einstein summation convention on the given tensors based on the expression passed as a string.
 
 TYPED_TEST_SUITE (EinsumOpTest, base::utils::Types)
 
 TYPED_TEST (EinsumOpTest, Transform)
 
 TYPED_TEST (EinsumOpTest, Reduce)
 
 TYPED_TEST (EinsumOpTest, Stride)
 
 TYPED_TEST (EinsumOpTest, Inflate)
 
 TYPED_TEST (EinsumOpTest, ContractDot)
 
 TYPED_TEST (EinsumOpTest, ContractGemv)
 
 TYPED_TEST (EinsumOpTest, ContractGemm)
 
 TYPED_TEST (EinsumOpTest, TransformEllipsis)
 
 TYPED_TEST (EinsumOpTest, ReduceEllipsis)
 
 TYPED_TEST (EinsumOpTest, StrideEllipsis)
 
 TYPED_TEST (EinsumOpTest, InflateEllipsis)
 
 TYPED_TEST (EinsumOpTest, ContractGemmEllipsis)
 
 TYPED_TEST_SUITE (LinalgOpTest, base::utils::Types)
 
 TYPED_TEST (LinalgOpTest, Add)
 
 TYPED_TEST (LinalgOpTest, Sub)
 
 TYPED_TEST (LinalgOpTest, AddScalar)
 
 TYPED_TEST (LinalgOpTest, Mul)
 
 TYPED_TEST (LinalgOpTest, MulScalar)
 
 TYPED_TEST (LinalgOpTest, Div)
 
 TYPED_TEST (LinalgOpTest, Transpose)
 
 TYPED_TEST (LinalgOpTest, Stride)
 
 TYPED_TEST (LinalgOpTest, Inflate)
 
 TYPED_TEST (LinalgOpTest, Reduce)
 

Function Documentation

◆ einsum_impl()

template<typename... Tensors>
std::enable_if< std::is_same< typenamestd::common_type< Tensors... >::type, Tensor >::value, Tensor >::type container::op::einsum_impl ( const std::string &  equation,
const EinsumOption option,
const Tensors &...  tensors 
)

Computes the Einstein summation convention on the given tensors based on the expression passed as a string.

Template Parameters
TensorsVariadic template parameter pack for the input tensors.
Parameters
equationThe Einstein summation convention expression.
tensorsThe input tensors for the summation operation.
Returns
The resulting tensor after applying the Einstein summation convention on the input tensors.
Exceptions
std::invalid_argumentif the expression or the input tensors are invalid.
std::runtime_errorif an error occurs while performing the summation operation.
Here is the call graph for this function:

◆ TYPED_TEST() [1/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
ContractDot   
)

◆ TYPED_TEST() [2/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
ContractGemm   
)
Here is the call graph for this function:

◆ TYPED_TEST() [3/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
ContractGemmEllipsis   
)
Here is the call graph for this function:

◆ TYPED_TEST() [4/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
ContractGemv   
)
Here is the call graph for this function:

◆ TYPED_TEST() [5/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
Inflate   
)
Here is the call graph for this function:

◆ TYPED_TEST() [6/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
InflateEllipsis   
)
Here is the call graph for this function:

◆ TYPED_TEST() [7/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
Reduce   
)
Here is the call graph for this function:

◆ TYPED_TEST() [8/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
ReduceEllipsis   
)
Here is the call graph for this function:

◆ TYPED_TEST() [9/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
Stride   
)
Here is the call graph for this function:

◆ TYPED_TEST() [10/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
StrideEllipsis   
)
Here is the call graph for this function:

◆ TYPED_TEST() [11/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
Transform   
)
Here is the call graph for this function:

◆ TYPED_TEST() [12/22]

container::op::TYPED_TEST ( EinsumOpTest  ,
TransformEllipsis   
)
Here is the call graph for this function:

◆ TYPED_TEST() [13/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Add   
)
Here is the call graph for this function:

◆ TYPED_TEST() [14/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
AddScalar   
)
Here is the call graph for this function:

◆ TYPED_TEST() [15/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Div   
)
Here is the call graph for this function:

◆ TYPED_TEST() [16/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Inflate   
)
Here is the call graph for this function:

◆ TYPED_TEST() [17/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Mul   
)
Here is the call graph for this function:

◆ TYPED_TEST() [18/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
MulScalar   
)
Here is the call graph for this function:

◆ TYPED_TEST() [19/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Reduce   
)
Here is the call graph for this function:

◆ TYPED_TEST() [20/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Stride   
)
Here is the call graph for this function:

◆ TYPED_TEST() [21/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Sub   
)
Here is the call graph for this function:

◆ TYPED_TEST() [22/22]

container::op::TYPED_TEST ( LinalgOpTest  ,
Transpose   
)
Here is the call graph for this function:

◆ TYPED_TEST_SUITE() [1/2]

container::op::TYPED_TEST_SUITE ( EinsumOpTest  ,
base::utils::Types   
)

◆ TYPED_TEST_SUITE() [2/2]

container::op::TYPED_TEST_SUITE ( LinalgOpTest  ,
base::utils::Types   
)