|
| auto | intermediate_count () const noexcept -> std::size_t |
| | Return the number of retained (B,C) intermediate blocks.
|
| |
template<detail::WritableRabcTensor Output, detail::ReadableRabcTensor A, detail::ReadableRabcTensor B, detail::ReadableRabcTensor C>
requires detail::CompatibleRabcOperands<Output, plan_type, A, B, C> |
| void | operator() (Output &output, A const &a, B const &b, C const &c) |
| | Execute using the retained schedule and workspace.
|
| |
| auto | plan () const noexcept -> plan_type const & |
| | Return the immutable execution-neutral coefficient plan.
|
| |
template<detail::WritableRabcTensor Output, detail::ReadableRabcTensor A, detail::ReadableRabcTensor B, detail::ReadableRabcTensor C>
requires detail::CompatibleRabcOperands<Output, plan_type, A, B, C> |
| | PreparedRightFirstRabcContraction (contraction_selector_type selector, Output const &output, plan_type plan, A const &a, B const &b, C const &c) |
| | Compile a fixed execution schedule and allocate its workspace.
|
| |
template<class IntermediateStorage, RabcPlan Plan, linalg::KernelBackendSelector ContractionSelector>
class uni20::tensor_network::PreparedRightFirstRabcContraction< IntermediateStorage, Plan, ContractionSelector >
Prepared right-first executor for one fixed R/A/B/C structure.
Construction binds logical keys to storage ordinals, validates dense extents, derives the unique (B_b,C_c) groups and output execution order, and allocates every intermediate once. Repeated calls reuse that schedule and workspace. The prepared object is tied to the plan and block structures used at construction and is not safe for concurrent execution.
- Template Parameters
-
| IntermediateStorage | Dense storage policy used for retained intermediates. |
| Plan | Execution-neutral logical coefficient plan. |
| ContractionSelector | Dense contraction backend selector. |