LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
Point set types

Switching between point set types

LatNet Builder can handle two main point set types:

The switch between these two types of points can be operated using the option –set-type which can take the following values:

  • –set-type lattice to search for lattice rules; or
  • –set-type net to search for digital nets.

Lattice rules

Types of lattice rules

Two types of lattice rules are supported by LatNet Builder:

The switch between these two types of lattices can be operated using the option –construction which can take the following values:

  • –construction ordinary to search for ordinary lattice rules; or
  • –construction polynomial to search for polynomial lattice rules.

Size of lattice rules

The option –size-parameter can be used to specify the size (number of points) of a lattice rule.

Recall that for ordinary lattice rules, the modulus is exactly the number of points. In this case, we directly specify the modulus. For instance, to specify an ordinary lattice rule with 6977 points, use –size-parameter 6977. It is also possible to specify the number of points as a power of a base. For instance –size-parameter 3^10 is also a valid expression.

For polynomial lattice rules, the number of points equals two to the power of the degree of its modulus. The number of points will thus always be a power of two. In the case of unilevel point sets, one can specify the number of points of the polynomial lattice rule to equal \(2^k\) with –size-parameter 2^k. In this case, a predefined polynomial with degree \(k\) will be chosen as modulus for the lattice. All the predefined polynomials are irreducible so that they can be used with the fast-CBC exploration method. These polynomials are from Arash Partow .

Otherwise, one can also specify a custom polynomial modulus. The number of points will be two to the power of its degree. Polynomials are specified as a sequence of coefficients (ordered by increasing degree). For instance \( 1 + z^2 + z^5 \) can be specified by 101001. Additionally, one can raise the polynomial to an integer power. For instance –size-parameter 01^8 tells LatNet Builder that the modulus of the polynomial lattice is \(z^8\). Note that it is always necessary to specify a custom modulus (as a power of a base modulus) when one constructs an embedded polynomial lattice rule.

How to construct a specific lattice rule

To construct a specific lattice rule, for instance to evaluate its merit value or to extend it, one must specify its generating vector. LatNet Builder uses the following convention: a generating vector is described by a dash-separated list of integers or polynomials, depending on whether the lattice is ordinary or polynomial.

  • An ordinary generating vector is a dash-separated list of integers.
  • A polynomial generating vector is a dash-separated list of polynomials (specified as explained above).

In the Command-Line Tutorial, any occurrence of genVec or point-set-description with –set-type lattice can be replaced by such a list. For instance to specify an ordinary lattice with generating vector \((1, 2, 3, 5, 7, 11)\), replace genVec with 1-2-3-5-7-11.

Digital nets

Digital net constructions

Three constructions of digital nets are supported by LatNet Builder:

The switch between these three constructions can be operated using the option –construction which can take the following values:

  • –construction sobol to search for Sobol' nets;
  • –construction polynomial to search for polynomial lattice rules; or
  • –construction explicit to search for with digital nets with explicit generating matrices.

Size of digital nets

Recall that the number of points of a digital net in base 2 is always a power of two. The option –size-parameter can be used to specify the number of points of the digital net. For instance, to specify a net with \(2^8\) points, use –size-parameter 2^8. For polynomial lattice rules, a default (irreducible) modulus corresponding to this number of points will be chosen; to choose a specific modulus, one can use –size-parameter as they would specify a modulus for a polynomial lattice rule.

How to construct a specific net

Constructing a specific digital net depends on its construction method. In the Command-Line Tutorial, any occurence of point-set-description or net-description can be replaced as follows:

  • for Sobol' nets:
    a list of direction numbers. Direction numbers are specified as a dash-separated list of comma-separated lists of integers. Each comma-separated list correspond to a coordinate. Details on direction numbers, including the number of direction numbers required for each coordinate, can be find here. For instance 0-1-1,1 stands for the Sobol' net in dimension 3 with direction numbers \(((0), (1), (1,1))\). Note that a dummy direction number equal to zero must be specified for the first coordinate.
  • for polynomial lattice rules:
    a (polynomial) generating vector.
  • for explicit digital nets:
    a dash-separated list of comma-separated lists of rows. Each comma-separated list correspond to a generating matrix. The rows are specified as a binary sequence without separators. For instance, 001,010,111-110,001,111-100,110,001 stands for the following generating matrices :

    \[ \begin{pmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 1 \end{pmatrix}, \begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 1 & 1 \end{pmatrix}, \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}. \]