The Order test for testing random number generators.

1 | ```
order.test(u, d = 3, echo = TRUE)
``` |

`u` |
sample of random numbers in ]0,1[. |

`echo` |
logical to plot detailed results, default |

`d` |
a numeric for the dimension, see details. When necessary
we assume that |

We consider a vector `u`

, realisation of i.i.d. uniform random
variables *U1... Un*.

The Order test works on a sequence of d-uplets (*x,y,z* when
`d=3`

) of uniform i.i.d.
random variables. The triplet is build from the vector *u*. The number of
permutation among the components of a triplet is *3!=6*, i.e. *x<y<z*,
*x<z<y*, *y<x<z*, *y<z<x*, *z<x<y* and *z<y<x*. The
Marsaglia test computes the empirical of the different permutations as well
as the theoretical one *n/6* where *n* is the number of triplets.
Finally the chi-squared statistic is

*
S = ∑_{j=1}^6 [n_j - n/6 ]^2/[n/6].
*

a list with the following components :

`statistic`

the value of the chi-squared statistic.

`p.value`

the p-value of the test.

`observed`

the observed counts.

`expected`

the expected counts under the null hypothesis.

`residuals`

the Pearson residuals, (observed - expected) / sqrt(expected).

Christophe Dutang.

Planchet F., Jacquemin J. (2003), *L'utilisation de methodes de
simulation en assurance*. Bulletin Francais d'Actuariat, vol. 6, 11, 3-69. (available online)

L'Ecuyer P. (2001), *Software for uniform random number
generation distinguishing the good and the bad*. Proceedings of the 2001
Winter Simulation Conference. (available online)

L'Ecuyer P. (2007), *Test U01: a C library for empirical testing of
random number generators.* ACM Trans. on Mathematical
Software 33(4), 22.

other tests of this package `freq.test`

, `serial.test`

, `poker.test`

,
`gap.test`

and `coll.test`

`ks.test`

for the Kolmogorov Smirnov test and `acf`

for
the autocorrelation function.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ```
# (1) mersenne twister vs torus
#
order.test(runif(6000))
order.test(torus(6000))
# (2)
#
order.test(runif(4000), 4)
order.test(torus(4000), 4)
# (3)
#
order.test(runif(5000), 5)
order.test(torus(5000), 5)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.