<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_latin_hypercube_samples(order, dim=1):
 """ Latin Hypercube sampling. Args: order (int):
 The order of the latin hyper-cube. Defines the number of samples. dim (int):
 The number of dimensions in the latin hyper-cube. Returns (numpy.ndarray):
 Latin hyper-cube with ``shape == (dim, order)``. """

    randoms = numpy.random.random(order*dim).reshape((dim, order))
    for dim_ in range(dim):
        perm = numpy.random.permutation(order)  # pylint: disable=no-member
        randoms[dim_] = (perm + randoms[dim_])/order
    return randoms