WeightedSumOperator¶
- class WeightedSumOperator(num_state_qubits, weights, i_state=None, i_sum=None)[source]¶
Adds q^T * w to separate register for non-negative integer weights w.
Computes the weighted sum controlled by state qubits
- Parameters
num_state_qubits (int) – number of state qubits
weights (Union(list, numpy.ndarray)) – weights per state qubits
i_state (Optional(Union(list, numpy.ndarray))) – indices of state qubits, set to range(num_state_qubits) if None
i_sum (Optional(int)) – indices of target qubits (that represent the resulting sum), set to range(num_state_qubits, num_state_qubits + req_num_sum_qubits) if None
- Raises
AquaError – invalid input
Attributes
returns num carry qubits
returns num state qubits
returns num sum qubits
Returns the number of target qubits
returns weights
Methods
WeightedSumOperator.build
(qc, q[, …])Adds corresponding sub-circuit to given circuit
WeightedSumOperator.build_controlled
(qc, q, …)Adds corresponding controlled sub-circuit to given circuit
Adds controlled inverse of corresponding sub-circuit to given circuit
Adds controlled, inverse, power of corresponding circuit.
Adds controlled power of corresponding circuit.
WeightedSumOperator.build_inverse
(qc, q[, …])Adds inverse of corresponding sub-circuit to given circuit
Adds inverse power of corresponding circuit.
WeightedSumOperator.build_power
(qc, q, power)Adds power of corresponding circuit.
returns number of qubits
returns number of qubits controlled
get required sum qubits
required ancillas
returns required ancillas controlled