MultivariateProblem

class MultivariateProblem(uncertainty_model, aggregation_function, univariate_objective, conditions=None)[source]

Multivariate Uncertainty Problem.

Constructor.

Parameters
  • uncertainty_model (MultivariateDistribution) – multivariate uncertainty model

  • aggregation_function (CircuitFactory) – aggregation function that maps the multiple dimension to an aggregated value

  • univariate_objective (UnivariatePiecewiseLinearObjective) – objective function applied to the aggregated value

  • conditions (Union[List[Tuple[int, CircuitFactory]], ndarray, None]) – list of pairs (int, CircuitFactory) = target dimension of uncertainty model and condition to be satisfied to apply the aggregation

Attributes

MultivariateProblem.num_target_qubits

Returns the number of target qubits

Methods

MultivariateProblem.build(qc, q[, …])

Adds corresponding sub-circuit to given circuit

MultivariateProblem.build_controlled(qc, q, …)

Adds corresponding controlled sub-circuit to given circuit

MultivariateProblem.build_controlled_inverse(qc, …)

Adds controlled inverse of corresponding sub-circuit to given circuit

MultivariateProblem.build_controlled_inverse_power(qc, …)

Adds controlled, inverse, power of corresponding circuit.

MultivariateProblem.build_controlled_power(qc, …)

Adds controlled power of corresponding circuit.

MultivariateProblem.build_inverse(qc, q[, …])

Adds inverse of corresponding sub-circuit to given circuit

MultivariateProblem.build_inverse_power(qc, …)

Adds inverse power of corresponding circuit.

MultivariateProblem.build_power(qc, q, power)

Adds power of corresponding circuit.

MultivariateProblem.get_num_qubits()

returns number of qubits

MultivariateProblem.get_num_qubits_controlled()

returns number of qubits controlled

MultivariateProblem.required_ancillas()

returns required ancillas

MultivariateProblem.required_ancillas_controlled()

returns required ancillas controlled

MultivariateProblem.value_to_estimation(value)

value to estimate