Hamiltonians

[1]:
from qilisdk.analog import Hamiltonian, X, Z

# Build a Hamiltonian expression using Pauli operators
H_expr = (Z(0) + X(0)) * (Z(0) - X(0))
print("Hamiltonian Expression:", H_expr)

# Iterate over Hamiltonian terms
for coeff, ops in H_expr:
    print("Coefficient:", coeff, "Operators:", ops)

# Parse a Hamiltonian from its string representation
parsed_H = Hamiltonian.parse("-2j Y(0)")
print(H_expr == parsed_H)
Hamiltonian Expression: -2j Y(0)
Coefficient: -2j Operators: [Y(0)]
True
[2]:
H = Z(0) + 2 * X(1) * Z(1) + 3 * Z(1) + 2 * Z(0)

print(H)
for coeff, op in H:
    print(coeff, op)
3 Z(0) - 2j Y(1) + 3 Z(1)
(3+0j) [Z(0)]
-2j [Y(1)]
(3+0j) [Z(1)]