<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_halton_samples(order, dim=1, burnin=-1, primes=()):
 """ Create Halton sequence. For ``dim == 1`` the sequence falls back to Van Der Corput sequence. Args: order (int):
 The order of the Halton sequence. Defines the number of samples. dim (int):
 The number of dimensions in the Halton sequence. burnin (int):
 Skip the first ``burnin`` samples. If negative, the maximum of ``primes`` is used. primes (tuple):
 The (non-)prime base to calculate values along each axis. If empty, growing prime values starting from 2 will be used. Returns (numpy.ndarray):
 Halton sequence with ``shape == (dim, order)``. """

    primes = list(primes)
    if not primes:
        prime_order = 10*dim
        while len(primes) < dim:
            primes = create_primes(prime_order)
            prime_order *= 2
    primes = primes[:dim]
    assert len(primes) == dim, "not enough primes"

    if burnin < 0:
        burnin = max(primes)

    out = numpy.empty((dim, order))
    indices = [idx+burnin for idx in range(order)]
    for dim_ in range(dim):
        out[dim_] = create_van_der_corput_samples(
            indices, number_base=primes[dim_])
    return out