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.

MultivariateVariationalDistribution

class MultivariateVariationalDistribution(num_qubits, var_form, params, low=None, high=None)

GitHub

The Multivariate Variational Distribution.

Parameters

  • num_qubits (Union[List[int], ndarray]) – List with the number of qubits per dimension
  • var_form (Union[QuantumCircuit, VariationalForm]) – Variational form
  • params (Union[List[float], ndarray]) – Parameters for variational form
  • low (Union[List[float], ndarray, None]) – List with the lower bounds per dimension, set to 0 for each dimension if None
  • high (Union[List[float], ndarray, None]) – List with the upper bounds per dimension, set to 1 for each dimension if None

Attributes

dimension

returns dimensions

high

returns high

low

returns low

num_qubits

returns num qubits

num_target_qubits

Returns the number of target qubits

num_values

returns number of values

probabilities

returns probabilities

probabilities_vector

returns probabilities vector

values

returns values


Methods

build

MultivariateVariationalDistribution.build(qc, q, q_ancillas=None, params=None)

build_controlled

MultivariateVariationalDistribution.build_controlled(qc, q, q_control, q_ancillas=None, use_basis_gates=True)

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

MultivariateVariationalDistribution.build_controlled_inverse(qc, q, q_control, q_ancillas=None, use_basis_gates=True)

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

MultivariateVariationalDistribution.build_controlled_inverse_power(qc, q, q_control, power, q_ancillas=None, use_basis_gates=True)

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

build_controlled_power

MultivariateVariationalDistribution.build_controlled_power(qc, q, q_control, power, q_ancillas=None, use_basis_gates=True)

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

build_inverse

MultivariateVariationalDistribution.build_inverse(qc, q, q_ancillas=None)

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

MultivariateVariationalDistribution.build_inverse_power(qc, q, power, q_ancillas=None)

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

build_power

MultivariateVariationalDistribution.build_power(qc, q, power, q_ancillas=None)

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

get_num_qubits

MultivariateVariationalDistribution.get_num_qubits()

returns number of qubits

get_num_qubits_controlled

MultivariateVariationalDistribution.get_num_qubits_controlled()

returns number of qubits controlled

pdf_to_probabilities

static MultivariateVariationalDistribution.pdf_to_probabilities(pdf, low, high, num_values)

pdf to probabilities

required_ancillas

MultivariateVariationalDistribution.required_ancillas()

returns required ancillas

required_ancillas_controlled

MultivariateVariationalDistribution.required_ancillas_controlled()

returns required ancillas controlled

set_probabilities

MultivariateVariationalDistribution.set_probabilities(quantum_instance)

Set Probabilities

Parameters

quantum_instance (QuantumInstance) – Quantum Instance

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