Open 2b7e2412-d835-4200-b08a-fddc54a17084 opened 9 years ago
Author: Martin Albrecht
I've rebased this ticket to the current development branch. Anybody up for reviewing this ticket?
wrong syntax here:
that `trac:19138` is fixed
should be
that :trac:`19138` is fixed
Branch pushed to git repo; I updated commit sha1. New commits:
8de8bed | fix format in docstring |
does not apply
The _call_inlattice() method for DiscreteGaussianLatticeSampler is supposed to be a shortcut for call(), which outputs a sample from the discrete Gaussian distribution $D{\Lambda, c}$, in the case when the vector $c$ is in the lattice. The algorithm being used for sampling is [Gentry, Craig, Chris Peikert, and Vinod Vaikuntanathan. "Trapdoors for hard lattices and new cryptographic constructions." Proceedings of the fortieth annual ACM symposium on Theory of computing. ACM, 2008].
However, this shortcut function seems to be oversimplifying the sampling process. For example, we take a non-standard basis of the standard lattice in dimension 2 and take $c = 0$:
The standard deviation of the two coordinates are visibly different, while they should be the same, since the Gaussian distribution on the standard lattice has spherical symmetry.
I would guess a simple fix is to not use _call_in_lattice() and always use the more general _call().
CC: @malb
Component: statistics
Keywords: discrete gaussian lattice sampler call_in_lattice
Author: Martin Albrecht
Branch/Commit: u/malb/t19138-discrete-gaussian-lattice @
8de8bed
Issue created by migration from https://trac.sagemath.org/ticket/19138