Qualtran represents quantum programs hierarchically as Bloqs. However, executing a large program through Cirq generally requires decomposing it and constructing a complete circuit before simulation.
For very large or repetitive algorithms, the fully expanded circuit may be impractical to store even though the Qualtran representation is compact. It would be useful to evaluate a Bloq incrementally, decomposing only the current subgraph and forwarding executable leaf operations to a simulator or hardware.
Qualtran already evaluates individual Bloq decompositions lazily. But I don't think this extends to execution: recursively decompose and execute only the currently demanded portion of the graph without first constructing a fully flattened circuit.
Qualtran represents quantum programs hierarchically as
Bloqs. However, executing a large program through Cirq generally requires decomposing it and constructing a complete circuit before simulation.For very large or repetitive algorithms, the fully expanded circuit may be impractical to store even though the Qualtran representation is compact. It would be useful to evaluate a Bloq incrementally, decomposing only the current subgraph and forwarding executable leaf operations to a simulator or hardware.
Qualtran already evaluates individual
Bloqdecompositions lazily. But I don't think this extends to execution: recursively decompose and execute only the currently demanded portion of the graph without first constructing a fully flattened circuit.