Hamiltonià
La classe Hamiltonian representa un Hamiltonià simbòlic com una suma d’operadors de Pauli ponderats. Podeu crear Hamiltonians fent servir els operadors de Pauli integrats i combinar-los amb operacions aritmètiques estàndard.
Construcció
To constuct a Hamiltonian with a single Pauli, you can use the constructors X(i), Y(i), Z(i), I(i).
From these single-qubit operators, you can build multi-qubit Hamiltonians using arithmetic operations.
The operations follow Python syntax, for example: 2 * Z(0) + Z(1) and Z(0) * Z(1) build multi-qubit Hamiltonian.
Llista d’operacions
Operacions aritmètiques:
Suma:
H1 + H2Multiplicació escalar:
5 * HMultiplicació:
H0 * H1Resta:
H1 - H2Divisió per escalar:
H / 5Negació:
-H
Operadors simbòlics addicionals:
commutador:
H1.commutator(H2)anticommutador:
H1.anticommutator(H2)norma_vectorial:
H.vector_norm()norma_frobenius:
H.frobenius_norm()traça:
H.trace()
Exportació de Hamiltonians:
a matriu:
H.to_matrix(nqubits)a qtensor:
H.to_qtensor(nqubits)
Importació de Hamiltonians:
des de qtensor:
Hamiltonian.from_qtensor(qtensor)des de cadena:
Hamiltonian.parse(hamiltonian_string)
Exemple: Hamiltonià d’Ising
Per definir un Hamiltonià d’Ising de la forma:
podeu fer servir els operadors de Pauli Z de la biblioteca:
from qilisdk.analog import Z
nqubits = 3
J = {(0, 1): 1, (0, 2): 2, (1, 2): 4}
h = {0: 1, 1: 2, 2: 3}
coupling = sum(weight * Z(i) * Z(j) for (i, j), weight in J.items())
fields = sum(weight * Z(i) for i, weight in h.items())
H = -(coupling + fields)
print(H)
Sortida:
- Z(0) Z(1) - 2 Z(0) Z(2) - 4 Z(1) Z(2) - Z(0) - 2 Z(1) - 3 Z(2)