Measurement Constructors#
This section gives a highlevel overview of the measurements that are available in the library. Refer to the Measurement section for an explanation of what a measurement is.
As covered in the Chaining section, the intermediate domains and metrics need to match when chaining. This means you will need to choose a measurement that chains with your aggregator.
In the following table, the scalarvalued and vectorvalued versions of each measurement are listed separately.
You can choose whether to construct scalar or vectorvalued versions by setting the D
type argument when calling the constructor.
 Scalar:
D=AllDomain[T]
(default) Vector:
D=VectorDomain[AllDomain[T]]
Measurement 
Input Domain 
Output Metric 
Output Measure 












































FloatingPoint#
Given the context of measurements, this section goes into greater detail than Limitations on floatingpoint issues.
Be warned that opendp.meas.make_base_laplace()
, opendp.meas.make_base_gaussian()
and opendp.meas.make_base_ptr()
depend on continuous distributions that are poorly approximated by finite computers.
At this time these mechanisms are present in the library, but require explicit optin:
>>> from opendp.mod import enable_features
>>> enable_features("floatingpoint")
The canonical paper on this and introduction of the snapping mechanism is here: On Significance of the Least Significant Bits For Differential Privacy.
Precautions have been made to sample noise using the GNU MPFR library in a way that provides cryptographically secure, nonporous noise at standard scale. Noise at arbitrary scale is achieved through a combination of preprocessing and postprocessing that preserves the properties of differential privacy.
Precautions have also been made to explicitly specify floatingpoint rounding modes in such a way that the privacy budget is always slightly overestimated.
We acknowledge the snapping mechanism and have an implementation of it in PR #84.
We are also working towards adding support for fixedpoint data types in PR #184.