Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

ConditionalController

class ConditionalController(passes, options=None, condition=None, **partial_controller)

GitHub

Bases: qiskit.transpiler.runningpassmanager.FlowController

Implements a set of passes under a certain condition.


Methods

add_flow_controller

classmethod ConditionalController.add_flow_controller(name, controller)

Adds a flow controller.

Parameters

  • name (string) – Name of the controller to add.
  • controller (type(FlowController)) – The class implementing a flow controller.

controller_factory

classmethod ConditionalController.controller_factory(passes, options, **partial_controller)

Constructs a flow controller based on the partially evaluated controller arguments.

Parameters

  • passes (list[BasePass]) – passes to add to the flow controller.
  • options (dict) – PassManager options.
  • **partial_controller (dict) – Partially evaluated controller arguments in the form {name:partial}

Raises

TranspilerError – When partial_controller is not well-formed.

Returns

A FlowController instance.

Return type

FlowController

dump_passes

ConditionalController.dump_passes()

Fetches the passes added to this flow controller.

Returns

{‘options’: self.options, ‘passes’: [passes], ‘type’: type(self)}

Return type

dict

remove_flow_controller

classmethod ConditionalController.remove_flow_controller(name)

Removes a flow controller.

Parameters

name (string) – Name of the controller to remove.

Raises

KeyError – If the controller to remove was not registered.


Attributes

registered_controllers

Default value: {'condition': <class 'qiskit.transpiler.runningpassmanager.ConditionalController'>, 'do_while': <class 'qiskit.transpiler.runningpassmanager.DoWhileController'>}

Was this page helpful?
Report a bug or request content on GitHub.