qp.marker

marker(tape, level)[source]

Mark a location in a transform program for easy access with inspectability.

Parameters:

Note

Invalid level names in marker are "top", "user", "device", and "gradient", "all", and "all-mlir", which are internally protected.

@qp.marker(level="rotations-merged")
@qp.transforms.merge_rotations
@qp.marker(level="my_level")
@qp.transforms.cancel_inverses
@qp.qnode(qp.device('null.qubit'))
def c():
    qp.RX(0.2,0)
    qp.X(0)
    qp.X(0)
    qp.RX(0.2, 0)
    return qp.state()
>>> print(qp.draw(c, level="my_level")())
0: ──RX(0.20)──RX(0.20)─┤  State
>>> qp.specs(c, level="my_level")()['resources'].gate_types
{'RX': 2}
>>> print(qp.draw(c, level="rotations-merged")())
0: ──RX(0.40)─┤  State

Contents

Using PennyLane

Release news

Development

API

Internals