jax_privacy.matrix_factorization.buffered_toeplitz.iteration_error

jax_privacy.matrix_factorization.buffered_toeplitz.iteration_error(inv_blt, i)[source]

Computes the error on iteration i which is also the max error.

That is, for a Buffered Linear Toeplitz matrix, the max error from iteration 0 through i is achieved on iteration i, so this equivalently computes the max error for i+1 iterations.

Here “error” is the squared error introduced in the n-th iterate (partial sum) assuming unit-variance noise. This generally scales as O(n), and so optimization routines might normalize by an additional factor of n.

This implements https://arxiv.org/pdf/2404.16706 Lemma 5.4.

Parameters:
  • inv_blt (BufferedToeplitz) – The Buffered Linear Toeplitz operator where inv_blt.C() represents C^{-1} in the matrix factorization mechanism.

  • i (Union[Array, ndarray, bool, number]) – The iteration for which to compute error, 0-indexed. To compute the max error for an n iteration mechanism, one should thus pass i = n-1 to this function.

Return type:

Array

Returns:

The squared-error (variance) on iteration iter.