Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context:
The
Conditional
class currently inherits fromOperator
, such that many attributes and methods are missing.Description of the Change:
By switching to inherit from
SymbolicOp
, theConditional
class now includes some common default behaviour, such as deferring properties to the base class, copying the base class during a shallow copy, and updating the metadata of the base operator during queueing.In addition, other relevant representations have been added and tested, e.g.:
matrix
,adjoint
,diagonalizing_gates
, andeigvals
.As part of the work needed for this PR, new dispatches for
qml.Conditional
andqml.MeasurementValue
have been added to theqml.equal()
function.Benefits:
Seamlessly inheritance of properties and basic methods implemented by
SymbolicOp
, including differing of properties.Possible Drawbacks:
Have to make sure that is not a breaking change as some attributes/methods of
Conditional
are changed.Need to rethink approach for decomposition of
Conditional
operators.[sc-61356]