Skip to contents

Make a Measurement that adds noise from the Laplace(scale) distribution to the input.

Usage

make_laplace(input_domain, input_metric, scale, k = NULL, .QO = "float")

Arguments

input_domain

Domain of the data type to be privatized.

input_metric

Metric of the data type to be privatized.

scale

Noise scale parameter for the Laplace distribution. scale == standard_deviation / sqrt(2).

k

The noise granularity in terms of 2^k, only valid for domains over floats.

.QO

Data type of the output distance and scale. f32 or f64.

Value

Measurement

Details

Valid inputs for input_domain and input_metric are:

input_domaininput typeinput_metric
atom_domain(T) (default)Tabsolute_distance(T)
vector_domain(atom_domain(T))Vec<T>l1_distance(T)

Internally, all sampling is done using the discrete Laplace distribution.

make_laplace in Rust documentation.

Citations:

Supporting Elements:

  • Input Domain: D

  • Output Type: D::Carrier

  • Input Metric: D::InputMetric

  • Output Measure: MaxDivergence<QO>