qilisdk.functionals.digital_propagation
Classes
Propagate a quantum state through a digital circuit. |
Module Contents
- class DigitalPropagation(circuit: qilisdk.digital.circuit.Circuit)[source]
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().Example
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]- Parameters:
circuit (
Circuit) – Circuit to propagate.
- result_type: ClassVar[type[qilisdk.functionals.functional_result.FunctionalResult]][source]
Concrete
FunctionalResultsubclass returned.
- circuit[source]
- set_parameter_values(values: list[float], where: Callable[[qilisdk.core.Parameter], bool] | None = None) None[source]
Assign parameter values by position and clear caches.
- Parameters:
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[source]
Assign parameter values by name and clear caches.
- Parameters:
parameters (
dict[str,int | float]) – Mapping from parameter labels to numeric values.
- set_parameter_bounds(ranges: dict[str, tuple[float, float]]) None[source]
Update parameter bounds and clear caches.
- Parameters:
ranges (
dict[str,tuple[float,float]]) – Bounds keyed by parameter label.