213 lines
13 KiB
Plaintext
213 lines
13 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
|
||
---
|
||
|
||
<span id="qiskit-aqua-circuits-weightedsumoperator" />
|
||
|
||
# qiskit.aqua.circuits.WeightedSumOperator
|
||
|
||
<Class id="qiskit.aqua.circuits.WeightedSumOperator" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.8/qiskit/aqua/circuits/weighted_sum_operator.py" signature="WeightedSumOperator(num_state_qubits, weights, i_state=None, i_sum=None)" modifiers="class">
|
||
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
|
||
|
||
### \_\_init\_\_
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.__init__" signature="__init__(num_state_qubits, weights, i_state=None, i_sum=None)">
|
||
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
|
||
</Function>
|
||
|
||
## Methods
|
||
|
||
| | |
|
||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- |
|
||
| [`__init__`](#qiskit.aqua.circuits.WeightedSumOperator.__init__ "qiskit.aqua.circuits.WeightedSumOperator.__init__")(num\_state\_qubits, weights\[, …]) | Computes the weighted sum controlled by state qubits |
|
||
| [`build`](#qiskit.aqua.circuits.WeightedSumOperator.build "qiskit.aqua.circuits.WeightedSumOperator.build")(qc, q\[, q\_ancillas, params]) | Adds corresponding sub-circuit to given circuit |
|
||
| [`build_controlled`](#qiskit.aqua.circuits.WeightedSumOperator.build_controlled "qiskit.aqua.circuits.WeightedSumOperator.build_controlled")(qc, q, q\_control\[, …]) | Adds corresponding controlled sub-circuit to given circuit |
|
||
| [`build_controlled_inverse`](#qiskit.aqua.circuits.WeightedSumOperator.build_controlled_inverse "qiskit.aqua.circuits.WeightedSumOperator.build_controlled_inverse")(qc, q, q\_control\[, …]) | Adds controlled inverse of corresponding sub-circuit to given circuit |
|
||
| [`build_controlled_inverse_power`](#qiskit.aqua.circuits.WeightedSumOperator.build_controlled_inverse_power "qiskit.aqua.circuits.WeightedSumOperator.build_controlled_inverse_power")(qc, q, …\[, …]) | Adds controlled, inverse, power of corresponding circuit. |
|
||
| [`build_controlled_power`](#qiskit.aqua.circuits.WeightedSumOperator.build_controlled_power "qiskit.aqua.circuits.WeightedSumOperator.build_controlled_power")(qc, q, q\_control, power) | Adds controlled power of corresponding circuit. |
|
||
| [`build_inverse`](#qiskit.aqua.circuits.WeightedSumOperator.build_inverse "qiskit.aqua.circuits.WeightedSumOperator.build_inverse")(qc, q\[, q\_ancillas]) | Adds inverse of corresponding sub-circuit to given circuit |
|
||
| [`build_inverse_power`](#qiskit.aqua.circuits.WeightedSumOperator.build_inverse_power "qiskit.aqua.circuits.WeightedSumOperator.build_inverse_power")(qc, q, power\[, q\_ancillas]) | Adds inverse power of corresponding circuit. |
|
||
| [`build_power`](#qiskit.aqua.circuits.WeightedSumOperator.build_power "qiskit.aqua.circuits.WeightedSumOperator.build_power")(qc, q, power\[, q\_ancillas]) | Adds power of corresponding circuit. |
|
||
| [`get_num_qubits`](#qiskit.aqua.circuits.WeightedSumOperator.get_num_qubits "qiskit.aqua.circuits.WeightedSumOperator.get_num_qubits")() | returns number of qubits |
|
||
| [`get_num_qubits_controlled`](#qiskit.aqua.circuits.WeightedSumOperator.get_num_qubits_controlled "qiskit.aqua.circuits.WeightedSumOperator.get_num_qubits_controlled")() | returns number of qubits controlled |
|
||
| [`get_required_sum_qubits`](#qiskit.aqua.circuits.WeightedSumOperator.get_required_sum_qubits "qiskit.aqua.circuits.WeightedSumOperator.get_required_sum_qubits")(weights) | get required sum qubits |
|
||
| [`required_ancillas`](#qiskit.aqua.circuits.WeightedSumOperator.required_ancillas "qiskit.aqua.circuits.WeightedSumOperator.required_ancillas")() | required ancillas |
|
||
| [`required_ancillas_controlled`](#qiskit.aqua.circuits.WeightedSumOperator.required_ancillas_controlled "qiskit.aqua.circuits.WeightedSumOperator.required_ancillas_controlled")() | returns required ancillas controlled |
|
||
|
||
## Attributes
|
||
|
||
| | |
|
||
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
|
||
| [`num_carry_qubits`](#qiskit.aqua.circuits.WeightedSumOperator.num_carry_qubits "qiskit.aqua.circuits.WeightedSumOperator.num_carry_qubits") | returns num carry qubits |
|
||
| [`num_state_qubits`](#qiskit.aqua.circuits.WeightedSumOperator.num_state_qubits "qiskit.aqua.circuits.WeightedSumOperator.num_state_qubits") | returns num state qubits |
|
||
| [`num_sum_qubits`](#qiskit.aqua.circuits.WeightedSumOperator.num_sum_qubits "qiskit.aqua.circuits.WeightedSumOperator.num_sum_qubits") | returns num sum qubits |
|
||
| [`num_target_qubits`](#qiskit.aqua.circuits.WeightedSumOperator.num_target_qubits "qiskit.aqua.circuits.WeightedSumOperator.num_target_qubits") | Returns the number of target qubits |
|
||
| [`weights`](#qiskit.aqua.circuits.WeightedSumOperator.weights "qiskit.aqua.circuits.WeightedSumOperator.weights") | returns weights |
|
||
|
||
### build
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.build" signature="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="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="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="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="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="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="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="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="get_num_qubits()">
|
||
returns number of qubits
|
||
</Function>
|
||
|
||
### get\_num\_qubits\_controlled
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.get_num_qubits_controlled" signature="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="get_required_sum_qubits(weights)" modifiers="static">
|
||
get required sum qubits
|
||
</Function>
|
||
|
||
### 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>
|
||
|
||
### required\_ancillas
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.required_ancillas" signature="required_ancillas()">
|
||
required ancillas
|
||
</Function>
|
||
|
||
### required\_ancillas\_controlled
|
||
|
||
<Function id="qiskit.aqua.circuits.WeightedSumOperator.required_ancillas_controlled" signature="required_ancillas_controlled()">
|
||
returns required ancillas controlled
|
||
</Function>
|
||
|
||
### weights
|
||
|
||
<Attribute id="qiskit.aqua.circuits.WeightedSumOperator.weights">
|
||
returns weights
|
||
</Attribute>
|
||
</Class>
|
||
|