<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def minimum_image(coords, pbc):
 """ Wraps a vector collection of atom positions into the central periodic image or primary simulation cell. Parameters pos : :class:`numpy.ndarray`, (Nx3) Vector collection of atom positions. Returns ------- wrap : :class:`numpy.ndarray`, (Nx3) Returns atomic positions wrapped into the primary simulation cell, or periodic image. """

    # This will do the broadcasting
    coords = np.array(coords)
    pbc = np.array(pbc)

    # For each coordinate this number represents which box we are in
    image_number = np.floor(coords / pbc)

    wrap = coords - pbc * image_number
    return wrap