Template Function sequant::evaluate(NodeT const&, Annot const&, Le const&, Args&&…)

Function Documentation

template<typename NodeT, typename Annot, typename Le, typename ...Args, std::enable_if_t<IsEvaluable<NodeT>, bool> = true, std::enable_if_t<IsLeafEvaluator<NodeT, Le>, bool> = true>
auto sequant::evaluate(NodeT const &node, Annot const &layout, Le const &le, Args&&... args)

See also

EvalResult to know more about the return type.

Parameters:
  • node – An EvalNode to be evaluated into a tensor.

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

  • 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.