def METHOD_NAME(self) -> None:
    num_qubit = 3
    dm = DensityMatrix(num_qubit)
    dm.set_Haar_random_state(seed=0)
    order = np.arange(num_qubit)
    np.random.shuffle(order)
    arr = []
    for ind in range(2**num_qubit):
        s = format(ind, "0{}b".format(num_qubit))
        s = np.array(list(s[::-1]))  # type: ignore
        v = np.array(["*"] * num_qubit)
        for ind in range(len(s)):
            v[order[ind]] = s[ind]
        s = ("".join(v))[::-1]
        arr.append(int(s, 2))
    dm_perm = permutate_qubit(dm, order)  # type: ignore
    dm_perm_test = dm.get_matrix()
    dm_perm_test = dm_perm_test[arr, :]
    dm_perm_test = dm_perm_test[:, arr]
    assert np.allclose(
        dm_perm_test, dm_perm.get_matrix()
    ), "check density matrix permutation"
    del dm_perm
    del dm