Hamiltonian¶
A HamiltonianProblem asks for the spectrum of a
Hermitian operator.
Usage¶
from microquantum import HamiltonianProblem, Operator
problem = HamiltonianProblem(Operator.Z(), name="z-spectrum")
print(problem.hamiltonian) # Operator.Z()
print(problem.validate()) # []
data = problem.to_dict() # labeled Pauli / matrix encoding
print(data["type"]) # "Hamiltonian"
restored = HamiltonianProblem(
hamiltonian=Operator.from_dict(data["hamiltonian"]),
name=data["name"],
)
Hamiltonians¶
The Hamiltonian may be:
a full
Operatormatrix,a
PauliSum(efficient, matrix-free), orbuilt from chemistry tooling —
MolecularHamiltonian,H2Hamiltonian,LiHHamiltonian.
Serialization¶
Hamiltonian-backed problems serialize through hamiltonian_to_dict into
labeled Pauli terms with complex coefficients (or an explicit matrix), so a
HamiltonianProblem stays storable and shareable.
Solving¶
EigenvalueProblem (the subclass that also asks for the
lowest k eigenvalues) is the form consumed by VQE.