qiskit.aqua.algorithms.DeutschJozsa¶
-
class
DeutschJozsa
(oracle, quantum_instance=None)[source]¶ The Deutsch-Jozsa algorithm.
The Deutsch-Jozsa algorithm was one of the first known quantum algorithms that showed an exponential speedup compared to a deterministic (non-probabilistic) classical algorithm, given a black box oracle function. The algorithm determines whether the given function \(f:\{0,1\}^n \rightarrow \{0,1\}\) is constant or balanced. A constant function maps all inputs to 0 or 1, and a balanced function maps half of its inputs to 0 and the other half to 1.
Note: the
TruthTableOracle
facilitates creating a constant or balanced function but any oracle can be used as long as the boolean function implemented by the oracle indeed satisfies the constraint of being either constant or balanced.- Parameters
oracle (
Oracle
) – The oracle componentquantum_instance (
Union
[QuantumInstance
,Backend
,BaseBackend
,None
]) – Quantum Instance or Backend
-
__init__
(oracle, quantum_instance=None)[source]¶ - Parameters
oracle (
Oracle
) – The oracle componentquantum_instance (
Union
[QuantumInstance
,Backend
,BaseBackend
,None
]) – Quantum Instance or Backend
Methods
__init__
(oracle[, quantum_instance])- type oracle
Oracle
construct_circuit
([measurement])Construct the quantum circuit
run
([quantum_instance])Execute the algorithm with selected backend.
set_backend
(backend, **kwargs)Sets backend with configuration.
Attributes
Returns backend.
Returns quantum instance.
Return a numpy random.
-
property
backend
¶ Returns backend.
- Return type
Union
[Backend
,BaseBackend
]
-
construct_circuit
(measurement=False)[source]¶ Construct the quantum circuit
- Parameters
measurement (bool) – Boolean flag to indicate if measurement should be included in the circuit.
- Returns
the QuantumCircuit object for the constructed circuit
- Return type
-
property
quantum_instance
¶ Returns quantum instance.
- Return type
Optional
[QuantumInstance
]
-
property
random
¶ Return a numpy random.
-
run
(quantum_instance=None, **kwargs)¶ Execute the algorithm with selected backend.
- Parameters
quantum_instance (
Union
[QuantumInstance
,Backend
,BaseBackend
,None
]) – the experimental setting.kwargs (dict) – kwargs
- Returns
results of an algorithm.
- Return type
dict
- Raises
AquaError – If a quantum instance or backend has not been provided
-
set_backend
(backend, **kwargs)¶ Sets backend with configuration.
- Return type
None