def linear_index_to_chimera(linear_indices, m, n=None, t=None):
    """
    [[i0, j0, u0, k0], [i1, j1, u1, k1], ...] = linear_index_to_chimera(linear_indices, m, n, t)

    Convert linear indices to indices (i, j, u, k) into the Chimera adjacency
    matrix. m, n, t give the size of the Chimera graph. The lattice is m x n
    and each bipartite component is K_{t, t}. i, j, u, k may be column
    vectors of a common length and we return the linear index for each
    element. i, j label the lattice location with 0 <= i <= m - 1 and 0 <= j <= n - 1,
    0 <= u <= 1 labels the partition, and 0 <= k <= t - 1 the vertex within a
    partition. See chimera_to_linear_index for the inverse function.

    Args:
        linear_indices: a list or tuple of linear indices
        m: m for Chimera graph
        n: n for Chimera graph
        t: t for Chimera graph

    Returns:
        A list of list, each list contained has four elements representing
        i, j, u, k

    Raises:
        ValueError: bad parameter value
    """
    if n is None:
        n = m
    if t is None:
        t = 4

    hd = 2 * t
    vd = n * hd
    chimera_indices = []
    for ti in linear_indices:
        r, ti = divmod(ti, vd)
        c, ti = divmod(ti, hd)
        u, k = divmod(ti, t)
        chimera_indices.append([r, c, u, k])
    return chimera_indices