QMCPACK
OTDot< SymTensor< T1, 3 >, Tensor< T2, 3 > > Struct Template Reference
+ Collaboration diagram for OTDot< SymTensor< T1, 3 >, Tensor< T2, 3 > >:

Public Types

using Type_t = typename BinaryReturn< T1, T2, OpMultiply >::Type_t
 

Static Public Member Functions

static Tensor< Type_t, 3 > apply (const SymTensor< T1, 3 > &lhs, const Tensor< T2, 3 > &rhs)
 

Detailed Description

template<class T1, class T2>
struct qmcplusplus::OTDot< SymTensor< T1, 3 >, Tensor< T2, 3 > >

Definition at line 335 of file TinyVectorTensorOps.h.

Member Typedef Documentation

◆ Type_t

using Type_t = typename BinaryReturn<T1, T2, OpMultiply>::Type_t

Definition at line 337 of file TinyVectorTensorOps.h.

Member Function Documentation

◆ apply()

static Tensor<Type_t, 3> apply ( const SymTensor< T1, 3 > &  lhs,
const Tensor< T2, 3 > &  rhs 
)
inlinestatic

Definition at line 338 of file TinyVectorTensorOps.h.

339  {
340  return Tensor<Type_t, 3>(lhs(0, 0) * rhs(0, 0) + lhs(0, 1) * rhs(1, 0) + lhs(0, 2) * rhs(2, 0),
341  lhs(0, 0) * rhs(0, 1) + lhs(0, 1) * rhs(1, 1) + lhs(0, 2) * rhs(2, 1),
342  lhs(0, 0) * rhs(0, 2) + lhs(0, 1) * rhs(1, 2) + lhs(0, 2) * rhs(2, 2),
343  lhs(1, 0) * rhs(0, 0) + lhs(1, 1) * rhs(1, 0) + lhs(1, 2) * rhs(2, 0),
344  lhs(1, 0) * rhs(0, 1) + lhs(1, 1) * rhs(1, 1) + lhs(1, 2) * rhs(2, 1),
345  lhs(1, 0) * rhs(0, 2) + lhs(1, 1) * rhs(1, 2) + lhs(1, 2) * rhs(2, 2),
346  lhs(2, 0) * rhs(0, 0) + lhs(2, 1) * rhs(1, 0) + lhs(2, 2) * rhs(2, 0),
347  lhs(2, 0) * rhs(0, 1) + lhs(2, 1) * rhs(1, 1) + lhs(2, 2) * rhs(2, 1),
348  lhs(2, 0) * rhs(0, 2) + lhs(2, 1) * rhs(1, 2) + lhs(2, 2) * rhs(2, 2));
349  }

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