QMCPACK
OTDot< TinyVector< T1, D >, AntiSymTensor< T2, D > > Struct Template Reference
+ Collaboration diagram for OTDot< TinyVector< T1, D >, AntiSymTensor< 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 TinyVector< T2, D > &lhs, const AntiSymTensor< T1, D > &rhs)
 

Detailed Description

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

Definition at line 428 of file TinyVectorTensorOps.h.

Member Typedef Documentation

◆ Type_t

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

Definition at line 430 of file TinyVectorTensorOps.h.

Member Function Documentation

◆ apply()

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

Definition at line 431 of file TinyVectorTensorOps.h.

432  {
434  for (unsigned int j = 0; j < D; ++j)
435  {
436  Type_t sum = 0;
437  for (int i = 0; i < j; i++)
438  sum -= lhs[i] * rhs[((j - 1) * j / 2) + i];
439  for (int i = j + 1; i < D; ++i)
440  sum += lhs[i] * rhs[((i - 1) * i / 2) + j];
441  ret[j] = sum;
442  }
443  return ret;
444  }
typename BinaryReturn< T1, T2, OpMultiply >::Type_t Type_t

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