171 lines
7.1 KiB
Plaintext
171 lines
7.1 KiB
Plaintext
---
|
||
title: WeightedSumOperator
|
||
description: API reference for qiskit.aqua.circuits.WeightedSumOperator
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.aqua.circuits.WeightedSumOperator
|
||
---
|
||
|
||
# WeightedSumOperator
|
||
|
||
<Class id="qiskit.aqua.circuits.WeightedSumOperator" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/aqua/circuits/weighted_sum_operator.py" signature="WeightedSumOperator(num_state_qubits, weights, i_state=None, i_sum=None)" modifiers="class">
|
||
Bases: `qiskit.aqua.utils.circuit_factory.CircuitFactory`
|
||
|
||
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**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") – invalid input
|
||
|
||
## Methods
|
||
|
||
### build
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build" signature="WeightedSumOperator.build(qc, q, q_ancillas=None, params=None)">
|
||
Adds corresponding sub-circuit to given circuit
|
||
|
||
**Parameters**
|
||
|
||
* **qc** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.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
|
||
</Function>
|
||
|
||
### build\_controlled
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build_controlled" signature="WeightedSumOperator.build_controlled(qc, q, q_control, q_ancillas=None, use_basis_gates=True)">
|
||
Adds corresponding controlled sub-circuit to given circuit
|
||
|
||
**Parameters**
|
||
|
||
* **qc** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – quantum circuit
|
||
* **q** (*list*) – list of qubits (has to be same length as self.\_num\_qubits)
|
||
* **q\_control** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.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
|
||
</Function>
|
||
|
||
### build\_controlled\_inverse
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build_controlled_inverse" signature="WeightedSumOperator.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*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – quantum circuit
|
||
* **q** (*list*) – list of qubits (has to be same length as self.\_num\_qubits)
|
||
* **q\_control** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.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
|
||
</Function>
|
||
|
||
### build\_controlled\_inverse\_power
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build_controlled_inverse_power" signature="WeightedSumOperator.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
|
||
</Function>
|
||
|
||
### build\_controlled\_power
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build_controlled_power" signature="WeightedSumOperator.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
|
||
</Function>
|
||
|
||
### build\_inverse
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build_inverse" signature="WeightedSumOperator.build_inverse(qc, q, q_ancillas=None)">
|
||
Adds inverse of corresponding sub-circuit to given circuit
|
||
|
||
**Parameters**
|
||
|
||
* **qc** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.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)
|
||
</Function>
|
||
|
||
### build\_inverse\_power
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build_inverse_power" signature="WeightedSumOperator.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
|
||
</Function>
|
||
|
||
### build\_power
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build_power" signature="WeightedSumOperator.build_power(qc, q, power, q_ancillas=None)">
|
||
Adds power of corresponding circuit. May be overridden if a more efficient implementation is possible
|
||
</Function>
|
||
|
||
### get\_num\_qubits
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.get_num_qubits" signature="WeightedSumOperator.get_num_qubits()">
|
||
returns number of qubits
|
||
</Function>
|
||
|
||
### get\_num\_qubits\_controlled
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.get_num_qubits_controlled" signature="WeightedSumOperator.get_num_qubits_controlled()">
|
||
returns number of qubits controlled
|
||
</Function>
|
||
|
||
### get\_required\_sum\_qubits
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.get_required_sum_qubits" signature="WeightedSumOperator.get_required_sum_qubits(weights)" modifiers="static">
|
||
get required sum qubits
|
||
</Function>
|
||
|
||
### required\_ancillas
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.required_ancillas" signature="WeightedSumOperator.required_ancillas()">
|
||
required ancillas
|
||
</Function>
|
||
|
||
### required\_ancillas\_controlled
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.required_ancillas_controlled" signature="WeightedSumOperator.required_ancillas_controlled()">
|
||
returns required ancillas controlled
|
||
</Function>
|
||
|
||
## Attributes
|
||
|
||
### num\_carry\_qubits
|
||
|
||
<Attribute id="qiskit.aqua.circuits.WeightedSumOperator.num_carry_qubits">
|
||
returns num carry qubits
|
||
</Attribute>
|
||
|
||
### num\_state\_qubits
|
||
|
||
<Attribute id="qiskit.aqua.circuits.WeightedSumOperator.num_state_qubits">
|
||
returns num state qubits
|
||
</Attribute>
|
||
|
||
### num\_sum\_qubits
|
||
|
||
<Attribute id="qiskit.aqua.circuits.WeightedSumOperator.num_sum_qubits">
|
||
returns num sum qubits
|
||
</Attribute>
|
||
|
||
### num\_target\_qubits
|
||
|
||
<Attribute id="qiskit.aqua.circuits.WeightedSumOperator.num_target_qubits">
|
||
Returns the number of target qubits
|
||
</Attribute>
|
||
|
||
### weights
|
||
|
||
<Attribute id="qiskit.aqua.circuits.WeightedSumOperator.weights">
|
||
returns weights
|
||
</Attribute>
|
||
</Class>
|
||
|