_parse_possible_contraction(positions, input_sets, output_set, idx_dict, memory_limit, path_cost, naive_cost)
The locations of the proposed tensors to contract.
The indices found on each tensors.
The output indices of the expression.
Mapping of each index to its size.
The total allowed size for an intermediary tensor.
The contraction cost so far.
The cost of the unoptimized expression.
A tuple containing the size of any indices removed, and the flop cost.
The locations of the proposed tensors to contract.
The resulting new list of indices if this proposed contraction is performed.
Compute the cost (removed size + flops) and resultant indices for performing the contraction specified by positions
.
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them