Template Function sequant::evaluate_antisymm

Function Documentation

template<typename NodeT, typename Annot, typename Le, typename ...Args>
auto sequant::evaluate_antisymm(NodeT const &node, Annot const &layout, container::svector<std::array<size_t, 3>> const &perm_groups, Le const &le, Args&&... args)

See also

EvalResult to know more about the return type.

Parameters:
  • node – An EvalNode or an iterable of such nodes to be evaluated into a tensor.

  • layout – The layout of the resulting tensor. It is a permutation of the result of node->annot().

  • perm_groups – A vector of 3-element arrays of size_t. Each array represents a group of indices that are particle anti-symmetric. The first two elements of the array are the indices of the bra and ket of the resulting tensor, respectively, and the third element is the number of symmetric indices in the group.

  • le – A leaf evaluator that takes an EvalNode and returns a tensor (TA::TArrayD, btas::Tensor<double>, etc.) or a constant (double, complex<double>, etc.).

  • args – Optional CacheManager object passed by reference.

Returns:

ERPtr to the resulting tensor.