SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
Package umontreal.ssj.latnetbuilder.weights

This package implements weights that can be used in the search of good quasi-Monte Carlo Point sets with search tools such as LatNet Builder. More...

Classes

class  GeometricWeights
 Class implementing a special case of OrderDependentWeights, \(\Gamma_{k} = c \rho^{k-1} \) , where each weight is given by a baseWeight \(\rho\) raised to \(k-1\), i.e., the power of the order of the projection it is assigned to - 1. More...
class  OrderDependentWeights
 Class implementing order dependent weights. More...
class  PODWeights
 This class implements so-called product- and order dependent weights (POD weights). More...
class  ProductWeights
 Class implementing product weights. More...
class  ProjectionDependentWeights
 Class implementing projection dependent weights. More...
class  SingletonWeight
 Implements a single instance of a weight for search-algorithms for quasi-Monte Carlo point sets as, e.g., those implemented in LatNet Builder. More...
class  SingletonWeightComparable
 Implements single instances of weights. More...
class  Weights
 This abstract class implements generic weights that can be used to search for good quasi-Monte Carlo point sets such as Rank1Lattice, DigitalNet, etc. More...
class  WeightsComparable
 Implements comparable Weights. More...

Detailed Description

This package implements weights that can be used in the search of good quasi-Monte Carlo Point sets with search tools such as LatNet Builder.

Typically, weights serve to assign to certain features of a Point set, such as for instance all projections of the points onto three coordinates, an importance in the form of a real number. Said feature will be called the index in what follows. For more information on this topic see, e.g., [48][49] .

The class SingletonWeight forms the basic building block for any type of weight and consists of a index, which is implemented as an arbitrary template datatype, and a value for the weight. SingletonWeightComparable differs only in that the index has to have a datatype that has an ordering. For instance, Integer can be used for the index to address the index of a coordinate.

These basic basic building blocks are collected in Weights or WeightsComparable, depending on whether the index is comparable or not. These are the structures point search algorithms such as LatNet Builder are working with. These two abstract classes enable the handling of the weights, such as adding new singleton weights and setting default weight values.

In practice, when searching for \(s\)-dimensional point sets, it is common to use subsets of coordinate indices \(\mathfrak{u}\subseteq\{1,2,\dots,s\}\) to define the features of the weights. Usually, the sets \(\mathfrak u\) are used to identify the projections of the point set to the coordinates in \(\mathfrak u\). Such weights are called projection dependent weights. They are implemented in ProjectionDependentWeights and, for a given set of coordinate indices \(\mathfrak u\) they are denoted by \(\gamma_{\mathfrak u}\).

Determining good values for the weights can be a very complicated and computationally expensive task. Hence, one often attempts to reduce the number of weights that need to be computed. There are several ways to do so and this package implements the most common ones. See also [123] , for instance.

OrderDependentWeights assigns one weight to all \(\mathfrak u\) of the same size, i.e. \(\gamma_{\mathfrak u}=\Gamma_{|\mathfrak u|}\). One special instance of this type of weights are the GeometricWeights, which are of the form \(\Gamma_{\mathfrak u} = c\rho^{|\mathfrak u|-1}\). Another possibility is to assign a weight \(\gamma_j\) to coordinate \(j\). These weights are called ProductWeights and are defined as \(\gamma_{\mathfrak u} = \prod_{j\in\mathfrak u}\gamma_j\). Note that all these weight types can be indexed by integers.

Finally, it is also possible to combine order dependent weights with product weights to form so-called product and order dependent weights PODWeights, \(\gamma_{\mathfrak u} = \Gamma_{|\mathfrak u|}\prod_{j\in\mathfrak u}\gamma_j\).