Extends the class Discrepancy and implements the methods required to compute the \(P_{\alpha}\) figure of merit for a lattice point set. More...
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\). | |
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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.