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.
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

EuropeanCallExpectedValue

class EuropeanCallExpectedValue(uncertainty_model, strike_price, c_approx, i_state=None, i_compare=None, i_objective=None)

GitHub

The European Call Option Expected Value.

Evaluates the expected payoff for a European call option given an uncertainty model. The payoff function is f(S, K) = max(0, S - K) for a spot price S and strike price K.

Constructor.

Parameters

  • uncertainty_model (UnivariateDistribution) – uncertainty model for spot price
  • strike_price (float) – strike price of the European option
  • c_approx (float) – approximation factor for linear payoff
  • i_state (Union[List[int], ndarray, None]) – indices of qubits representing the uncertainty
  • i_compare (Optional[int]) – index of qubit for comparing spot price to strike price (enabling payoff or not)
  • i_objective (Optional[int]) – index of qubit for objective function

Attributes

num_target_qubits

Returns the number of target qubits


Methods

build

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

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

EuropeanCallExpectedValue.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

EuropeanCallExpectedValue.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

EuropeanCallExpectedValue.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

EuropeanCallExpectedValue.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

EuropeanCallExpectedValue.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

EuropeanCallExpectedValue.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

EuropeanCallExpectedValue.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

EuropeanCallExpectedValue.get_num_qubits()

returns number of qubits

get_num_qubits_controlled

EuropeanCallExpectedValue.get_num_qubits_controlled()

returns number of qubits controlled

required_ancillas

EuropeanCallExpectedValue.required_ancillas()

returns required ancillas

required_ancillas_controlled

EuropeanCallExpectedValue.required_ancillas_controlled()

returns required ancillas controlled

value_to_estimation

EuropeanCallExpectedValue.value_to_estimation(value)

value to estimate

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