def test_sia_bipartitions(): with config.override(CUT_ONE_APPROXIMATION=False): answer = [models.Cut((1,), (2, 3, 4)), models.Cut((2,), (1, 3, 4)), models.Cut((1, 2), (3, 4)), models.Cut((3,), (1, 2, 4)), models.Cut((1, 3), (2, 4)), models.Cut((2, 3), (1, 4)), models.Cut((1, 2, 3), (4,)), models.Cut((4,), (1, 2, 3)), models.Cut((1, 4), (2, 3)), models.Cut((2, 4), (1, 3)), models.Cut((1, 2, 4), (3,)), models.Cut((3, 4), (1, 2)), models.Cut((1, 3, 4), (2,)), models.Cut((2, 3, 4), (1,))] assert sia_bipartitions((1, 2, 3, 4)) == answer with config.override(CUT_ONE_APPROXIMATION=True): answer = [models.Cut((1,), (2, 3, 4)), models.Cut((2,), (1, 3, 4)), models.Cut((3,), (1, 2, 4)), models.Cut((4,), (1, 2, 3)), models.Cut((2, 3, 4), (1,)), models.Cut((1, 3, 4), (2,)), models.Cut((1, 2, 4), (3,)), models.Cut((1, 2, 3), (4,))] assert sia_bipartitions((1, 2, 3, 4)) == answer
def s_noised_ComputeSystemIrreducibility(s_noised): ces = compute.ces(s_noised) cuts = sia_bipartitions(s_noised.node_indices) return ComputeSystemIrreducibility(cuts, s_noised, ces)
def micro_s_ComputeSystemIrreducibility(micro_s): ces = compute.ces(micro_s) cuts = sia_bipartitions(micro_s.node_indices) return ComputeSystemIrreducibility(cuts, micro_s, ces)
def standard_ComputeSystemIrreducibility(s): ces = compute.ces(s) cuts = sia_bipartitions(s.node_indices) return ComputeSystemIrreducibility(cuts, s, ces)