Skip to content

ComputeUncompute fidelity - lack of transpilation option #194

@rihartma

Description

@rihartma

What should we add?

When using ComputeUncompute, there is no option to transpile the final circuit for specific backend (using a PassManager), therefore it cannot be used sufficiently on real devices.

A possible solution (which is not sufficient!) would be to pass already transpiled circuits to create_fidelity_circuit method, but it is using the circuit .inverse() method, which contains inverse gates which might not be implemented on the specific quantum device, therefore it cannot be used.

I suggest adding a new optional parameter _pass_manager (of type PassManager) to ComputeUncompute with the following behavior:

  • If None, then the behavior would remain unchanged.
  • Otherwise, before the circuit is returned in create_fidelity_circuit, it would be transformed to satisfy the PassManager constraints.

I already have a basic local implementation and can submit a pull request.

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