Skip to main contentIBM Quantum Documentation
Qiskit Transpiler Service is experimental and only available for IBM Quantum Premium Plan members.

AIPermutationSynthesis

class qiskit_ibm_transpiler.ai.AIPermutationSynthesis(backend_name: str, replace_only_if_better: bool = True, max_threads: int | None = None)

GitHub

Bases: AISynthesis

Synthesis for Permutation circuits (blocks of SWAP gates). Currently available for 65, 33, and 27 qubit blocks.

Parameters

  • backend_name (str) – Name of the backend used for doing the AI Linear Function synthesis.
  • replace_only_if_better (bool, optional) – Determine if replace the original circuit with the synthesized one if it’s better, defaults to True.
  • max_threads (int, optional) – Set the number of requests to send in parallel.

Methods

execute

execute(passmanager_ir, state, callback=None)

Execute optimization task for input Qiskit IR.

Parameters

  • passmanager_ir (Any) – Qiskit IR to optimize.
  • state (PassManagerState) – State associated with workflow execution by the pass manager itself.
  • callback (Callable) – A callback function which is caller per execution of optimization task.

Returns

Optimized Qiskit IR and state of the workflow.

Return type

tuple[Any, PassManagerState]

name

name()

Name of the pass.

Return type

str

run

run(dag)

GitHub

Run a pass on the DAGCircuit. This is implemented by the pass developer.

Parameters

dag (DAGCircuit) – the dag on which the pass is run.

Raises

NotImplementedError – when this is left unimplemented for a pass.

synth_nodes

synth_nodes(nodes)

GitHub

update_status

update_status(state, run_state)

Update workflow status.

Parameters

  • state (PassManagerState) – Pass manager state to update.
  • run_state (RunState) – Completion status of current task.

Returns

Updated pass manager state.

Return type

PassManagerState

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