Esempio n. 1
0
def test_SDM_add():
    A = SDM({0: {1: ZZ(1)}, 1: {0: ZZ(2), 1: ZZ(3)}}, (2, 2), ZZ)
    B = SDM({0: {0: ZZ(1)}, 1: {0: ZZ(-2), 1: ZZ(3)}}, (2, 2), ZZ)
    C = SDM({0: {0: ZZ(1), 1: ZZ(1)}, 1: {1: ZZ(6)}}, (2, 2), ZZ)
    assert A.add(B) == C

    A = SDM({0: {1: ZZ(1)}}, (2, 2), ZZ)
    B = SDM({0: {0: ZZ(1)}, 1: {0: ZZ(-2), 1: ZZ(3)}}, (2, 2), ZZ)
    C = SDM({0: {0: ZZ(1), 1: ZZ(1)}, 1: {0: ZZ(-2), 1: ZZ(3)}}, (2, 2), ZZ)
    assert A.add(B) == C
    assert B.add(A) == C
Esempio n. 2
0
def test_SDM_add():
    A = SDM({0: {1: ZZ(1)}, 1: {0: ZZ(2), 1: ZZ(3)}}, (2, 2), ZZ)
    B = SDM({0: {0: ZZ(1)}, 1: {0: ZZ(-2), 1: ZZ(3)}}, (2, 2), ZZ)
    C = SDM({0: {0: ZZ(1), 1: ZZ(1)}, 1: {1: ZZ(6)}}, (2, 2), ZZ)
    assert A.add(B) == B.add(A) == A + B == B + A == C

    A = SDM({0: {1: ZZ(1)}}, (2, 2), ZZ)
    B = SDM({0: {0: ZZ(1)}, 1: {0: ZZ(-2), 1: ZZ(3)}}, (2, 2), ZZ)
    C = SDM({0: {0: ZZ(1), 1: ZZ(1)}, 1: {0: ZZ(-2), 1: ZZ(3)}}, (2, 2), ZZ)
    assert A.add(B) == B.add(A) == A + B == B + A == C

    raises(TypeError, lambda: A + [])