QMCPACK
OTDot< AntiSymTensor< T1, D >, TinyVector< T2, D > > Struct Template Reference
+ Collaboration diagram for OTDot< AntiSymTensor< T1, D >, TinyVector< T2, D > >:

Public Types

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

Static Public Member Functions

static TinyVector< Type_t, D > apply (const AntiSymTensor< T1, D > &lhs, const TinyVector< T2, D > &rhs)
 

Detailed Description

template<class T1, class T2, unsigned D>
struct qmcplusplus::OTDot< AntiSymTensor< T1, D >, TinyVector< T2, D > >

Definition at line 476 of file TinyVectorTensorOps.h.

Member Typedef Documentation

◆ Type_t

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

Definition at line 478 of file TinyVectorTensorOps.h.

Member Function Documentation

◆ apply()

static TinyVector<Type_t, D> apply ( const AntiSymTensor< T1, D > &  lhs,
const TinyVector< T2, D > &  rhs 
)
inlinestatic

Definition at line 479 of file TinyVectorTensorOps.h.

480  {
482  for (unsigned int i = 0; i < D; ++i)
483  {
484  Type_t sum = 0;
485  for (unsigned int j = 0; j < i; ++j)
486  sum += lhs[((i - 1) * i / 2) + j] * rhs[j];
487  for (unsigned int j = i + 1; j < D; ++j)
488  sum -= lhs[((j - 1) * j / 2) + i] * rhs[j];
489  ret[i] = sum;
490  }
491  return ret;
492  }
typename BinaryReturn< T1, T2, OpMultiply >::Type_t Type_t

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