Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify content of transpiler passes in documentation #246

Open
nathanshammah opened this issue Feb 19, 2025 · 4 comments
Open

Clarify content of transpiler passes in documentation #246

nathanshammah opened this issue Feb 19, 2025 · 4 comments
Assignees
Labels
feature New feature or request

Comments

@nathanshammah
Copy link
Member

Is your feature request related to a problem? Please describe.
Currently the readme and documentation (user guide, API doc) are quite minimal on the explanation of the transpiler passes and defaults present in ucc.

Describe the solution you'd like
The documentation can be improved with a summary of existing transpiler passes. We want to clarify:

  • If the transpiler pass comes from another library, as currently for Qiskit ones, why it was chosen
  • If the pass was customized with input variables, e.g.,
  • If the pass was modified and why, e.g., VF2
  • Choices made in ucc defaults

Additional context
Useful comment in the Discussions #239.

@nathanshammah nathanshammah added the feature New feature or request label Feb 19, 2025
@jordandsullivan jordandsullivan self-assigned this Feb 20, 2025
@jordandsullivan
Copy link
Collaborator

New section in User Guide on Transpile Passes:

  • Clarifies what each pass does that is different from default Qiskit

@bachase
Copy link
Collaborator

bachase commented Feb 26, 2025

Perhaps a new consideration in light of #256 is to supplement https://github.com/unitaryfund/ucc/blob/main/docs/source/user_guide.rst#key-modules with more details on why the specific set of passes was chosen for the UCCDefault1 set?

@jordandsullivan
Copy link
Collaborator

Yes, that makes sense as a new direction for this part of the documentation. As I recall, these passes were chosen partially by doing some empirical tests of which Qiskit passes seemed to provide the most bang for your buck (i.e. where is most of the gate reduction happening). Is that accurate @sonikaj?

@sonikaj
Copy link
Collaborator

sonikaj commented Feb 27, 2025

Jordan, that's correct and also it comes from consideration of what would be a logical sequence of operations to optimize a general quantum circuit about which not much other information is known. If there is some other information is available at compile time, for example, that it is a chemistry circuit, or it's implementing a Grover's type algorithm, a different sequence of passes, custom to the particular application area, can be designed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants