Skip to content

More flexible boxing pass manager and better documentation #340

@jyu00

Description

@jyu00

This was a feedback from a client:

Currently, the boxing pass manager can only be applied after transpilation, since boxed circuits cannot be transpiled. For complex circuits, it’s difficult to predict the resulting boxing structure.

  • The only apparent way to control boxing boundaries is by inserting barriers. While this produces the expected separation, barriers can degrade transpilation quality. If this behavior is expected, it should be clearly documented.
  • Barriers work when all boxes share the same annotation, but once a circuit is already transpiled, it’s unclear how to create multiple boxes with different annotations. This seems feasible only when constructing the circuit from scratch, as shown in the tutorials.
  • If the boxing outcome is not ideal, it becomes hard to identify the minimum number of unique layers (even undressed). When determining them, should commutation relations be taken into account?

Most available tutorials focus on simple Ising‑Trotter circuits, which are straightforward to box. However, a BasQ researcher attempted to apply the same tooling to a significantly more complex circuit, and the current documentation does not explain how to handle these more realistic scenarios.

In practice, the boxing pass manager is not straightforward to use for anything beyond the tutorial examples. It would be very helpful to have more flexibility when manipulating isa_circuits, or a list of steps to follow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions