WeightedAdder
class qiskit.circuit.library.WeightedAdder(num_state_qubits=None, weights=None, name='adder')
Basi: BlueprintCircuit
Un circuito per calcolare la somma ponderata di registri di qubit.
Dati stati base dei qubit e pesi interi non negativi , questo circuito esegue l'operazione
dove è il numero di qubit somma richiesti. Si può calcolare come
o se la somma dei pesi è 0 (allora l'espressione del logaritmo non è valida).
Per i qubit in uno schema circuitale, il primo peso si applica al qubit più in alto. Per un esempio in cui lo stato di 4 qubit viene sommato in un registro di somma, il circuito può essere schematizzato come segue
┌────────┐
state_0: ┤0 ├ | state_0 * weights[0]
│ │ |
state_1: ┤1 ├ | + state_1 * weights[1]
│ │ |
state_2: ┤2 ├ | + state_2 * weights[2]
│ │ |
state_3: ┤3 ├ | + state_3 * weights[3]
│ │
sum_0: ┤4 ├ |
│ Adder │ |
sum_1: ┤5 ├ | = sum_0 * 2^0 + sum_1 * 2^1 + sum_2 * 2^2
│ │ |
sum_2: ┤6 ├ |
│ │
carry_0: ┤7 ├
│ │
carry_1: ┤8 ├
│ │
control_0: ┤9 ├
└────────┘Parametri
- num_state_qubits (int | None) – Il numero di qubit di stato.
- weights (list[int] | None) – Elenco dei pesi, uno per ogni qubit di stato. Se non vengono specificati, il valore predefinito è 1 per ogni qubit.
- name (str) – Il nome del circuito.
Attributi
num_carry_qubits
Il numero di qubit di riporto necessari per calcolare la somma.
Si noti che questo non è necessariamente uguale al numero di qubit ancilla, che possono essere interrogati utilizzando num_ancilla_qubits.
Risultati
Il numero di qubit di riporto necessari per calcolare la somma.
num_control_qubits
Il numero di qubit di controllo aggiuntivi richiesti.
Si noti che il numero totale di qubit ancilla può essere ottenuto richiamando il metodo num_ancilla_qubits.
Risultati
Il numero di qubit di controllo aggiuntivi richiesti (0 o 1).
num_state_qubits
Il numero di qubit da sommare.
Risultati
Il numero di qubit di stato.
num_sum_qubits
Il numero di qubit somma nel circuito.
Risultati
Il numero di qubit necessari per rappresentare la somma ponderata dei qubit.
weights
I pesi per gli stati dei qubit.
Risultati
Il peso per gli stati dei qubit.
name
Tipo: str
Un nome leggibile per il circuito.
Esempio
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit