Algorithm 958

Pierre L'ecuyer, David Munger
2016 ACM Transactions on Mathematical Software  
We introduce a new software tool and library named Lattice Builder, written in C++, that implements a variety of construction algorithms for good rank-1 lattice rules. It supports exhaustive and random searches, as well as component-by-component (CBC) and random CBC constructions, for any number of points, and for various measures of (non)uniformity of the points. The measures currently implemented are all shiftinvariant and represent the worst-case integration error for certain classes of
more » ... rands. They include for example the weighted Pα square discrepancy, the Rα criterion, and figures of merit based on the spectral test, with projection-dependent weights. Each of these measures can be computed as a finite sum. For the Pα and Rα criteria, efficient specializations of the CBC algorithm are provided for projection-dependent, order-dependent and product weights. For numbers of points that are integer powers of a prime base, the construction of embedded rank-1 lattice rules is supported through any of the above algorithms, and also through a fast CBC algorithm, with a variety of possibilities for the normalization of the merit values of individual embedded levels and for their combination into a single merit value. The library is extensible, thanks to the decomposition of the algorithms into decoupled components, which makes it easy to implement new types of weights, new search domains, new figures of merit, etc. ACM Reference Format: L'Ecuyer, P., and Munger, D. 2012. A general software tool for constructing rank-1 lattice rules. ACM Trans.
doi:10.1145/2754929 fatcat:fk2ewft2anczzbylz2t7nsuhxi