-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Expose plugin options #12107
Expose plugin options #12107
Conversation
One or more of the the following people are requested to review this:
|
Pull Request Test Coverage Report for Build 8497367679Details
💛 - Coveralls |
|
||
* use_inverted: Indicates whether to run the algorithm on the inverse matrix | ||
and to invert the synthesized circuit. | ||
In certain cases this provides a better decomposition then the direct approach. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In certain cases this provides a better decomposition then the direct approach. | |
In certain cases this provides a better decomposition than the direct approach. |
and to invert the synthesized circuit. | ||
In certain cases this provides a better decomposition then the direct approach. | ||
* use_transposed: Indicates whether to run the algorithm on the transposed matrix | ||
and to invert the order oF CX gates in the synthesized circuit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and to invert the order oF CX gates in the synthesized circuit. | |
and to invert the order of CX gates in the synthesized circuit. |
* section size: The size of each section used in the Patel–Markov–Hayes algorithm [1]. | ||
* use_inverted: Indicates whether to run the algorithm on the inverse matrix | ||
and to invert the synthesized circuit. | ||
In certain cases this provides a better decomposition then the direct approach. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In certain cases this provides a better decomposition then the direct approach. | |
In certain cases this provides a better decomposition than the direct approach. |
and to invert the synthesized circuit. | ||
In certain cases this provides a better decomposition then the direct approach. | ||
* use_transposed: Indicates whether to run the algorithm on the transposed matrix | ||
and to invert the order oF CX gates in the synthesized circuit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and to invert the order oF CX gates in the synthesized circuit. | |
and to invert the order of CX gates in the synthesized circuit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks! :-)
Summary
This commit enables additional options for
KMSSynthesisLinearFunction
andPMHSynthesisLinearFunction
plugins for synthesizingLinearFunction
objects. For the Patel-Markov-Hayes algorithm (PMH) we can now directly specify thesection_size
, as for exampleFor both plugins we can specify
use_transposed
anduse_inverted
options that modify the matrix on which the underlying synthesis algorithm runs by possibly inverting and/or transposing it, and then suitably adjust the synthesized circuit. This functionality existed in Qiskit before, but was not exposed through the options.By varying these options, we generally get different synthesized circuits, and in cases may obtain better results than for their default values.
Details and comments