Beispiel #1
0
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
Beispiel #2
0
def s_noised_ComputeSystemIrreducibility(s_noised):
    ces = compute.ces(s_noised)
    cuts = sia_bipartitions(s_noised.node_indices)
    return ComputeSystemIrreducibility(cuts, s_noised, ces)
Beispiel #3
0
def micro_s_ComputeSystemIrreducibility(micro_s):
    ces = compute.ces(micro_s)
    cuts = sia_bipartitions(micro_s.node_indices)
    return ComputeSystemIrreducibility(cuts, micro_s, ces)
Beispiel #4
0
def standard_ComputeSystemIrreducibility(s):
    ces = compute.ces(s)
    cuts = sia_bipartitions(s.node_indices)
    return ComputeSystemIrreducibility(cuts, s, ces)