Template Function sequant::slicing_signature¶
Defined in File slicing_signature.hpp
Function Documentation¶
-
template<meta::eval_node Node>
container::svector<std::optional<std::size_t>> sequant::slicing_signature(Node const &node, container::svector<Index> const &modes)¶ The slicing signature of
nodeovermodes:the canonical result-slot position of each mode (viaindex_position), or nullopt wherenodedoes not carry that mode on its result.The signature is a function of the canonical node alone, so it is identical across canonically-equal occurrences except where the modes bind different physical indices — which is exactly the divergence the batched runtime must not share (see
make_batched_scratchin eval.hpp, and the as-built design doc/dev/specs/2026-09-12-batched-array-dag-eval-as-built.md, section 5). It is the unified form of that path’s per-nodesig(the batch mode’s position) plusext_sig(the external modes’ positions): pass{batch_mode}followed by the external axes asmodes.