Skip to content
9 changes: 8 additions & 1 deletion doc/releases/changelog-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@

<h3>New features since last release</h3>

* A compilation pass written with xDSL called `qml.compiler.python_compiler.transforms.ParitySynthPass`
has been added for the experimental xDSL Python compiler integration. This pass resynthesizes
subcircuits that form a phase polynomial (``CNOT`` and ``RZ`` gates), using ``ParitySynth`` by
[Vandaele et al.](https://arxiv.org/abs/2104.00934)
[(#8414)](https://github.com/PennyLaneAI/pennylane/pull/8414)

<h3>Improvements 🛠</h3>

* Both the generic and transform-specific application behavior of a `qml.transforms.core.TransformDispatcher`
Expand All @@ -28,4 +34,5 @@

This release contains contributions from (in alphabetical order):

Lillian Frederiksen
Lillian Frederiksen,
David Wierichs,
1 change: 1 addition & 0 deletions pennylane/compiler/python_compiler/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ def run(
xmod = parser.parse_module()
pipeline = PassPipeline((ApplyTransformSequence(callback=callback),))
pipeline.apply(ctx, xmod)
print(xmod)
buffer = io.StringIO()
Printer(stream=buffer, print_generic_format=True).print_op(xmod)
with jaxContext() as jctx:
Expand Down
8 changes: 4 additions & 4 deletions pennylane/compiler/python_compiler/dialects/quantum.py
Original file line number Diff line number Diff line change
Expand Up @@ -492,10 +492,10 @@ class GlobalPhaseOp(IRDLOperation):
name = "quantum.gphase"

assembly_format = """
`(` $params `)`
attr-dict
( `ctrls` `(` $in_ctrl_qubits^ `)` )?
( `ctrlvals` `(` $in_ctrl_values^ `)` )?
`(` $params `)`
attr-dict
( `ctrls` `(` $in_ctrl_qubits^ `)` )?
( `ctrlvals` `(` $in_ctrl_values^ `)` )?
`:` type(results)
"""

Expand Down
4 changes: 4 additions & 0 deletions pennylane/compiler/python_compiler/transforms/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
MeasurementsFromSamplesPass,
merge_rotations_pass,
MergeRotationsPass,
parity_synth_pass,
ParitySynthPass,
)


Expand All @@ -48,6 +50,8 @@
"MeasurementsFromSamplesPass",
"merge_rotations_pass",
"MergeRotationsPass",
"parity_synth_pass",
"ParitySynthPass",
# MBQC
"convert_to_mbqc_formalism_pass",
"ConvertToMBQCFormalismPass",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
measurements_from_samples_pass,
)
from .merge_rotations import MergeRotationsPass, merge_rotations_pass
from .parity_synth import ParitySynthPass, parity_synth_pass


__all__ = [
Expand All @@ -36,4 +37,6 @@
"MeasurementsFromSamplesPass",
"merge_rotations_pass",
"MergeRotationsPass",
"parity_synth_pass",
"ParitySynthPass",
]
Loading