RandomizedQuasiMonteCarlo.bits2intMethod
bits2int(bit::AbstractMatrix{<:Integer}, b::Integer)

Convert a matrix n×M of "bits" in base b into a vector of integers. Inverse of int2bits

RandomizedQuasiMonteCarlo.linear_matrix_scrambleMethod
nested_uniform_scramble(points::AbstractArray, b::Integer; M=32)

Return a scrambled version of the points. The scrambling method is Linear Matrix Scrambling Scrambling which was introduced in Matousek (1998). M is the number of bits used for each points. One need M ≥ log(base, n).

RandomizedQuasiMonteCarlo.linear_matrix_scrambleMethod
nested_uniform_scramble(points::AbstractArray; M=32)

Return a scrambled version of the points. The scrambling method is Linear Matrix Scrambling Scrambling which was introduced in Matousek (1998). M is the number of bits used for each points. One need M ≥ log(base, n).

RandomizedQuasiMonteCarlo.nested_uniform_scrambleMethod
nested_uniform_scramble(points::AbstractArray; M=32)

Return a scrambled version of the points. The scrambling method is Nested Uniform Scrambling which was introduced in Owen (1995). M is the number of bits used for each points. One need M ≥ log(base, n).

RandomizedQuasiMonteCarlo.nested_uniform_scrambleMethod
nested_uniform_scramble(points::AbstractArray; M=32)

Return a scrambled version of the points. The scrambling method is Nested Uniform Scrambling which was introduced in Owen (1995). M is the number of bits used for each points. One need M ≥ log(base, n).

RandomizedQuasiMonteCarlo.shiftMethod
shift(x::AbstractArray)

Cranley Patterson Rotation i.e. y = (x .+ U) mod 1 where U ∼ 𝕌([0,1]ᵈ) and x is a n×d matrix

RandomizedQuasiMonteCarlo.which_permutationMethod
which_permutation(bits::AbstractArray{<:Integer,3}, b)

This function is used in Nested Uniform Scramble. It assigns for each points (in every dimensions) m number corresponding to its location on the slices 1, 1/b, 1/b², ..., 1/bᵐ⁻¹ of the axes [0,1[. This also can be used to verify some equidistribution prorepreties.