Exemple #1
0
def test_copy():
    term = PauliTerm('X', 0, 0.5) * PauliTerm('X', 1, 0.5)
    new_term = term.copy()

    term = term * PauliTerm('X', 2, 0.5)
    new_term = new_term * PauliTerm('X', 2, 0.5)

    assert term == new_term  # value equality
    assert term is not new_term  # ref inequality
    assert term._ops is not new_term._ops

    term = PauliTerm('X', 0, 0.5) * PauliTerm('X', 1, 0.5)
    new_term = term * PauliTerm('X', 2, 0.5)
    assert term != new_term
    assert term is not new_term
    assert term._ops is not new_term._ops
def test_copy():
    q0, q1 = QubitPlaceholder.register(2)
    term = PauliTerm('X', q0, 0.5) * PauliTerm('X', q1, 0.5)
    new_term = term.copy()

    q2 = QubitPlaceholder()
    term = term * PauliTerm('X', q2, 0.5)
    new_term = new_term * PauliTerm('X', q2, 0.5)

    assert term == new_term  # value equality
    assert term is not new_term  # ref inequality
    assert term._ops is not new_term._ops

    term = PauliTerm('X', q0, 0.5) * PauliTerm('X', q1, 0.5)
    new_term = term * PauliTerm('X', q2, 0.5)
    assert term != new_term
    assert term is not new_term
    assert term._ops is not new_term._ops