Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 2.91 KB

generate-distribution.md

File metadata and controls

44 lines (33 loc) · 2.91 KB

The generate_distribution executable

Synopsis

Synopsis: mpirun generate_distribution \
   [ -det | -rnd | -exp <d> <r> ] [ -dim-heuristic | -dim <dimension> ] \
      [ -approx-quick | [ -sigma-heuristic | -sigma-optimal ] ] \
         ( [ -s ] <m> <s> { <m> <s> } | -l <m> <l> { <m> <l> } )

Computes the distribution induced by Ekerå's algorithm for general discrete logarithms and orders with tradeoffs.

The distribution generated will be assigned an appropriate name and written to the distributions directory. If this directory does not exist, it will be created. If the distribution already exists, an error will be reported. Information for the distribution will be stored along with the distribution, as will collapsed marginal distributions and, if applicable, filtered distributions.

Note: This is an MPI program. The node with rank zero acts as server. All other nodes are clients, requesting jobs from and reporting back to the server node. A minimum of two nodes is hence required.

Mandatory command line arguments

Tuples <m> <s> where

  • <m> is the bit length $m$ of the order $r$
  • <s> is the tradeoff factor $s$; used to set $\ell = \lceil m / s \rceil$

or, if the -l flag is specified, tuples <m> <l> where

  • <m> is as above
  • <l> is the parameter $\ell$

Optional command line arguments

Flags specifying the values of $d$ and $r$ (defaults to -det):

  • -det selects $d$ and $r$ on $(2^{m-1}, 2^m)$ deterministically by reading from Catalan's constant
  • -rnd selects $r$ uniformly at random from $(2^{m-1}, 2^m)$ and $d$ uniformly at random from $[r/2, r)$
  • -exp <d> <r> explicitly sets $d$ and $r$ to <d> and <r> where $0 &lt; d &lt; r$ and $2^{m-1} &lt; r &lt; 2^m$

Flags specifying the approximation method (defaults to -approx-with-error-bound):

  • -approx-with-error-bound uses the error-bounded approximation in the paper on computing general discrete logarithms and orders with tradeoffs
  • -approx-quick uses the quick and dirty approximation in the introduction to the paper on computing general discrete logarithms and orders with tradeoffs

Flags specifying the selection method for $\sigma$ (defaults to -sigma-heuristic):

  • -sigma-heuristic adaptively selects $\sigma$ according to a heuristic
  • -sigma-optimal adaptively exhaust $\sigma$ and picks the optimal value

Flags specifying the dimension (defaults to -dim-heuristic):

  • -dim-heuristic adaptively sets the dimension according to a heuristic

  • -dim <dimension> sets the dimension to <dimension>

    The dimension specifies the resolution of the histogram. Must be a power of two.