modules.applications.qml.qleet.analyzers.expressibility.Expressibility
- class Expressibility(circuit: CircuitDescriptor, noise_model: NoiseModel | None = None, samples: int = 1000)
Bases:
MetaExplorerCalculates expressibility of a parameterized quantum circuit
- __init__(circuit: CircuitDescriptor, noise_model: NoiseModel | None = None, samples: int = 1000)
Constructor the the Expressibility analyzer
- Parameters:
circuit -- input circuit as a CircuitDescriptor object
noise_model -- (dict, NoiseModel) initialization noise-model dictionary
samples -- number of samples for the experiment
- Raises:
ValueError -- If circuit and noise model does not correspond to same framework
Methods
__init__(circuit[, noise_model, samples])Constructor the the Expressibility analyzer
compare_expressibility(circuit[, measure, shots])Compares expressibility against the provided circuit
expressibility([measure, shots])Returns expressibility for the circuit
Generate parameters for the calculation of expressibility
kl_divergence(prob_a, prob_b)Returns KL divergence between two probabilities
plot([figsize, dpi])Returns plot for expressibility visualization
Returns probability density function of fidelities for Haar Random States
prob_pqc([shots])Return probability density function of fidelities for PQC
- compare_expressibility(circuit: CircuitDescriptor | List[CircuitDescriptor], measure: str = 'kld', shots: int = 1024) List[float]
Compares expressibility against the provided circuit

- Parameters:
measure -- specification for the measure used in the expressibility calculation
shots -- number of shots for circuit execution
- Returns pqc_expressibility:
float, expressibility value
- Raises:
ValueError -- if invalid measure is specified
- expressibility(measure: str = 'kld', shots: int = 1024) float
Returns expressibility for the circuit

- Parameters:
measure -- specification for the measure used in the expressibility calculation
shots -- number of shots for circuit execution
- Returns pqc_expressibility:
float, expressibility value
- Raises:
ValueError -- if invalid measure is specified
- gen_params() Tuple[List, List]
Generate parameters for the calculation of expressibility
- Returns theta (np.array):
first list of parameters for the parameterized quantum circuit
- Returns phi (np.array):
second list of parameters for the parameterized quantum circuit
- static kl_divergence(prob_a: ndarray, prob_b: ndarray) float
Returns KL divergence between two probabilities
- plot(figsize=(6, 4), dpi=300, **kwargs)
Returns plot for expressibility visualization
- prob_haar() ndarray
Returns probability density function of fidelities for Haar Random States
- prob_pqc(shots: int = 1024) ndarray
Return probability density function of fidelities for PQC
- Parameters:
shots -- number of shots for circuit execution
- Returns fidelities (np.array):
np.array of fidelities