English
Languages
English
Japanese
German
Korean
Shortcuts

qiskit.aqua.utils.CircuitFactory

class CircuitFactory(num_target_qubits)[source]

Base class for CircuitFactories

__init__(num_target_qubits)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(num_target_qubits)

Initialize self.

build(qc, q[, q_ancillas, params])

Adds corresponding sub-circuit to given circuit

build_controlled(qc, q, q_control[, …])

Adds corresponding controlled sub-circuit to given circuit

build_controlled_inverse(qc, q, q_control[, …])

Adds controlled inverse of corresponding sub-circuit to given circuit

build_controlled_inverse_power(qc, q, …[, …])

Adds controlled, inverse, power of corresponding circuit.

build_controlled_power(qc, q, q_control, power)

Adds controlled power of corresponding circuit.

build_inverse(qc, q[, q_ancillas])

Adds inverse of corresponding sub-circuit to given circuit

build_inverse_power(qc, q, power[, q_ancillas])

Adds inverse power of corresponding circuit.

build_power(qc, q, power[, q_ancillas])

Adds power of corresponding circuit.

get_num_qubits()

returns number of qubits

get_num_qubits_controlled()

returns number of qubits controlled

required_ancillas()

returns required ancillas

required_ancillas_controlled()

returns required ancillas controlled

Attributes

num_target_qubits

Returns the number of target qubits

abstract build(qc, q, q_ancillas=None, params=None)[source]

Adds corresponding sub-circuit to given circuit

Parameters
  • qc (QuantumCircuit) – quantum circuit

  • q (list) – list of qubits (has to be same length as self._num_qubits)

  • q_ancillas (list) – list of ancilla qubits (or None if none needed)

  • params (list) – parameters for circuit

build_controlled(qc, q, q_control, q_ancillas=None, use_basis_gates=True)[source]

Adds corresponding controlled sub-circuit to given circuit

Parameters
  • qc (QuantumCircuit) – quantum circuit

  • q (list) – list of qubits (has to be same length as self._num_qubits)

  • q_control (Qubit) – control qubit

  • q_ancillas (list) – list of ancilla qubits (or None if none needed)

  • use_basis_gates (bool) – use basis gates for expansion of controlled circuit

build_controlled_inverse(qc, q, q_control, q_ancillas=None, use_basis_gates=True)[source]

Adds controlled inverse of corresponding sub-circuit to given circuit

Parameters
  • qc (QuantumCircuit) – quantum circuit

  • q (list) – list of qubits (has to be same length as self._num_qubits)

  • q_control (Qubit) – control qubit

  • q_ancillas (list) – list of ancilla qubits (or None if none needed)

  • use_basis_gates (bool) – use basis gates for expansion of controlled circuit

build_controlled_inverse_power(qc, q, q_control, power, q_ancillas=None, use_basis_gates=True)[source]

Adds controlled, inverse, power of corresponding circuit. May be overridden if a more efficient implementation is possible

build_controlled_power(qc, q, q_control, power, q_ancillas=None, use_basis_gates=True)[source]

Adds controlled power of corresponding circuit. May be overridden if a more efficient implementation is possible

build_inverse(qc, q, q_ancillas=None)[source]

Adds inverse of corresponding sub-circuit to given circuit

Parameters
  • qc (QuantumCircuit) – quantum circuit

  • q (list) – list of qubits (has to be same length as self._num_qubits)

  • q_ancillas (list) – list of ancilla qubits (or None if none needed)

build_inverse_power(qc, q, power, q_ancillas=None)[source]

Adds inverse power of corresponding circuit. May be overridden if a more efficient implementation is possible

build_power(qc, q, power, q_ancillas=None)[source]

Adds power of corresponding circuit. May be overridden if a more efficient implementation is possible

get_num_qubits()[source]

returns number of qubits

get_num_qubits_controlled()[source]

returns number of qubits controlled

property num_target_qubits

Returns the number of target qubits

required_ancillas()[source]

returns required ancillas

required_ancillas_controlled()[source]

returns required ancillas controlled