qilisdk.functionals.digital_propagation
Classes
Propagate a quantum state through a digital circuit. |
Module Contents
- class DigitalPropagation(circuit: qilisdk.digital.circuit.Circuit, initial_state: qilisdk.core.qtensor.QTensor | qilisdk.core.qtensor.InitialState = InitialState.ZERO)[font]
Bases:
qilisdk.functionals.functional.PrimitiveFunctionalPropagate a quantum state through a digital circuit.
The circuit is executed and results are returned based on the
Readoutpassed toexecute().Nota
initial_stateis only used by simulator backends. When the functional is executed on hardware, the initial state is ignored and the circuit is propagated from the zero state.Exemple
from qilisdk.digital.circuit import Circuit from qilisdk.functionals import DigitalPropagation from qilisdk.readout import Readout circuit = Circuit(nqubits=2) circuit.h(0) functional = DigitalPropagation(circuit) result = backend.execute(functional, readout=Readout().with_sampling(nshots=1024)) counts = result.samples # dict[str, int]- Paràmetres:
circuit (
Circuit) – Circuit to propagate.initial_state (
QTensor | InitialState) – Quantum state used as the simulation starting point. Ignored when the functional is executed on hardware.
- result_type: ClassVar[type[qilisdk.functionals.functional_result.FunctionalResult]][font]
Concrete
FunctionalResultsubclass returned.
- initial_state[font]
- circuit[font]
- set_parameter_values(values: list[float], where: Callable[[qilisdk.core.Parameter], bool] | None = None) None[font]
Assign parameter values by position and clear caches.
- Paràmetres:
values (
list[float]) – New values ordered consistently withget_parameter_names().where (
Callable[[Parameter],bool] | None) – Optional predicate selecting parameters to update.
- set_parameters(parameters: dict[str, int | float]) None[font]
Assign parameter values by name and clear caches.
- Paràmetres:
parameters (
dict[str,int | float]) – Mapping from parameter labels to numeric values.
- set_parameter_bounds(ranges: dict[str, tuple[float, float]]) None[font]
Update parameter bounds and clear caches.
- Paràmetres:
ranges (
dict[str,tuple[float,float]]) – Bounds keyed by parameter label.