SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
umontreal.ssj.discrepancy.Palpha Class Reference

Extends the class Discrepancy and implements the methods required to compute the \(P_{\alpha}\) figure of merit for a lattice point set. More...

Inheritance diagram for umontreal.ssj.discrepancy.Palpha:
umontreal.ssj.discrepancy.Discrepancy

Public Member Functions

 Palpha (double[][] points, int n, int s, double[] beta, int alpha)
 Constructor with \(n\) points in \(s\) dimensions and with alpha \(= \alpha\).
 Palpha (double[][] points, int n, int s, int alpha)
 Constructor with all \(\beta_j = 1\) (see eq.
 Palpha (int n, int s, double[] beta, int alpha)
 Constructor with \(n\) points in \(s\) dimensions and with alpha \(= \alpha\).
 Palpha (int alpha)
 Constructor with parameter alpha \(= \alpha\).
 Palpha (Rank1Lattice set, double[] beta, int alpha)
 Constructor with the lattice set with weights beta[j] \(=\beta_j\) and parameter alpha \(= \alpha\).
double compute (double[][] points, int n, int s)
 Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points.
double compute (double[][] points, int n, int s, double[] beta)
 Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points, with weights \(\beta_j=\) beta[j].
double compute (double[][] points, int n, int s, int alpha)
 Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points, with all weights \(\beta_j=1\) and.
double compute (double[][] points, int n, int s, double[] beta, int alpha)
 Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points, with weights \(\beta_j=\) beta[j] and with \(\alpha=\) alpha.
String toString ()
 Returns the parameters of this class.
void setBeta (double[] beta)
 Sets the values of \(\beta_j = \mathtt{beta[j]}, j = 0, …, s\), where \(s\) is the dimension of the points.
Public Member Functions inherited from umontreal.ssj.discrepancy.Discrepancy
 Discrepancy (double[][] points, int n, int s)
 Constructor with the \(n\) points points[i] in \(s\) dimensions.
 Discrepancy (double[][] points, int n, int s, double[] gamma)
 Constructor with the \(n\) points points[i] in \(s\) dimensions and the \(s\) weight factors gamma[ \(j\)], \(j = 0, 1, …, (s-1)\).
 Discrepancy (int n, int s, double[] gamma)
 The number of points is \(n\), the dimension \(s\), and the.
 Discrepancy (PointSet set)
 Constructor with the point set set.
 Discrepancy ()
 Empty constructor.
double compute ()
 Computes the discrepancy of all the points in maximal dimension (dimension of the points).
double compute (int s)
 Computes the discrepancy of all the points in dimension \(s\).
double compute (double[][] points)
 Computes the discrepancy of all the points of points in maximum dimension.
double compute (double[] T, int n)
 Computes the discrepancy of the first n points of T in 1 dimension.
double compute (double[] T)
 Computes the discrepancy of all the points of T in 1 dimension.
double compute (double[] T, int n, double gamma)
 Computes the discrepancy of the first n points of T in 1 dimension with weight gamma.
double compute (PointSet set, double[] gamma)
 Computes the discrepancy of all the points in set in the same dimension as the point set and with weights gamma.
double compute (PointSet set)
 Computes the discrepancy of all the points in set in the same dimension as the point set.
int getNumPoints ()
 Returns the number of points \(n\).
int getDimension ()
 Returns the dimension of the points \(s\).
void setPoints (double[][] points, int n, int s)
 Sets the points to points and the dimension to \(s\).
void setPoints (double[][] points)
 Sets the points to points.
void setGamma (double[] gam, int s)
 Sets the weight factors to gam for each dimension up to \(s\).
double[] getGamma ()
 Returns the weight factors gamma for each dimension up to \(s\).
String formatPoints ()
 Returns all the points of this class.
String getName ()
 Returns the name of the Discrepancy.

Additional Inherited Members

Static Public Member Functions inherited from umontreal.ssj.discrepancy.Discrepancy
static double[][] toArray (PointSet set)
 Returns all the \(n\) points ( \(s\)-dimensional) of.
static DoubleArrayList sort (double[] T, int n)
 Sorts the first \(n\) points of \(T\).

Detailed Description

Extends the class Discrepancy and implements the methods required to compute the \(P_{\alpha}\) figure of merit for a lattice point set.

\(\Psi_s\) which is the intersection of a lattice \(L\) and the unit hypercube \([0, 1)^s\) in \(s\) dimensions. \(\Psi_s\) contains \(n\) points. For an arbitrary integer \(\alpha> 1\), it is defined as [211], [79], [77]

\[ P_{\alpha}(s) = \sum_{\mathbf{0\neq h}\in L_s^*} \|\mathbf{h}\|^{-\alpha}, \]

where \(L_s^*\) is the lattice dual to \(L_s\), and the norm is defined as \(\|\mathbf{h}\| = \prod^s_{j=1} \max\{1, |h_j|\}\). When \(\alpha\) is even, \(P_{\alpha}\) can be evaluated explicitly as

\[ \qquad P_{\alpha}(s) = -1 + \frac{1}{n}\sum_{i=1}^n \prod_{j=1}^s \left[1 - \frac{(-1)^{\alpha/2}(2\pi)^{\alpha}}{\alpha!} B_{\alpha}(u_{ij})\right], \tag{palpha.1} \]

where \(u_{ij}\) is the \(j\)-th coordinate of point \(i\), and \(B_{\alpha}(x)\) is the Bernoulli polynomial of degree \(\alpha\) (see umontreal.ssj.util.Num.bernoulliPoly in class util/Num).

One may generalize the \(P_{\alpha}\) by introducing a weight for each dimension to give the weighted \(P_{\alpha}\) defined by [79]

\[ P_{\alpha}(s) = \sum_{\mathbf{0\neq h}\in L_s^*}\beta_I^2 \|\mathbf{h}\|^{-\alpha}, \]

where the weights are such that \(\beta_I =\beta_0\prod_{j=1}^s\beta_j^{\alpha}\), and for even \(\alpha\)

\[ \qquad P_{\alpha}(s) = \beta_0 \left\{-1 + \frac{1}{n}\sum_{i=1}^n \prod_{j=1}^s \left[1 - \frac{(-1)^{\alpha/2}(2\pi\beta_j)^{\alpha}}{\alpha!} B_{\alpha}(u_{ij})\right] \right\}. \tag{palpha.2} \]

One recovers the original criterion ( palpha.1 ) for \(P_{\alpha}\) by choosing all \(\beta_j = 1\).

             <div class="SSJ-bigskip"></div><div class=
             "SSJ-bigskip"></div>

Definition at line 71 of file Palpha.java.

Constructor & Destructor Documentation

◆ Palpha() [1/5]

umontreal.ssj.discrepancy.Palpha.Palpha ( double points[][],
int n,
int s,
double[] beta,
int alpha )

Constructor with \(n\) points in \(s\) dimensions and with alpha \(= \alpha\).

points[i][j] is the \(j\)-th coordinate of point \(i\). Both i and j start at 0. The weights beta[j], \(j=0, 1,…, s\) are as in eq. ( palpha.2 ). The points and dimensions in ( palpha.2 ) are

\(u_{ij} = \) points[i-1][j-1], but \(\beta_j = \) beta[j]. Restriction: alpha \( \in\{2, 4, 6, 8\}\).

Definition at line 101 of file Palpha.java.

◆ Palpha() [2/5]

umontreal.ssj.discrepancy.Palpha.Palpha ( double points[][],
int n,
int s,
int alpha )

Constructor with all \(\beta_j = 1\) (see eq.

( palpha.1 )).

Definition at line 110 of file Palpha.java.

◆ Palpha() [3/5]

umontreal.ssj.discrepancy.Palpha.Palpha ( int n,
int s,
double[] beta,
int alpha )

Constructor with \(n\) points in \(s\) dimensions and with alpha \(= \alpha\).

The \(n\) points will be chosen later. The weights beta[j], \(j=0, 1,…, s\) are as in eq. ( palpha.2 ), with \(\beta_j = \) beta[j]. Restriction: alpha \( \in\{2, 4, 6, 8\}\).

Definition at line 122 of file Palpha.java.

◆ Palpha() [4/5]

umontreal.ssj.discrepancy.Palpha.Palpha ( int alpha)

Constructor with parameter alpha \(= \alpha\).

The points and parameters must be defined before calling methods of this class. Restriction: alpha \( \in\{2, 4, 6, 8\}\).

Definition at line 132 of file Palpha.java.

◆ Palpha() [5/5]

umontreal.ssj.discrepancy.Palpha.Palpha ( Rank1Lattice set,
double[] beta,
int alpha )

Constructor with the lattice set with weights beta[j] \(=\beta_j\) and parameter alpha \(= \alpha\).

All the points are copied in an internal array. Restriction: alpha \( \in\{2, 4, 6, 8\}\).

Definition at line 142 of file Palpha.java.

Member Function Documentation

◆ compute() [1/4]

double umontreal.ssj.discrepancy.Palpha.compute ( double points[][],
int n,
int s )

Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points.

All weights \(\beta_j = 1\).

Reimplemented from umontreal.ssj.discrepancy.Discrepancy.

Definition at line 152 of file Palpha.java.

◆ compute() [2/4]

double umontreal.ssj.discrepancy.Palpha.compute ( double points[][],
int n,
int s,
double[] beta )

Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points, with weights \(\beta_j=\) beta[j].

Reimplemented from umontreal.ssj.discrepancy.Discrepancy.

Definition at line 161 of file Palpha.java.

◆ compute() [3/4]

double umontreal.ssj.discrepancy.Palpha.compute ( double points[][],
int n,
int s,
double[] beta,
int alpha )

Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points, with weights \(\beta_j=\) beta[j] and with \(\alpha=\) alpha.

Restriction: alpha \( \in\{2, 4, 6, 8\}\).

Definition at line 182 of file Palpha.java.

◆ compute() [4/4]

double umontreal.ssj.discrepancy.Palpha.compute ( double points[][],
int n,
int s,
int alpha )

Computes the discrepancy ( shift1lat ) for the \(s\)-dimensional points of lattice points, containing \(n\) points, with all weights \(\beta_j=1\) and.

\(\alpha=\) alpha. Restriction: alpha \( \in\{2, 4, 6, 8\}\).

Definition at line 172 of file Palpha.java.

◆ setBeta()

void umontreal.ssj.discrepancy.Palpha.setBeta ( double[] beta)

Sets the values of \(\beta_j = \mathtt{beta[j]}, j = 0, …, s\), where \(s\) is the dimension of the points.

Definition at line 286 of file Palpha.java.

◆ toString()

String umontreal.ssj.discrepancy.Palpha.toString ( )

Returns the parameters of this class.

Reimplemented from umontreal.ssj.discrepancy.Discrepancy.

Definition at line 272 of file Palpha.java.


The documentation for this class was generated from the following file: