Quantum Measurement Properties API
Quantum Measurement Properties
- graphcalc.quantum.measurement_properties.is_povm(measurement: QuantumMeasurement, *, tol: float | None = None) bool[source]
Return whether the measurement is a valid POVM.
- Parameters:
measurement (QuantumMeasurement) – Input measurement.
tol (float | None, default=None) – Numerical tolerance used in positivity and completeness checks. If omitted,
measurement.tolis used.
Notes
A POVM is a family of positive semidefinite effects
(E_a)satisfyingsum_a E_a = I.In this module, the effects are derived from the measurement operators by
E_a = M_a^dagger M_a.
- graphcalc.quantum.measurement_properties.is_projective_measurement(measurement: QuantumMeasurement, *, tol: float | None = None) bool[source]
Return whether the measurement is projective.
- Parameters:
measurement (QuantumMeasurement) – Input measurement.
tol (float | None, default=None) – Numerical tolerance used in matrix comparisons. If omitted,
measurement.tolis used.
Notes
This function uses the standard finite-dimensional criterion that the effects form a family of orthogonal projections:
E_a = E_a^daggerE_a^2 = E_aE_a E_b = 0fora != bsum_a E_a = I
Since effects in
QuantumMeasurementare already of the formM_a^dagger M_a, this test is performed on those effects.
- graphcalc.quantum.measurement_properties.is_rank_one_measurement(measurement: QuantumMeasurement, *, tol: float | None = None) bool[source]
Return whether every nonzero effect has rank one.
- Parameters:
measurement (QuantumMeasurement) – Input measurement.
tol (float | None, default=None) – Numerical tolerance used in rank computation. If omitted,
measurement.tolis used.
Notes
In this module, a rank-one measurement means that each nonzero POVM effect has matrix rank one. Zero effects, if present, are ignored for this test.